harness.example.jsonandwebhook-receiver.example.jsonprovide safe starter configs.- Keep runtime overrides local (
harness.json,webhook-receiver.json,*.local.json) since they are gitignored.
Run:
bun run inspectOpen:
http://localhost:7070/inspect
/inspect lets you create projects/agents, stream events, poll output, and copy the tmux attach command with one click.
Run:
bun run smokeSmoke auto-copies attach command at agent start and supports c to copy again while running.
Discovery is config-driven via subscriptionDiscovery.sources and subscriptionDiscovery.profiles.
{
"subscriptionDiscovery": {
"enabled": true,
"includeDefaults": true,
"sources": {
"claude_env": { "kind": "env", "name": "CLOUDGENI_CLAUDE_TOKEN" },
"openai_op": {
"kind": "command",
"command": "op",
"args": ["read", "op://vault/item/openai_api_key"]
}
},
"profiles": [
{
"provider": "claude-code",
"source": "claude_env",
"valueType": "token",
"label": "cloudgeni"
},
{
"provider": "codex",
"source": "openai_op",
"valueType": "apiKey",
"label": "op"
}
]
}
}Legacy fields (claudeDirs, claudeTokenFiles, codexDirs) still work.
Structured provider-internals messages (not tmux pane text):
GET /api/v1/projects/:name/agents/:id/messages?limit=50&role=all
Latest assistant message:
GET /api/v1/projects/:name/agents/:id/messages/last