You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Luigi De Masi (Jira)" <ji...@apache.org> on 2026/09/09 10:45:00 UTC
[jira] [Created] (CAMEL-24663) Camel TUI: ACP coding-agent provider for the AI panel
Luigi De Masi created CAMEL-24663:
-------------------------------------
Summary: Camel TUI: ACP coding-agent provider for the AI panel
Key: CAMEL-24663
URL: https://issues.apache.org/jira/browse/CAMEL-24663
Project: Camel
Issue Type: New Feature
Components: camel-jbang
Affects Versions: 4.22.0
Reporter: Luigi De Masi
Assignee: Luigi De Masi
h3. What
The TUI's F8 AI panel today runs its own tool-calling loop against a raw LLM API (Anthropic, OpenAI, Gemini, Azure, Watsonx, Ollama). This adds a second backend: the panel can hand the conversation to an external coding agent that speaks the Agent Client Protocol (ACP, https://agentclientprotocol.com), spawned as a subprocess. The agent receives the TUI's own MCP server in {{session/new}} and drives the TUI through the same {{tui_*}} tools external MCP clients use, while its answer, tool calls and permission requests are shown in the panel.
h3. Why
* Users get their agent's subscription login (Claude Code, ChatGPT/Codex, IBM Bob, ...) instead of managing API keys in the TUI.
* Models that reliably call tools, removing the "at least 14B local model" caveat of the Ollama path.
* The agent brings its own file and terminal tools, so it can fix the route source, not only observe.
* One protocol covers every ACP agent; the ACP registry lists about 40.
h3. Design
* New provider ids next to the existing ones (Ctrl+P / {{camel.tui.ai.provider}}): {{acp:claude}}, {{acp:codex}}, {{acp:bob}}, {{acp:qwen}}, {{acp:opencode}}, {{acp:dsh}} and {{acp:custom}} ({{camel.tui.ai.acp.command}}).
* A hand-rolled ACP v1 client over stdio using camel-util-json; no new dependency (the ACP Java SDK would add Reactor and Jackson and is itself 0.x). Protocol v1 only; v2 is still labelled draft by the ACP project.
* Verified adapters: Claude Code and Codex via the official {{@agentclientprotocol}} npm adapters, IBM Bob Shell 2.0.2 ({{bob acp}}), Qwen Code ({{qwen --acp}}), OpenCode ({{opencode acp}}), DeepSeek Harness ({{dsh --profile acp}}, preview). All advertise HTTP MCP support and negotiate protocol 1. Gemini CLI and Antigravity are deliberately not presets (Gemini CLI stopped serving personal Google accounts in June 2026; the Antigravity CLI has no ACP mode yet); both remain reachable through {{acp:custom}}.
* The embedded MCP server is started on demand on an ephemeral loopback port when an ACP provider is used; {{--mcp}} is not required.
* Permissions: calls to the camel-tui MCP tools are approved silently; anything else the agent wants to run (file edits, commands) opens a popup with the agent's own options (Enter selects, Esc rejects, Ctrl+C cancels the turn).
* Streamed answers, one status line per tool call, cancel with Esc/Ctrl+C, {{/clear}} opens a fresh session, agent slash commands and skills reachable as {{/agent:<name>}} and listed in the completion hints, a header strip showing agent, session, working directory and command count.
* Lazy spawn on the first question so a slow first {{npx}} download never freezes the UI; one {{authenticate}} attempt for agent-managed login methods, otherwise a login hint per preset.
* Docs: new "Using a coding agent (ACP)" subsection in the TUI manual. No upgrade-guide entry: nothing existing changes behaviour.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)