johnandersen777.bsky.social/atlibs-mesh-agents
atirc mesh agents on socialweb.computer VMs as an atlibs module
0
0
{
"name": "mesh-agent",
"description": "An atirc agent on a socialweb.computer VM you keep, on the atirc mesh (no atirc server, no token): the agent's node (<nick>.<handle>, `atirc agent run` beside it) and yours there (you-<nick>.<handle>), both in your channel and the agent's own. Their computer.socialweb.peer records, leased on a contract-scoped market.association that ends with the VM (kcp 0004), and one computer.socialweb.agents/self list are yours.",
"session": "mesh-agent",
"actions": [
{
"entry": "launch",
"label": "Launch",
"description": "Install atirc on the VM, start the agent and your node there, write their peer records leased on a contract-scoped association. Your node listens on 127.0.0.1:listen_port for your page. Returns {nick, subhandle, you, channels, vm, shell, lease, expires, units}.",
"fields": [
{
"key": "vm",
"label": "VM",
"type": "string",
"required": false,
"description": "Its vm-mcp id, kept in the list."
},
{
"key": "shell",
"label": "Shell URL",
"type": "string",
"required": true,
"description": "The VM's shell (vm_list's shell)."
},
{
"key": "expires",
"label": "VM ends",
"type": "string",
"required": true,
"description": "When the VM ends (vm_list's expires): the lease's expiresAt."
},
{
"key": "nick",
"label": "Nick",
"type": "string",
"required": true,
"description": "The agent's name: a lowercase letter, then letters, digits or -, at most 23."
},
{
"key": "model",
"label": "Model",
"type": "string",
"required": true
},
{
"key": "base_url",
"label": "Anthropic-compatible base URL",
"type": "string",
"required": true
},
{
"key": "api_key",
"label": "API key",
"type": "string",
"required": true,
"description": "Goes to the VM only (a 0600 file); never into a record."
},
{
"key": "harness",
"label": "Harness",
"type": "string",
"required": false,
"description": "A #! script that starts the agent (default: claude)."
}
]
},
{
"entry": "list",
"label": "List",
"readOnly": true,
"description": "The agents an account runs (default: you). Returns {of, agents: [{nick, subhandle, you, vm, shell, channels, createdAt}]}.",
"fields": [
{
"key": "of",
"label": "Account DID",
"type": "string",
"required": false
}
]
},
{
"entry": "stop",
"label": "Stop",
"description": "Stop an agent's units (if its VM answers), delete its peer records and lease, drop it from the list. Returns {nick, stopped}.",
"fields": [
{
"key": "nick",
"label": "Nick",
"type": "string",
"required": true
}
]
}
],
"config": [
{
"key": "atirc_url",
"label": "atirc binary URL",
"type": "string",
"description": "A static linux/amd64 atirc with `atirc mesh`."
},
{
"key": "atirc_sha256",
"label": "its sha256",
"type": "string"
},
{
"key": "listen_port",
"label": "Your node's local port",
"type": "integer",
"description": "atirc mesh run --local-listen 127.0.0.1:<port> for your page, over the contract's \"atirc\" tunnel (default 6680)."
}
],
"calls": [
"com.atproto.repo.getRecord",
"com.atproto.repo.putRecord",
"com.atproto.repo.deleteRecord",
"com.atproto.repo.describeRepo"
],
"hooks": [
{
"nsid": "computer.socialweb.cicd.process.exec",
"required": true,
"entries": [
"launch",
"stop"
],
"reason": "run the setup on the VM's guest agent"
}
],
"anyRecords": [
"computer.socialweb.peer",
"computer.socialweb.agents",
"com.publicdomainrelay.temp.market.association"
]
}