@openacp/cli 2026.404.2 → 2026.405.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ OpenACP — self-hosted bridge that connects 28+ AI coding agents (Claude Code, Codex, Gemini, Cursor) to Telegram, Discord & Slack. Your machine, your keys, your data.
2
+
1
3
  <div align="center">
2
4
 
3
5
  # OpenACP
@@ -12,7 +14,9 @@ Send a message. The agent writes code. You see everything — in real time.
12
14
  [![npm](https://img.shields.io/npm/v/@openacp/cli.svg)](https://www.npmjs.com/package/@openacp/cli)
13
15
  [![Twitter Follow](https://img.shields.io/twitter/follow/openacp_ai?style=social)](https://x.com/openacp_ai)
14
16
 
15
- [Documentation](https://openacp.gitbook.io/docs) · [Quick Start](#quick-start) · [Features](#features) · [Agents](#supported-agents) · [Contributing](https://openacp.gitbook.io/docs/extending/contributing)
17
+ [Documentation](https://openacp.gitbook.io/docs) · [Quick Start](#quick-start) · [Features](#features) · [Agents](#supported-agents) · [Contributing](CONTRIBUTING.md) · [Discussions](https://github.com/Open-ACP/OpenACP/discussions)
18
+
19
+ <img src="docs/images/banner.jpg" alt="OpenACP — Control AI coding agents from Telegram, Discord and Slack" width="100%" />
16
20
 
17
21
  </div>
18
22
 
@@ -34,15 +38,34 @@ AI Agent (Claude Code, Codex, Gemini, Cursor, ...)
34
38
  Your Codebase
35
39
  ```
36
40
 
41
+ ## Why OpenACP?
42
+
43
+ | Without OpenACP | With OpenACP |
44
+ |----------------|-------------|
45
+ | *"Its usage is currently focused on its dedicated terminal REPL and specific IDE integrations"* | Control from Telegram, Discord, or Slack — any device, anywhere |
46
+ | *"Codex Desktop App only works with local projects. It does not support development on remote hosts"* | Full remote development support — run agents on your server, manage from your phone |
47
+ | *"There's no way to trigger Claude Code sessions from external issue trackers"* | REST API for CI/CD integration and external triggers |
48
+ | *"Being able to use a proper mobile app UI would be much better than having to access sessions through ssh + tmux"* | Native Telegram/Discord UI — no SSH, no terminal on mobile |
49
+ | *"Cline is really burning up OpenRouter tokens and my wallet"* | Built-in usage tracking and monthly budget limits per session |
50
+
51
+ ## Use Cases
52
+
53
+ - **Remote coding** — Tired of being chained to your desk to run Claude Code? Review PRs, fix bugs, and deploy from your phone via Telegram while away from your desk.
54
+ - **Team visibility** — Share a Discord channel where everyone sees what the AI agent is doing in real time — no more black-box coding sessions.
55
+ - **Multi-agent workflows** — Start with Claude Code for planning, switch to Codex for implementation, use Gemini for review — all in one chat thread, no reconfiguration.
56
+ - **CI/CD integration** — Trigger agent sessions from GitHub Actions or any issue tracker via the REST API.
57
+ - **Self-hosted AI gateway** — Keep API keys and code on your own infrastructure. No third-party cloud, no vendor lock-in.
58
+ - **Local LLM support** — Run agents against self-hosted models (Ollama, LM Studio) via ACP-compatible adapters. Your models, your data.
59
+
37
60
  <div align="center">
38
61
  <table>
39
62
  <tr>
40
- <td align="center"><img src="docs/images/menu.png" width="250" /><br /><b>Control Panel</b><br />Manage sessions, agents, and settings</td>
41
- <td align="center"><img src="docs/images/agent-working.png" width="250" /><br /><b>Agent at Work</b><br />Plans, reads files, writes code</td>
63
+ <td align="center"><img src="docs/images/menu.png" width="250" alt="OpenACP control panel showing session management, agent selection, and settings menu in Telegram" /><br /><b>Control Panel</b><br />Manage sessions, agents, and settings</td>
64
+ <td align="center"><img src="docs/images/agent-working.png" width="250" alt="AI coding agent reading files, planning changes, and writing code through OpenACP Telegram interface" /><br /><b>Agent at Work</b><br />Plans, reads files, writes code</td>
42
65
  </tr>
43
66
  <tr>
44
- <td align="center"><img src="docs/images/tool-calls.png" width="250" /><br /><b>Real-time Tool Calls</b><br />See every action the agent takes</td>
45
- <td align="center"><img src="docs/images/skills.png" width="250" /><br /><b>Agent Skills</b><br />Brainstorming, TDD, debugging & more</td>
67
+ <td align="center"><img src="docs/images/tool-calls.png" width="250" alt="Real-time tool call streaming showing agent actions like file reads, edits, and command execution" /><br /><b>Real-time Tool Calls</b><br />See every action the agent takes</td>
68
+ <td align="center"><img src="docs/images/skills.png" width="250" alt="OpenACP agent skills menu with options for brainstorming, TDD, debugging, and code review" /><br /><b>Agent Skills</b><br />Brainstorming, TDD, debugging & more</td>
46
69
  </tr>
47
70
  </table>
48
71
  </div>
@@ -82,6 +105,13 @@ If you already have Node.js 20+ installed:
82
105
  ```bash
83
106
  npm install -g @openacp/cli
84
107
  openacp
108
+ # → Interactive setup wizard starts:
109
+ # → ? Choose your platform: Telegram / Discord / Slack
110
+ # → ? Enter your bot token: ********
111
+ # → ? Select workspace directory: ~/projects
112
+ # → ? Choose default AI agent: Claude Code
113
+ # → ✓ Configuration saved. Starting OpenACP...
114
+ # → 🚀 OpenACP is running. Send a message to your bot!
85
115
  ```
86
116
 
87
117
  ---
@@ -150,7 +180,7 @@ OpenACP uses the [ACP Registry](https://agentclientprotocol.com/get-started/regi
150
180
  | [Cursor](https://www.cursor.com/) | binary | Cursor's coding agent |
151
181
  | [Cline](https://github.com/cline/cline) | npx | Autonomous coding agent |
152
182
  | [goose](https://github.com/block/goose) | binary | Open source AI agent by Block |
153
- | [Amp](https://github.com/tao12345666333/amp-acp) | binary | The frontier coding agent |
183
+ | Amp | binary | The frontier coding agent |
154
184
  | [Auggie CLI](https://www.augmentcode.com/) | npx | Augment Code's context engine |
155
185
  | [Junie](https://www.jetbrains.com/) | binary | AI coding agent by JetBrains |
156
186
  | [Kilo](https://github.com/kilocode/kilo) | npx | Open source coding agent |
@@ -201,6 +231,59 @@ openacp tunnel list
201
231
  | [API Reference](https://openacp.gitbook.io/docs/api-reference) | CLI commands, REST API, config schema, env vars |
202
232
  | [Troubleshooting](https://openacp.gitbook.io/docs/troubleshooting) | Common issues and FAQ |
203
233
 
234
+ ## Known Limitations
235
+
236
+ - **Early stage** — OpenACP is under active development; expect breaking changes between minor versions
237
+ - **Single user** — Currently designed for individual use; multi-user/team support is planned
238
+ - **Remote host** — Agents run on the same machine as OpenACP; to use on a remote server, install OpenACP on that server
239
+ - **Agent availability** — Some agents require their own API keys and local installation
240
+ - **Platform features** — Not all messaging platform features are supported equally (e.g., Slack threads vs Telegram forum topics)
241
+ - **No Windows daemon** — Daemon mode (auto-start on boot) currently supports macOS and Linux only
242
+
243
+ ## FAQ
244
+
245
+ ### Why use Telegram or Discord instead of just the terminal?
246
+ Most AI coding agents are locked to a terminal REPL or IDE. OpenACP lets you send messages, review code diffs, approve or deny actions, and monitor progress from any device — phone, tablet, or browser — without opening a laptop.
247
+
248
+ ### How is OpenACP different from MCP?
249
+ MCP (Model Context Protocol) is a standard for giving AI models access to tools and data sources. OpenACP uses the **Agent Client Protocol (ACP)** to manage full coding agent *sessions* — starting agents, streaming output, handling permissions, and routing results to your messaging platform. The two protocols are complementary: your agents can use MCP tools while OpenACP manages the session layer.
250
+
251
+ ### Can I auto-approve agent actions?
252
+ Yes. By default, OpenACP shows a permission button for destructive actions. You can configure [auto-approve rules](https://openacp.gitbook.io/docs/using-openacp) to skip confirmation for specific action types (e.g., read-only operations) while still requiring approval for file writes or shell commands.
253
+
254
+ ### How do I control API spending?
255
+ Set a monthly budget limit in your config. OpenACP tracks token usage and cost in real time and will pause the agent when the limit is reached. Run `openacp config` to set limits per session.
256
+
257
+ ### Can I use a local or self-hosted LLM?
258
+ Yes, if the model has a compatible agent CLI. Any agent that implements the ACP protocol can be registered. Community adapters exist for Ollama and LM Studio — run `openacp agents` to browse available options.
259
+
260
+ ### What happens if the agent gets stuck or the chat hangs?
261
+ Use `/cancel` in your chat to stop the current session. Run `openacp doctor` to check for connectivity or configuration issues. OpenACP's session persistence means you can resume with full context intact after a restart.
262
+
263
+ ### Does OpenACP send my code to the cloud?
264
+ No. OpenACP runs entirely on your machine. AI agents connect directly to your chosen provider using your own API keys. Nothing is routed through OpenACP servers.
265
+
266
+ ### Can I use multiple AI agents at the same time?
267
+ Each session uses one agent, but you can run multiple sessions simultaneously — one per thread/topic in your chat. Switch agents between sessions or start a new session with a different agent at any time.
268
+
269
+ ### Is OpenACP free?
270
+ Yes. OpenACP is MIT-licensed and free to self-host. You only pay for the AI provider API keys you choose to use.
271
+
272
+ ### How do I update OpenACP?
273
+ ```bash
274
+ npm update -g @openacp/cli
275
+ ```
276
+
277
+ ## Security
278
+
279
+ OpenACP grants AI agents access to your filesystem and shell. Before using in production:
280
+
281
+ - Run in a sandboxed environment or container when possible
282
+ - Review agent permissions — use the built-in permission gate to approve/deny actions
283
+ - Never expose your OpenACP instance to the public internet without authentication
284
+ - Keep your bot tokens secret — rotate them if compromised
285
+ - See the [Security guide](https://openacp.gitbook.io/docs/self-hosting/security) for hardening recommendations
286
+
204
287
  ## Star History
205
288
 
206
289
  <a href="https://star-history.com/#Open-ACP/OpenACP&Date">
@@ -213,11 +296,7 @@ openacp tunnel list
213
296
 
214
297
  ## Contributing
215
298
 
216
- We welcome contributions! See the [contributing guide](https://openacp.gitbook.io/docs/extending/contributing) for development setup, testing conventions, and PR process.
217
-
218
- ## Follow Us
219
-
220
- [![Twitter Follow](https://img.shields.io/twitter/follow/openacp_ai?style=social)](https://x.com/openacp_ai)
299
+ We welcome contributions! See the [contributing guide](CONTRIBUTING.md) for development setup, testing conventions, and PR process. Have questions? Start a thread on [GitHub Discussions](https://github.com/Open-ACP/OpenACP/discussions).
221
300
 
222
301
  ## License
223
302
 
@@ -428,7 +428,7 @@ type AuthMethod = {
428
428
  interface AuthenticateRequest {
429
429
  methodId: string;
430
430
  }
431
- type StopReason = "end_turn" | "max_tokens" | "max_turn_requests" | "refusal" | "cancelled";
431
+ type StopReason = "end_turn" | "max_tokens" | "max_turn_requests" | "refusal" | "cancelled" | "error" | "interrupted";
432
432
  interface PromptResponse {
433
433
  stopReason: StopReason;
434
434
  _meta?: Record<string, unknown>;