Status:
v0.2.0is the agent. The loop that improves it is the next release; see How it will improve itself.
npm install -g chopin-aiRequires Node.js 24.8 or later.
cd my-project
chopinThe first run connects a provider, by its sign-in or an API key, and picks a model. /hotkeys lists the keys.
- Durable conversations. Every step is saved before it is shown, so a run cut off by a restart picks up where it stopped.
- One agent, every client. Each project has a background service; the terminal, the browser (
chopin web) and editors (chopin acp) join the same conversation, and closing the terminal leaves the agent working. - Any provider.
/loginconnects one by its sign-in or an API key;/modelandctrl+pswitch models mid-conversation. - Your shell in the conversation.
!commandruns a command the agent then sees;!!commandkeeps it to you. - Steer while it works.
entersteers the running turn,alt+enterqueues a follow-up,alt+uptakes queued messages back. - Conversations that branch.
/resume,/fork,/compactand/export. - Your project's instructions.
AGENTS.mdfiles from the repository root down to the working directory are read before every request. - Workspaces per user.
chopin serveruns one container workspace per user, who is named by the integrator's signed tokens.
The agent's behavior lives in a mutable layer: AGENTS.md instructions, Agent Skills, MCP servers and gate rules,
shared by both harnesses, plus each harness's own code. The coming RSI (recursive self-improvement) loop changes
that layer and accepts a change only when a sealed evaluator, out of the agent's reach, shows that it helps at
least one harness and regresses neither. The layer uses open formats, so what it learns carries over to other
agents.
The layer is already loaded today: put it in ~/.chopin/layer, and check one with chopin layer check <dir>.
| Where | What |
|---|---|
~/.chopin/auth.json |
Credentials saved by /login; a provider's usual environment variable works too |
~/.chopin/config.json |
Default model, enabledModels for ctrl+p, theme, httpProxy |
~/.chopin/models.json |
Extra providers and models |
~/.chopin/layer/ |
AGENTS.md, skills/<name>/SKILL.md, mcp.json, gates.yaml |
CHOPIN_MODEL |
Overrides the default model |
CHOPIN_HOME |
Moves ~/.chopin |
HTTP_PROXY, HTTPS_PROXY |
Route requests through a proxy |
chopin serve --jwks <url> runs agents for many users, each in a container workspace; build the image from a
checkout with pnpm --filter @chopin-ai/harness-pi image. Clients reach it through the client protocol or ACP.
| Package | Purpose |
|---|---|
chopin-ai |
The chopin command: terminal client, web app, ACP and the project service |
@chopin-ai/core |
Mutable-layer formats, ACP transcripts and chopin layer check |
@chopin-ai/workspace |
Workspace lifecycle interface with directory and container implementations |
@chopin-ai/harness-pi |
Durable harness adapter: agent service, client protocol, ACP bridge |
@chopin-ai/harness-dsh |
Plugin harness adapter: mutable-layer loading, headless runs |
Requires pnpm 12.
pnpm install
pnpm typecheck # packages and tests
pnpm testv0.1.0 archives the previous design.
CHANGELOG lists every release.