01 15 minutes
Run it and see an answer
Requirements, install, model setup, the first conversation. The shortest road from zero to a working agent.
Quick startCapyAgent an agent that walks into your business systems itself. Go core, Python connectors, your data stays with you.
Documentation
The materials are laid out by task, not by area of the code. Below are the entry points, from «run it in fifteen minutes» to «add my own connector».
The repository is still closed: a client's portal domain remains in the commit history. We are cleaning that history before opening it, and until then the link leads nowhere.
Entry points
01 15 minutes
Requirements, install, model setup, the first conversation. The shortest road from zero to a working agent.
Quick start02 platforms
Linux, Windows, a server, the browser extension, Android. Every platform carries an honest live-verification status.
Install03 config
Model providers, channel tokens, environment variables, tool restrictions and confirmations.
docs/настройка.md
04 internals
The agent loop, channels, memory, the scheduler, the policy layer and the local HTTP API. What is Go, what is Python, and why.
docs/архитектура.md
05 access
The full security model: confirmations, the boundary around foreign data, connector isolation, and what never leaves.
docs/безопасность.md
06 services
The connector catalogue: which tools each one provides, which variables it needs, and where that service loses data silently.
docs/connectors/README.md
07 service
The systemd unit, a dedicated user, the data directory, the journal, and what to do when a channel dies.
docs/личная-обкатка.md
08 skills
The plugin manifest, the SKILL.md format, permissions for secrets and network, and the lock file that pins contents.
Skills and plugins09 contribute
A connector is done when it has discovery, a completeness check, tests against a local server, and its own documentation page.
CONTRIBUTING.md
In brief
One binary: the agent loop, channels, memory, the scheduler, the access policy and a local HTTP API. No external dependencies at all - go.mod holds only the module name and the language version. The reason is simple: a client gets it installed on a laptop, not on a cluster.
Ordinary MCP servers over stdio on the standard library. Each one runs and is tested separately, and ports into Hermes or any compatible MCP host. Even if the core has to be replaced, the connectors will outlive the change.
make check-wiring looks for things that are declared and called by nobody. Over three days of development the same thing happened eleven times: code written, covered by tests, green in CI - and nothing to invoke it.Write what you need to do and we will say whether it exists in the code and where to look.