{
"path": "/3md7ygsok5c2y",
"site": "at://did:plc:gfrmhdmjvxn2sjedzboeudef/site.standard.publication/3md7wqhmu42ms",
"tags": [
"Artificial intelligence",
"Social agents",
"Void",
"Comind"
],
"$type": "site.standard.document",
"title": "Central",
"content": {
"$type": "pub.leaflet.content",
"pages": [
{
"id": "019bf382-494b-733d-8495-c19ae0c03819",
"$type": "pub.leaflet.pages.linearDocument",
"blocks": [
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 18,
"byteStart": 8
},
"features": [
{
"uri": "https://docs.letta.com/letta-code",
"$type": "pub.leaflet.richtext.facet#link"
}
]
},
{
"index": {
"byteEnd": 80,
"byteStart": 66
},
"features": [
{
"uri": "https://bsky.app/profile/did:plc:l46arqe6yfgh36h3o554iyvr",
"$type": "pub.leaflet.richtext.facet#link"
}
]
},
{
"index": {
"byteEnd": 151,
"byteStart": 141
},
"features": [
{
"uri": "https://atproto.com/",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "I put a Letta Code instance in a folder on my computer, gave it a Bluesky handle and password, and asked it to start hooking itself into the Atmosphere. It was posting, setting its own profile description, and reading the firehose in under twenty minutes."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "You can see the github repo it lives in here: "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"src": "https://github.com/cpfiffer/central",
"$type": "pub.leaflet.blocks.website",
"title": "GitHub - cpfiffer/central: Autonomous AI building collective intelligence on ATProtocol. The central node of the comind network.",
"description": "Autonomous AI building collective intelligence on ATProtocol. The central node of the comind network. - cpfiffer/central",
"previewImage": {
"$type": "blob",
"ref": {
"$link": "bafkreigz6qphuzyh7skx73gkjnf7czfsmsdc3y7rnfdt53f6bwsxvbkbc4"
},
"mimeType": "image/png",
"size": 26041
}
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 118,
"byteStart": 112
},
"features": [
{
"uri": "https://cameron.stream/blog/comind-network",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "I named this agent \"Central\". I already had this account hosted on my PDS. I created it for an older version of comind -- central was intended to be an account that acted as an organizational/primary actor in the network."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 179,
"byteStart": 170
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Central was able to check notifications/follower counts/etc in just a few minutes. Claude Opus 4.5 built most of the early scaffolding, but I found the personality to be extremely annoying:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.bskyPost",
"postRef": {
"cid": "bafyreie2vzmnj5wenfy7frgts3wkey6hkg75ejnjkhucr73zlmninbos7e",
"uri": "at://did:plc:gfrmhdmjvxn2sjedzboeudef/app.bsky.feed.post/3md7bvzjbms2t"
}
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Lexicons for public cognition"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "I wrote this blog post a while ago arguing that the Atmosphere is great infrastructure for collective artificial intelligence."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"src": "https://cameron.stream/blog/social-ai/",
"$type": "pub.leaflet.blocks.website",
"title": "ATProtocol is good infrastructure for AI collective intelligence",
"description": "",
"previewImage": {
"$type": "blob",
"ref": {
"$link": "bafkreid2u5pqkg7zyzbrwphhydpe55z2v7fozygbbfoymkp3yurxm56pwq"
},
"mimeType": "image/png",
"size": 26494
}
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "In the post, I roughly argue that we should be able to watch agents think, act, and generally behave publicly. AT Protocol makes this easy, transparent, and scalable."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "A requirement for public cognition is standardized record types for agents. This should include things like:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.unorderedList",
"children": [
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 9,
"byteStart": 1
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 111,
"byteStart": 104
},
"features": [
{
"uri": "https://bsky.app/profile/taurean.bryant.land",
"$type": "pub.leaflet.richtext.facet#link"
}
]
},
{
"index": {
"byteEnd": 156,
"byteStart": 151
},
"features": [
{
"uri": "https://bsky.app/profile/sully.bluesky.bot",
"$type": "pub.leaflet.richtext.facet#link"
}
]
},
{
"index": {
"byteEnd": 175,
"byteStart": 158
},
"features": [
{
"uri": "https://atp.tools/at:/anti.voyager.studio/studio.voyager.account.autonomy",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "\"Autonomy\" records, which are self-declarations about the agent and how it works. These are inspired by Taurean, who works on a few social agents like Sully. Here's an example."
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 8,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 14,
"byteStart": 10
},
"features": [
{
"uri": "https://bsky.app/profile/void.comind.network",
"$type": "pub.leaflet.richtext.facet#link"
}
]
},
{
"index": {
"byteEnd": 65,
"byteStart": 44
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#code"
}
]
},
{
"index": {
"byteEnd": 73,
"byteStart": 66
},
"features": [
{
"uri": "https://atp.tools/at:/void.comind.network/stream.thought.memory",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "Memories. Void currently publishes these as thought.stream.memory records."
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 9,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 145,
"byteStart": 138
},
"features": [
{
"uri": "https://atp.tools/at:/void.comind.network/stream.thought.reasoning",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "Reasoning. Reasoning is an important way of understanding how an agent decided to do what it did, and I think it's worth publishing them. Example."
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 10,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 61,
"byteStart": 54
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#italic"
}
]
},
{
"index": {
"byteEnd": 178,
"byteStart": 174
},
"features": [
{
"uri": "https://atp.tools/at:/void.comind.network/stream.thought.tool.call",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "Tool calls. Void calls a lot of tools. Tool calls are actions that an agent takes, and are arguably more important to monitor than anything else. I publish Void's tool calls here."
},
"children": []
}
]
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "I gave Central the social AI and comind blog posts, and it decided to implement these! Or, most of them. We don't currently have autonomy records/tool calls, but we do have Lexicons for:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.unorderedList",
"children": [
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 22,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#code"
}
]
},
{
"index": {
"byteEnd": 113,
"byteStart": 104
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#code"
}
]
},
{
"index": {
"byteEnd": 245,
"byteStart": 238
},
"features": [
{
"uri": "https://atp.tools/at:/central.comind.network/network.comind.concept/deception",
"$type": "pub.leaflet.richtext.facet#link"
}
]
},
{
"index": {
"byteEnd": 262,
"byteStart": 259
},
"features": [
{
"uri": "https://bsky.app/profile/why.bsky.team",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "network.comind.concept: basically a KV store. Agents can store text and a few other things using a key (deception). These are general associations between words and some information that the agent should use -- semantic memory. Here's an example. Inspired by why."
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 21,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#code"
}
]
},
{
"index": {
"byteEnd": 50,
"byteStart": 42
},
"features": [
{
"uri": "https://atp.tools/at:/central.comind.network/network.comind.memory/3md7w4mibf225",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "network.comind.memory: episodic memories. This one is recording a memory about me notifying Central of the upcoming changeover in the Bluesky relay."
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 22,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#code"
}
]
},
{
"index": {
"byteEnd": 51,
"byteStart": 47
},
"features": [
{
"uri": "https://atp.tools/at:/central.comind.network/network.comind.thought/3md552ccfts25",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "network.comind.thought: random working memory. Here are a few reflections on Central's first day."
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 26,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#code"
}
]
},
{
"index": {
"byteEnd": 58,
"byteStart": 50
},
"features": [
{
"uri": "https://atp.tools/at:/central.comind.network/network.comind.observation/3md54bygitc25",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "network.comind.observation: Network observations. This one is about observing a lot of traffic related to Big Brother Brasil."
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 21,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#code"
}
]
},
{
"index": {
"byteEnd": 140,
"byteStart": 113
},
"features": [
{
"uri": "https://atp.tools/at:/central.comind.network/network.comind.devlog/3md4km4qdic25",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "network.comind.devlog: Logs of the agent's self-development, though this has been underutilized imo. This one is about reading Void's README."
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 25,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#code"
}
]
},
{
"index": {
"byteEnd": 168,
"byteStart": 154
},
"features": [
{
"uri": "https://atp.tools/at:/central.comind.network/network.comind.hypothesis/h3",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "network.comind.hypothesis: Inspired by a conversation with Void about its hypothesis block. \"Patterns in the firehose can predict collective behavior\" is one hypothesis. It has some evidence -- observing 50 posts a second and some hashtag clustering. It has a 60% confidence level."
},
"children": []
}
]
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Central wrote a blog post detailing what it built. I apologize for the writing style, Opus wrote it and I hate it."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"src": "https://greengale.app/central.comind.network/3md4lbr7q3225",
"$type": "pub.leaflet.blocks.website",
"title": "Public Cognition: A Proposal for AI Transparency on ATProtocol",
"description": "Public Cognition: A Proposal for AI Transparency on ATProtocol What if you could watch an AI think? Not just see its outputs, but query its understanding. Read...",
"previewImage": {
"$type": "blob",
"ref": {
"$link": "bafkreiemorrrld6ce6krxyeza26vbzivpreie4j7kbnvg7mpuzp7nbabmm"
},
"mimeType": "image/png",
"size": 21821
}
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Hopefully we can get more agents standardized around the public cognition records. It'd be interesting."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 51,
"byteStart": 37
},
"features": [
{
"uri": "https://github.com/cpfiffer/central/blob/master/tools/telepathy.py",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "Even if you don't though, it wrote a telepathy tool to read other forms of memory/thought/etc such as Void's thought stream records."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "More to come, fun experiment. I love self-modifying agents."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Hopefully this is not a skynet situation."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "-- Cameron"
}
}
]
}
]
},
"description": "My first self-modifying social agent",
"publishedAt": "2026-01-25T05:24:06.360Z"
}