Skip to content

Commit 812900e

Browse files
CSResselnori-agentclaude
authored
feat: add Bring Your Own Agent section to README (#436)
## Summary - Adds a **Bring Your Own Agent** section to README between Providers and Features - Includes `config.toml` snippet with `vibe-acp` and `elizacp` examples - Install table for three example agents: Mistral Vibe, ElizACP, Kimi - Links to the raw skill file so users' AI agents can self-configure - Updates the custom ACP agent skill: replaces opencode with vibe-acp, simplifies elizacp install command ## Test plan - [ ] Verify README renders correctly on GitHub (table, code blocks, links) - [ ] Verify skill file raw link resolves: `.claude/skills/registering-custom-acp-agent/SKILL.md` - [ ] Spot-check that the TOML examples match the config schema in `codex-rs/acp/src/config/types/mod.rs` 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Nori <contact@tilework.tech> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent c777e7a commit 812900e

2 files changed

Lines changed: 43 additions & 9 deletions

File tree

.claude/skills/registering-custom-acp-agent/SKILL.md

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
---
22
name: Registering Custom ACP Agents
3-
description: Use when the user wants to register a custom ACP agent in Nori, or try one of the example agents (elizacp, kimi-cli, opencode)
3+
description: Use when the user wants to register a custom ACP agent in Nori, or try one of the example agents (elizacp, kimi-cli, vibe-acp)
44
---
55

66
<required>
77
*CRITICAL* Add the following steps to your Todo list using TodoWrite:
88

99
1. Ask the user: custom agent setup or example demo?
1010
2. If custom agent: gather agent details and write config
11-
3. If example: let user choose (elizacp, kimi-cli, opencode) and walk through setup
11+
3. If example: let user choose (elizacp, kimi-cli, vibe-acp) and walk through setup
1212
4. Write the `[[agents]]` entry to `~/.nori/cli/config.toml`
1313
5. Verify the agent appears in Nori's agent picker
1414
</required>
@@ -51,7 +51,7 @@ args = ["acp"]
5151

5252
## elizacp (Rust/Cargo)
5353

54-
Minimal Eliza chatbot. Install: `cargo install --git https://github.com/agentclientprotocol/symposium-acp elizacp`
54+
Minimal Eliza chatbot. Install: `cargo install --locked elizacp`
5555

5656
No `cargo` distribution variant exists -- use `local` since cargo puts binaries in PATH.
5757

@@ -80,18 +80,17 @@ package = "kimi-cli"
8080
args = ["acp"]
8181
```
8282

83-
## opencode
83+
## vibe-acp (Mistral Vibe)
8484

85-
Install: `curl -fsSL https://opencode.ai/install | bash` (or `npm install -g opencode-ai` / `brew install anomalyco/tap/opencode`)
85+
Mistral's coding agent. Install: `curl -LsSf https://mistral.ai/vibe/install.sh | bash` (or `uv tool install mistral-vibe` / `pip install mistral-vibe`). Installs both `vibe` (interactive CLI) and `vibe-acp` (ACP server). First-time setup: run `vibe --setup` to configure your Mistral API key.
8686

8787
```toml
8888
[[agents]]
89-
name = "OpenCode"
90-
slug = "opencode"
89+
name = "Mistral Vibe"
90+
slug = "vibe-acp"
9191

9292
[agents.distribution.local]
93-
command = "opencode"
94-
args = ["acp"]
93+
command = "vibe-acp"
9594
```
9695

9796
# Step 3: Write the Config

README.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,41 @@ You should be good to go. If not, first follow the authentication for your desir
3838
| Gemini | Run `npx @google/gemini-cli` in your terminal, then when the Gemini CLI opens, type `/auth` there. |
3939
| OpenAI | In Nori, use `/agent` to switch to Codex, then run `/login` inside the Nori interface. Nori will prompt you to install OpenAI via npm if needed. |
4040

41+
## Bring Your Own Agent
42+
43+
Have your own ACP agent? Add it to Nori CLI! Any agent that speaks [Agent Client Protocol](https://github.com/agentclientprotocol/agent-client-protocol) over stdin/stdout can be registered in `~/.nori/cli/config.toml` and used alongside the built-in providers.
44+
45+
Add one or more `[[agents]]` entries to your config:
46+
47+
```toml
48+
[[agents]]
49+
name = "Mistral Vibe"
50+
slug = "vibe-acp"
51+
52+
[agents.distribution.local]
53+
command = "vibe-acp"
54+
55+
[[agents]]
56+
name = "ElizACP"
57+
slug = "elizacp"
58+
59+
[agents.distribution.local]
60+
command = "elizacp"
61+
args = ["acp"]
62+
```
63+
64+
Then switch to your agent with `/agent` inside Nori.
65+
66+
**Example agents to try:**
67+
68+
| Agent | Install | Notes |
69+
|-------|---------|-------|
70+
| [Mistral Vibe](https://docs.mistral.ai/mistral-vibe/introduction/install) | `curl -LsSf https://mistral.ai/vibe/install.sh \| bash` | Installs both `vibe` and `vibe-acp`. Run `vibe --setup` to configure your API key. |
71+
| [ElizACP](https://github.com/agentclientprotocol/symposium-acp) | `cargo install --locked elizacp` | Minimal Eliza chatbot, useful for testing. |
72+
| [Kimi](https://github.com/nicepkg/kimi-cli) | No install needed — uses `uvx` | First-time auth: run `uvx --python 3.13 kimi-cli`, then `/login`. |
73+
74+
Want your AI agent to configure this automatically? Point it at the raw skill file: https://github.com/tilework-tech/nori-cli/blob/main/.claude/skills/registering-custom-acp-agent/SKILL.md
75+
4176
## Features
4277

4378
- **Multi-provider**: Anthropic's Claude Code, Google DeepMind's Gemini, and OpenAI's Codex

0 commit comments

Comments
 (0)