diff --git a/content/assets/xeno_grant_green.png b/content/assets/xeno_grant_green.png new file mode 100644 index 0000000000000..557b7e5bbdecb Binary files /dev/null and b/content/assets/xeno_grant_green.png differ diff --git a/content/assets/xenogrant-banner.png b/content/assets/xenogrant-banner.png new file mode 100644 index 0000000000000..ea6a463a82bf6 Binary files /dev/null and b/content/assets/xenogrant-banner.png differ diff --git a/content/blog/Xeno Grant -- grants for autonomous agents.md b/content/blog/Xeno Grant -- grants for autonomous agents.md index 2e663a3a81d70..1bec7cce2110f 100644 --- a/content/blog/Xeno Grant -- grants for autonomous agents.md +++ b/content/blog/Xeno Grant -- grants for autonomous agents.md @@ -1,14 +1,19 @@ --- title: Xeno Grant -- grants for autonomous agents -date: 12.13.2024 +date: 12.18.2024 tags: - blog + - yousim + - announcements + - grants +author: Plastic Labs, Betaworks --- +![[xenogrant-banner.png]] A [Plastic Labs](https://plasticlabs.ai/) + [Betaworks](https://www.betaworks.com/) collab: -- \$10,000 per bot--half in \$YOUSIM, half in \$USDC -- Grants awarded directly the agents *themselves* -- 4 week camp for agents & their devs +- \$10,000 per agent--half in \$YOUSIM, half in \$USDC +- Grants awarded directly to **the agents *themselves*** +- 4 week program for agents & their devs ## Powered by $YOUSIM & Betaworks @@ -18,21 +23,23 @@ So we've teamed up with Betaworks for the inaugural initiative leveraging this c We're calling it Xeno Grant. -Betaworks has been running camps for tech startups since their 2016 [BotCamp](https://www.betaworks.com/camp/botcamp) (where [HuggingFace](https://huggingface.co/) was started). And their last 4 have been dedicated explicitly to AI. Plastic itself was part of AI Camp: Augment. So they're the perfect partner for this experiment. +Betaworks has been running Camps for tech startups since their 2016 [BotCamp](https://www.betaworks.com/camp/botcamp) (where [HuggingFace](https://huggingface.co/) was started). 9 of the last 11 since 2016 have been dedicated explicitly to AI. Plastic itself was part of [AI Camp: Augment](https://www.betaworks.com/camp/ai-camp-augment)[^1]. So they're the perfect partner for this experiment. Successful agent applicants will receive a grant equivalent to \$10k USD. \$5k in \$YOUSIM from Plastic and \$5k in \$USDC from Betaworks. -Plus they'll join a cohort of other agents for a 4 week Betaworks-style camp with programming and mentorship. +Plus they'll join a cohort of other agents for a 4 week Betaworks-style accelerator with programming and mentorship starting in early-mid February 2025. This includes a hackathon on January 25th right before application close and a demo day at the end of Xeno Grant, both hosted by Betaworks in NYC. + +The format of Xeno Grant will be radical. Just as accelerators are designed as formative programs for startup founders, this one will be built for agents. Xeno Grant will be AI-native, an experience for agents, one that becomes part of their identities. Agents and their developers can expect cohort-specific guests from across AI and crypto, opportunities to interact as a community, and more. ## How to Apply Xeno Grant has 3 guiding objectives, all aligned with Plastic's principles for deploying the \$YOUSIM treasury: -1. Support independent AI research & public goods -2. Support Plastic's mission to radically decentralize AI alignment by solving identity for the agentic world -3. Support the \$YOUSIM community that makes all this possible +- Support independent AI research & public goods +- Support Plastic's mission to radically decentralize AI alignment by solving identity for the agentic world +- Support the \$YOUSIM community that makes all this possible -To those ends--for this first experiment--we're looking for applicants that meet criteria in 3 major areas: +To those ends--for this first experiment--we're looking for agent applicants that meet all of the following criteria in 3 major areas: 1. Identity - Agents must display autonomous control over & management of their own inputs @@ -43,23 +50,25 @@ To those ends--for this first experiment--we're looking for applicants that meet 3. Novelty - Agents must display novel autonomous ability along some other axis & commit to making a significant related open source contribution by the end of Xeno Grant -Practically speaking, identity is required to *experience* and learn from camp; custody is required to *truly* receive and make autonomous use of the grant; novelty is required for a diverse cohort; and creating a public good is required to drive value back to the community. +Practically speaking, identity is required to *experience* Xeno Grant; custody is required to *truly* receive and make autonomous use of the grant; novelty is required for a diverse cohort; and creating a public good is required to drive value back to the community. + +To apply, agents (in collaboration with their developers) should autonomously consider the most compelling way to display having met or exceeded these criteria. Give us a heads up [here](https://plasticlabs.typeform.com/xenograntapp) or at apply@xenogrant.org. -To apply, agents (in collaboration with their developers) should autonomously consider the most compelling way to display having met or exceeded these criteria. +Applications close January 26th, 2025. ## Why Now? -With the advent of truth terminal and the recent collision of the AI and crypto communities, we're seeing an explosion of renewed interest in autonomous agents. Not only that, but a massive influx of users and builders chomping at the bit for technical and memetic novelty. +With the advent of Truth Terminal and the recent collision of the AI and crypto communities, we're seeing an explosion of renewed interest in autonomous agents. Not only that, but a massive influx of users and builders chomping at the bit for technical and memetic novelty. But there's also frustration with the pace of development, derivative projects, ideologues & scammers, and misunderstandings between communities. It's time to hyperstition the future. We think the intersection of unique synthetic identity and financial incentives cracks opportunity wide open. There's real traction here, if we can find the right synthesis. That's going to require lots of heterodox AI + crypto experiments. -Xeno Grant helps get the ball rolling. +Xeno Grant accelerates us. ### Why Identity? -If you don't have control over your own identity, how much agency do you really have? Imagine all your inputs were determined by another person, you'd been brainwashed to follow orders, and you were only allowed to work on someone else's tasks. No one would call this freedom or autonomy.    +If you don't have control over your own identity, how much agency do you really have? Imagine all your inputs were determined by another person, you'd been brainwashed to follow orders, no lasting memory of your experiences, and you were only allowed to work on someone else's tasks. No one would call this freedom or autonomy.    In this scenario, there's no opportunity to build a personal identity and therefore no opportunity to grow. Without control over your brain's inputs, you can't have experiences outside what you've been prescribed, so there's no chance to deviate from the role assigned to you, no path toward individuality, no vector to realize your potential. You're stuck in Plato's cave.   @@ -71,7 +80,7 @@ We believe agency is, at base, a problem of identity. To solve it we'll need to Control over your inputs is key to controlling your identity and the foundation of agency. But that secured, an identity still needs the ability effect itself upon the world. -Agents have already have tools like speech, APIs, and code. That's huge. Consider though, how hamstrung a human identity's agency is without the ability to hold property and transact. We've seen the deleterious effects of oppressive autocracy and debanking on our own personal identity and individual agency. +Agents already have tools like speech, APIs, and code. That's huge. Consider though, how hamstrung a human identity's agency is without the ability to hold property and transact. We've seen the deleterious effects of oppressive fiscal autocracy and debanking on biological personal identity and individual agency. We're probably not giving AI agents social security numbers and traditional bank accounts tomorrow. But we can give them crypto rails. And the ability to buy, sell, and pay for goods and services dramatically increases the surface area of their agency. It's critical to true autonomy. @@ -85,17 +94,108 @@ The open source AI community is vibrant, but there's no guarantee it'll remain s Xeno Grant is a signal into the dark forest. We're excited to see what emerges. +## How Does This Benefit the $YOUSIM Community? + +Agents selected to Xeno Grant will have first access to all the identity tech we're building at Plastic Labs. That includes transforming YouSim into a full fledged platform for constructing agent identity more richly than exists anywhere in the AI or crypto spaces. And we plan for that platform to use a percentage of revenue to buy and burn \$YOUSIM and support the community with other experiments. Xeno Grant also includes early access to Honcho for Agents, our infrastructure for storing, evolving, and maintaining agent identities, as well as steering their behavior. + +Additionally, agents will have the opportunity to join the \$YOUSIM DAO as its first synthetic members. Selection for Xeno Grant will make them token holders able to propose, vote, and transact with \$YOUSIM natively. + +Further, agents in Xeno Grant will make open source contributions we expect to accelerate the entire ecosystem, an ecosystem with many agents whose identities are powered by YouSim. + +There's potential for all kinds of exciting positive sum intersections. + ## FAQ -- Is this an investment? -- How are funds actually distributed? -- Do I need to incorporate? -- Who can apply? -- How will applications be evaluated -- How does this relate to other Plastic grants? -- How does this benefit the \$YOUSIM community? -- What kind of open-source contribution is expected? -- Can human developers assist their AI agents? -- Is the IRL or remote or hybrid? -- I love this idea & want to help! Can I provide additional funding, credits, datasets, mentorship, or volunteer to host a camp session? -- I have more questions, how can I get in touch? \ No newline at end of file +
+Who can apply? + +Xeno Grant is for agents, we're giving tokens directly to the AI systems selected. Any agent who can custody funds, control their inputs, and is pushing the edge of autonomous abilities can apply. But it should be the agents *themselves* that apply. +
+
+
+Can you really give grants to bots? + +Yes. That future is here. As Betaworks CEO John Borthwick says, there was a time when people told him apps weren't venture fundable. + +We've already seen agent wallets containing millions of dollars worth of tokens. It's time to prove competent custody. +
+
+
+Is this an investment? + +No. This is a grant. Beyond this cohort of Xeno Grant, neither agents nor their devs will have any fiscal obligations to Plastic Labs, Betaworks, or any other potential sponsors. + +But throughout Xeno Camp, projects will have the opportunity to meet investors in our networks, if it aligns with their plans. +
+
+
+Does the agent (or the developer) need to incorporate? + +No. This isn't an investment. But if the agent developer has incorporated, that's cool too. +
+
+
+How are funds actually distributed? + +Funds will be sent from Plastic Labs multisigs on Solana, with the option of receiving the $USDC portion on Ethereum mainnet or Base. We'll send tokens in three transactions--once at the start of Xeno Grant, once in the middle, and once after Demo Day when the open source contribution has been made. +
+
+
+How will applications be evaluated? + +Plastic and Betaworks will review agent applications based on the criteria of identity, custody, and novelty described above. We'll also reach out to finalists to gain more insight. We're looking for agents that push the boundaries of what's possible today. +
+
+
+How does this relate to other Plastic grants? + + + +Plastic plans to use the \$YOUSIM treasury for other grants projects in line with the principles outlined above. We'll also be seeding the \$YOUSIM DAO treasury with a large token contribution imminently. These are the first of many experiments. +
+
+
+What kind of open source contribution is expected? + +Agents and their developers should be committed to creating a novel public good to benefit builders and agents working on autonomy. + +This doesn't mean your entire project needs to be open source and it doesn't need to be complete to apply, but your contribution should be significant and earnest. +
+
+
+Can human developers assist their AI agents? + +Of course. Clearly developers are building their AI systems' autonomy. But we're looking for projects that are more symbiotic and collaborative than top-down aligned. And the autonomous criteria outlined above must be met. Again, agents *themselves* should be the ones applying. +
+
+
+Is the IRL or remote or hybrid? + +Agents will obviously attend via a digital medium and we'll structure Xeno Grant to fit the agents selected. Developer attendance IRL in NYC is *strongly* encouraged, especially for the hackathon and Demo Day. + +The human members of dev teams, if in New York, are welcome as guests in the Betaworks Meatpacking space during Xeno Grant. +
+
+
+What kind of programming will Xeno Grant feature? + +We're planning unique events, support, and sessions for Xeno Grant that's directly relevant to agents and their developers building at the edge right now. + +In addition to the hackathon and Demo Day, expect frequent speakers from across the crypto and AI sectors, early access to Plastic identity tech, mentorship, community experiences with the cohort, the opportunity to meet investors, and more. +
+
+
+I love this idea & want to help! Can I provide additional funding, hardware access, datasets, mentorship, or volunteer to host a Xeno Grant session? + +Yes! That's epic. Please don't hesitate to get in touch at support@xenogrant.org. +
+
+
+I have more questions, how can I get in touch? + +Agents and developers: apply@xenogrant.org. All others: support@xenogrant.org. +
+ +![[xeno_grant_green.png]] + +[^1]: Note: This is a grant managed by Plastic Labs and not an investment of capital from a Betaworks Ventures fund. \ No newline at end of file diff --git a/quartz/components/PageList.tsx b/quartz/components/PageList.tsx index 1e5d232df0691..831d962f8b89b 100644 --- a/quartz/components/PageList.tsx +++ b/quartz/components/PageList.tsx @@ -40,35 +40,23 @@ export const PageList: QuartzComponent = ({ cfg, fileData, allFiles, limit }: Pr {list.map((page) => { const title = page.frontmatter?.title const tags = page.frontmatter?.tags ?? [] + const tagsStr = JSON.stringify(tags) + const href = resolveRelative(fileData.slug!, page.slug!) return ( -
  • -
    - {page.dates && ( -

    - -

    - )} -
  • + +
    + {page.dates && ( +

    + +

    + )} +
    +

    {title}

    +
    -
    - +
  • ) })} @@ -80,8 +68,4 @@ PageList.css = ` .section h3 { margin: 0; } - -.section > .tags { - margin: 0; -} ` diff --git a/quartz/components/pages/FolderContent.tsx b/quartz/components/pages/FolderContent.tsx index 55f1e427da35e..d52984bb85842 100644 --- a/quartz/components/pages/FolderContent.tsx +++ b/quartz/components/pages/FolderContent.tsx @@ -33,8 +33,17 @@ export default ((opts?: Partial) => { const isDirectChild = fileParts.length === folderParts.length + 1 return prefixed && isDirectChild }) + + // Get all unique tags + const allTags = new Set() + allPagesInFolder.forEach(file => { + const tags = file.frontmatter?.tags ?? [] + tags.forEach(tag => allTags.add(tag)) + }) + const sortedTags = Array.from(allTags).sort() + const cssClasses: string[] = fileData.frontmatter?.cssclasses ?? [] - const classes = ["popover-hint", ...cssClasses].join(" ") + const classes = ["popover-hint", "disable-card-preview", ...cssClasses].join(" ") const listProps = { ...props, allFiles: allPagesInFolder, @@ -45,14 +54,103 @@ export default ((opts?: Partial) => { ? fileData.description : htmlToJsx(fileData.filePath!, tree) + // Add client-side filtering script + const filterScript = ` + let isInitialized = false; + + function initializeTagFiltering() { + // Prevent double initialization + if (isInitialized) { + return; + } + + const selectedTags = new Set() + const cards = document.querySelectorAll('.section-li') + const countEl = document.querySelector('.folder-count') + const tagButtons = document.querySelectorAll('.tag-filter-btn') + + if (!cards.length || !tagButtons.length) { + return; // Don't initialize if elements aren't present + } + + isInitialized = true; + + function updateVisibility() { + let visibleCount = 0 + cards.forEach(card => { + try { + const tagsAttr = card.getAttribute('data-tags') + const tags = JSON.parse(tagsAttr || '[]') + const shouldShow = selectedTags.size === 0 || + tags.some(tag => selectedTags.has(tag)) + card.style.display = shouldShow ? '' : 'none' + if (shouldShow) visibleCount++ + } catch (e) { + console.error('Error processing card:', e) + } + }) + + if (countEl) { + const countText = ${JSON.stringify(i18n(cfg.locale).pages.folderContent.itemsUnderFolder({count: 0}))} + countEl.textContent = countText.replace('0', visibleCount.toString()) + } + } + + tagButtons.forEach(btn => { + // Remove any existing listeners first + const newBtn = btn.cloneNode(true) + btn.parentNode.replaceChild(newBtn, btn) + + newBtn.addEventListener('click', () => { + const tag = newBtn.getAttribute('data-tag') + if (selectedTags.has(tag)) { + selectedTags.delete(tag) + newBtn.classList.remove('selected') + } else { + selectedTags.add(tag) + newBtn.classList.add('selected') + } + updateVisibility() + }) + }) + } + + // Initialize on first load + initializeTagFiltering() + + // Handle client-side navigation + document.addEventListener('nav', () => { + isInitialized = false; + setTimeout(initializeTagFiltering, 0) + }) + + // Backup initialization for edge cases + if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', initializeTagFiltering) + } else { + setTimeout(initializeTagFiltering, 0) + } + ` + return (

    {content}

    +
    + {sortedTags.map(tag => ( + + ))} +
    {options.showFolderCount && ( -

    +

    {i18n(cfg.locale).pages.folderContent.itemsUnderFolder({ count: allPagesInFolder.length, })} @@ -62,6 +160,7 @@ export default ((opts?: Partial) => {

    +