@zenalexa/unicli 0.213.3 → 0.215.1
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/AGENTS.md +16 -14
- package/README.md +206 -61
- package/README.zh-CN.md +166 -69
- package/dist/adapters/_electron/desktop-shared.d.ts +12 -0
- package/dist/adapters/_electron/desktop-shared.d.ts.map +1 -0
- package/dist/adapters/_electron/desktop-shared.js +312 -0
- package/dist/adapters/_electron/desktop-shared.js.map +1 -0
- package/dist/adapters/electron-desktop/electron-desktop.d.ts +9 -0
- package/dist/adapters/electron-desktop/electron-desktop.d.ts.map +1 -0
- package/dist/adapters/electron-desktop/electron-desktop.js +56 -0
- package/dist/adapters/electron-desktop/electron-desktop.js.map +1 -0
- package/dist/agents/backends.d.ts +42 -0
- package/dist/agents/backends.d.ts.map +1 -0
- package/dist/agents/backends.js +598 -0
- package/dist/agents/backends.js.map +1 -0
- package/dist/agents/editor-backends.d.ts +3 -0
- package/dist/agents/editor-backends.d.ts.map +1 -0
- package/dist/agents/editor-backends.js +70 -0
- package/dist/agents/editor-backends.js.map +1 -0
- package/dist/browser/adapter-authoring.d.ts +20 -0
- package/dist/browser/adapter-authoring.d.ts.map +1 -0
- package/dist/browser/adapter-authoring.js +68 -0
- package/dist/browser/adapter-authoring.js.map +1 -0
- package/dist/browser/analyze.d.ts +54 -0
- package/dist/browser/analyze.d.ts.map +1 -0
- package/dist/browser/analyze.js +205 -0
- package/dist/browser/analyze.js.map +1 -0
- package/dist/browser/bridge.d.ts +1 -1
- package/dist/browser/bridge.d.ts.map +1 -1
- package/dist/browser/bridge.js +2 -0
- package/dist/browser/bridge.js.map +1 -1
- package/dist/browser/daemon-client.d.ts.map +1 -1
- package/dist/browser/daemon-client.js +12 -1
- package/dist/browser/daemon-client.js.map +1 -1
- package/dist/browser/network-cache.d.ts +58 -0
- package/dist/browser/network-cache.d.ts.map +1 -0
- package/dist/browser/network-cache.js +146 -0
- package/dist/browser/network-cache.js.map +1 -0
- package/dist/browser/page.d.ts +1 -1
- package/dist/browser/page.d.ts.map +1 -1
- package/dist/browser/page.js +2 -1
- package/dist/browser/page.js.map +1 -1
- package/dist/browser/protocol.d.ts +6 -2
- package/dist/browser/protocol.d.ts.map +1 -1
- package/dist/browser/site-memory.d.ts +57 -0
- package/dist/browser/site-memory.d.ts.map +1 -0
- package/dist/browser/site-memory.js +127 -0
- package/dist/browser/site-memory.js.map +1 -0
- package/dist/browser/verify-fixture.d.ts +30 -0
- package/dist/browser/verify-fixture.d.ts.map +1 -0
- package/dist/browser/verify-fixture.js +168 -0
- package/dist/browser/verify-fixture.js.map +1 -0
- package/dist/browser/workspace.d.ts +8 -0
- package/dist/browser/workspace.d.ts.map +1 -0
- package/dist/browser/workspace.js +15 -0
- package/dist/browser/workspace.js.map +1 -0
- package/dist/commands/acp.d.ts +5 -0
- package/dist/commands/acp.d.ts.map +1 -1
- package/dist/commands/acp.js +20 -17
- package/dist/commands/acp.js.map +1 -1
- package/dist/commands/agents-backends.d.ts +6 -0
- package/dist/commands/agents-backends.d.ts.map +1 -0
- package/dist/commands/agents-backends.js +49 -0
- package/dist/commands/agents-backends.js.map +1 -0
- package/dist/commands/agents.d.ts.map +1 -1
- package/dist/commands/agents.js +3 -1
- package/dist/commands/agents.js.map +1 -1
- package/dist/commands/browser-adapter-authoring.d.ts +3 -0
- package/dist/commands/browser-adapter-authoring.d.ts.map +1 -0
- package/dist/commands/browser-adapter-authoring.js +206 -0
- package/dist/commands/browser-adapter-authoring.js.map +1 -0
- package/dist/commands/browser-authoring-operator.d.ts +3 -0
- package/dist/commands/browser-authoring-operator.d.ts.map +1 -0
- package/dist/commands/browser-authoring-operator.js +110 -0
- package/dist/commands/browser-authoring-operator.js.map +1 -0
- package/dist/commands/browser-operator-runtime.d.ts +38 -0
- package/dist/commands/browser-operator-runtime.d.ts.map +1 -0
- package/dist/commands/browser-operator-runtime.js +281 -0
- package/dist/commands/browser-operator-runtime.js.map +1 -0
- package/dist/commands/browser-operator.d.ts +6 -0
- package/dist/commands/browser-operator.d.ts.map +1 -0
- package/dist/commands/browser-operator.js +374 -0
- package/dist/commands/browser-operator.js.map +1 -0
- package/dist/commands/browser.d.ts.map +1 -1
- package/dist/commands/browser.js +72 -1
- package/dist/commands/browser.js.map +1 -1
- package/dist/commands/daemon.d.ts.map +1 -1
- package/dist/commands/daemon.js +40 -4
- package/dist/commands/daemon.js.map +1 -1
- package/dist/commands/explore.d.ts.map +1 -1
- package/dist/commands/explore.js +4 -1
- package/dist/commands/explore.js.map +1 -1
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +4 -1
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +14 -14
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/migrate-schema.d.ts.map +1 -1
- package/dist/commands/migrate-schema.js +10 -0
- package/dist/commands/migrate-schema.js.map +1 -1
- package/dist/commands/operate.d.ts +4 -3
- package/dist/commands/operate.d.ts.map +1 -1
- package/dist/commands/operate.js +8 -483
- package/dist/commands/operate.js.map +1 -1
- package/dist/commands/record.d.ts.map +1 -1
- package/dist/commands/record.js +2 -1
- package/dist/commands/record.js.map +1 -1
- package/dist/commands/search.js +1 -1
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/skills.js +1 -1
- package/dist/commands/skills.js.map +1 -1
- package/dist/commands/synthesize.d.ts.map +1 -1
- package/dist/commands/synthesize.js +33 -3
- package/dist/commands/synthesize.js.map +1 -1
- package/dist/discovery/aliases.d.ts.map +1 -1
- package/dist/discovery/aliases.js +76 -1
- package/dist/discovery/aliases.js.map +1 -1
- package/dist/discovery/loader.d.ts.map +1 -1
- package/dist/discovery/loader.js +3 -1
- package/dist/discovery/loader.js.map +1 -1
- package/dist/electron-apps.d.ts +22 -0
- package/dist/electron-apps.d.ts.map +1 -1
- package/dist/electron-apps.js +324 -0
- package/dist/electron-apps.js.map +1 -1
- package/dist/engine/download.d.ts.map +1 -1
- package/dist/engine/download.js +12 -5
- package/dist/engine/download.js.map +1 -1
- package/dist/engine/repair/engine.js +2 -2
- package/dist/engine/repair/engine.js.map +1 -1
- package/dist/engine/steps/desktop-ax.d.ts +10 -0
- package/dist/engine/steps/desktop-ax.d.ts.map +1 -1
- package/dist/engine/steps/desktop-ax.js +20 -0
- package/dist/engine/steps/desktop-ax.js.map +1 -1
- package/dist/engine/steps/exec.d.ts +1 -1
- package/dist/engine/steps/exec.d.ts.map +1 -1
- package/dist/engine/steps/exec.js +20 -1
- package/dist/engine/steps/exec.js.map +1 -1
- package/dist/engine/steps/write-temp.js +1 -1
- package/dist/engine/steps/write-temp.js.map +1 -1
- package/dist/engine/template.d.ts.map +1 -1
- package/dist/engine/template.js +10 -2
- package/dist/engine/template.js.map +1 -1
- package/dist/main.js +12 -3
- package/dist/main.js.map +1 -1
- package/dist/manifest-compact.txt +8 -7
- package/dist/manifest-search.json +1 -1
- package/dist/manifest.json +2161 -171
- package/dist/mcp/http-transport.d.ts.map +1 -1
- package/dist/mcp/http-transport.js +3 -6
- package/dist/mcp/http-transport.js.map +1 -1
- package/dist/mcp/streamable-http/handle-post.js +1 -1
- package/dist/mcp/tools.d.ts +2 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +8 -4
- package/dist/mcp/tools.js.map +1 -1
- package/dist/output/envelope.d.ts +1 -5
- package/dist/output/envelope.d.ts.map +1 -1
- package/dist/output/envelope.js +1 -5
- package/dist/output/envelope.js.map +1 -1
- package/dist/output/formatter.d.ts +2 -2
- package/dist/output/formatter.js +3 -3
- package/dist/output/formatter.js.map +1 -1
- package/dist/transport/adapters/cua.d.ts +9 -10
- package/dist/transport/adapters/cua.d.ts.map +1 -1
- package/dist/transport/adapters/cua.js +22 -24
- package/dist/transport/adapters/cua.js.map +1 -1
- package/dist/transport/adapters/desktop-atspi.d.ts +1 -1
- package/dist/transport/adapters/desktop-atspi.js +2 -2
- package/dist/transport/adapters/desktop-atspi.js.map +1 -1
- package/dist/transport/adapters/desktop-ax-background-click-swift.d.ts +11 -0
- package/dist/transport/adapters/desktop-ax-background-click-swift.d.ts.map +1 -0
- package/dist/transport/adapters/desktop-ax-background-click-swift.js +136 -0
- package/dist/transport/adapters/desktop-ax-background-click-swift.js.map +1 -0
- package/dist/transport/adapters/desktop-ax-background-click.d.ts +4 -0
- package/dist/transport/adapters/desktop-ax-background-click.d.ts.map +1 -0
- package/dist/transport/adapters/desktop-ax-background-click.js +70 -0
- package/dist/transport/adapters/desktop-ax-background-click.js.map +1 -0
- package/dist/transport/adapters/desktop-ax-swift.d.ts +56 -0
- package/dist/transport/adapters/desktop-ax-swift.d.ts.map +1 -0
- package/dist/transport/adapters/desktop-ax-swift.js +458 -0
- package/dist/transport/adapters/desktop-ax-swift.js.map +1 -0
- package/dist/transport/adapters/desktop-ax.d.ts +14 -0
- package/dist/transport/adapters/desktop-ax.d.ts.map +1 -1
- package/dist/transport/adapters/desktop-ax.js +262 -32
- package/dist/transport/adapters/desktop-ax.js.map +1 -1
- package/dist/transport/adapters/desktop-uia.d.ts +1 -1
- package/dist/transport/adapters/desktop-uia.js +2 -2
- package/dist/transport/adapters/desktop-uia.js.map +1 -1
- package/dist/transport/adapters/http.js +1 -1
- package/dist/transport/adapters/http.js.map +1 -1
- package/dist/transport/capability.d.ts +1 -1
- package/dist/transport/capability.d.ts.map +1 -1
- package/dist/transport/capability.js +6 -1
- package/dist/transport/capability.js.map +1 -1
- package/package.json +6 -2
- package/src/adapters/_electron/desktop-shared.ts +383 -0
- package/src/adapters/docker/build.yaml +1 -1
- package/src/adapters/docker/images.yaml +1 -1
- package/src/adapters/docker/logs.yaml +1 -1
- package/src/adapters/docker/networks.yaml +1 -1
- package/src/adapters/docker/ps.yaml +1 -1
- package/src/adapters/docker/run.yaml +1 -1
- package/src/adapters/docker/volumes.yaml +1 -1
- package/src/adapters/electron-desktop/electron-desktop.ts +57 -0
- package/src/adapters/macos/caffeinate.yaml +2 -2
- package/src/adapters/macos/processes.yaml +3 -3
- package/src/adapters/macos/screen-recording.yaml +2 -2
- package/src/adapters/substack/trending.yaml +2 -1
- package/src/hub/external-clis.yaml +175 -0
|
@@ -0,0 +1,598 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent backend matrix — anti-consensus bridge policy.
|
|
3
|
+
*
|
|
4
|
+
* The core decision is deliberate: ACP is an editor compatibility protocol,
|
|
5
|
+
* not Uni-CLI's agent runtime. Prefer direct process/json/MCP routes for
|
|
6
|
+
* first-token latency, session ownership, and provider-specific features.
|
|
7
|
+
*/
|
|
8
|
+
import { EDITOR_BACKENDS } from "./editor-backends.js";
|
|
9
|
+
const ACP_COMPAT = "ACP is compatibility: expose it for editors and registries, but keep Uni-CLI's core loop on direct process/json/MCP routes.";
|
|
10
|
+
const AGENT_BACKENDS = [
|
|
11
|
+
{
|
|
12
|
+
id: "claude-code",
|
|
13
|
+
display_name: "Claude Code",
|
|
14
|
+
aliases: ["claude", "claudecode", "claude agent"],
|
|
15
|
+
binaries: ["claude"],
|
|
16
|
+
primary_route: "json_stream",
|
|
17
|
+
protocols: ["native_cli", "json_stream", "mcp", "acp", "terminal"],
|
|
18
|
+
external_cli_name: "claude-code",
|
|
19
|
+
tier: "core",
|
|
20
|
+
maturity: "stable",
|
|
21
|
+
install_hint: "Install Claude Code, then expose Uni-CLI through MCP.",
|
|
22
|
+
probe: "claude --version",
|
|
23
|
+
strengths: [
|
|
24
|
+
"strong coding loop",
|
|
25
|
+
"project memory",
|
|
26
|
+
"MCP tool access",
|
|
27
|
+
"structured stream output",
|
|
28
|
+
],
|
|
29
|
+
risks: [
|
|
30
|
+
"subscription/auth constraints",
|
|
31
|
+
"provider-specific slash commands do not map cleanly to ACP",
|
|
32
|
+
],
|
|
33
|
+
policy: ACP_COMPAT,
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
id: "codex",
|
|
37
|
+
display_name: "Codex CLI",
|
|
38
|
+
aliases: ["codex-cli", "openai codex", "codex agent"],
|
|
39
|
+
binaries: ["codex"],
|
|
40
|
+
primary_route: "json_stream",
|
|
41
|
+
protocols: ["native_cli", "json_stream", "mcp", "acp", "terminal"],
|
|
42
|
+
external_cli_name: "codex-cli",
|
|
43
|
+
tier: "core",
|
|
44
|
+
maturity: "fast-moving",
|
|
45
|
+
install_hint: "Install Codex CLI and configure Uni-CLI as an MCP server.",
|
|
46
|
+
probe: "codex --version",
|
|
47
|
+
strengths: [
|
|
48
|
+
"AGENTS.md-native workflow",
|
|
49
|
+
"good codebase execution loop",
|
|
50
|
+
"MCP tool access",
|
|
51
|
+
],
|
|
52
|
+
risks: [
|
|
53
|
+
"ACP support changes quickly",
|
|
54
|
+
"session semantics should stay in Codex, not in an ACP shim",
|
|
55
|
+
],
|
|
56
|
+
policy: ACP_COMPAT,
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
id: "acpx",
|
|
60
|
+
display_name: "OpenClaw acpx",
|
|
61
|
+
aliases: ["openclaw", "acpx", "claw"],
|
|
62
|
+
binaries: ["acpx"],
|
|
63
|
+
primary_route: "acpx",
|
|
64
|
+
protocols: ["native_cli", "mcp", "acp", "terminal"],
|
|
65
|
+
external_cli_name: "acpx",
|
|
66
|
+
tier: "bridge",
|
|
67
|
+
maturity: "fast-moving",
|
|
68
|
+
install_hint: "Install acpx and use ACP only at the bridge edge.",
|
|
69
|
+
probe: "acpx --version",
|
|
70
|
+
strengths: [
|
|
71
|
+
"multi-agent orchestration",
|
|
72
|
+
"agent-to-agent routing",
|
|
73
|
+
"ACP bridge ecosystem",
|
|
74
|
+
],
|
|
75
|
+
risks: [
|
|
76
|
+
"bridge layers can hide first-token latency",
|
|
77
|
+
"agent-specific features need explicit passthrough",
|
|
78
|
+
],
|
|
79
|
+
policy: ACP_COMPAT,
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
id: "hermes",
|
|
83
|
+
display_name: "Hermes Agent",
|
|
84
|
+
aliases: ["hermes-agent", "hermes agent", "nous hermes"],
|
|
85
|
+
binaries: ["hermes"],
|
|
86
|
+
primary_route: "native_cli",
|
|
87
|
+
protocols: ["native_cli", "mcp", "terminal"],
|
|
88
|
+
external_cli_name: "hermes-agent",
|
|
89
|
+
tier: "core",
|
|
90
|
+
maturity: "experimental",
|
|
91
|
+
install_hint: "Use Hermes local skills and session files with Uni-CLI adapters.",
|
|
92
|
+
probe: "hermes --version",
|
|
93
|
+
strengths: [
|
|
94
|
+
"local skills",
|
|
95
|
+
"local session index",
|
|
96
|
+
"filesystem-readable memory",
|
|
97
|
+
],
|
|
98
|
+
risks: [
|
|
99
|
+
"less standardized than MCP/ACP clients",
|
|
100
|
+
"capability discovery depends on local Hermes layout",
|
|
101
|
+
],
|
|
102
|
+
policy: "Prefer direct Hermes files/CLI surfaces; add protocol bridges only after the native loop is measurable.",
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
id: "cursor",
|
|
106
|
+
display_name: "Cursor Agent",
|
|
107
|
+
aliases: ["cursor", "cursor-agent", "cursor cli"],
|
|
108
|
+
binaries: ["cursor-agent", "cursor"],
|
|
109
|
+
primary_route: "native_cli",
|
|
110
|
+
protocols: ["native_cli", "mcp", "acp", "terminal"],
|
|
111
|
+
external_cli_name: "cursor-agent",
|
|
112
|
+
tier: "core",
|
|
113
|
+
maturity: "fast-moving",
|
|
114
|
+
install_hint: "Use Cursor's own agent binary when available; MCP remains the Uni-CLI tool path.",
|
|
115
|
+
probe: "cursor-agent --version || cursor --version",
|
|
116
|
+
strengths: [
|
|
117
|
+
"Composer/codebase index",
|
|
118
|
+
"large installed base",
|
|
119
|
+
"JetBrains/Zed ACP distribution",
|
|
120
|
+
],
|
|
121
|
+
risks: [
|
|
122
|
+
"ACP plan/session events have shown provider-specific gaps",
|
|
123
|
+
"MCP servers may need separate Cursor-side enablement",
|
|
124
|
+
],
|
|
125
|
+
policy: ACP_COMPAT,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
id: "kimi-cli",
|
|
129
|
+
display_name: "Kimi CLI",
|
|
130
|
+
aliases: ["kimi", "kimi cli", "moonshot", "moonshot kimi"],
|
|
131
|
+
binaries: ["kimi"],
|
|
132
|
+
primary_route: "native_cli",
|
|
133
|
+
protocols: ["native_cli", "json_stream", "mcp", "acp", "terminal"],
|
|
134
|
+
external_cli_name: "kimi-cli",
|
|
135
|
+
tier: "core",
|
|
136
|
+
maturity: "fast-moving",
|
|
137
|
+
install_hint: "Install kimi-cli and route Uni-CLI through direct CLI/MCP first.",
|
|
138
|
+
probe: "kimi --version",
|
|
139
|
+
strengths: [
|
|
140
|
+
"coding-agent CLI",
|
|
141
|
+
"Moonshot model access",
|
|
142
|
+
"can sit behind direct command dispatch",
|
|
143
|
+
],
|
|
144
|
+
risks: [
|
|
145
|
+
"provider flags may drift",
|
|
146
|
+
"ACP support should be treated as optional integration",
|
|
147
|
+
],
|
|
148
|
+
policy: ACP_COMPAT,
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
id: "minimax-cli",
|
|
152
|
+
display_name: "MiniMax CLI",
|
|
153
|
+
aliases: ["minimax", "minimax cli", "mmx", "minimax agent"],
|
|
154
|
+
binaries: ["mmx"],
|
|
155
|
+
primary_route: "api_cli",
|
|
156
|
+
protocols: ["native_cli", "api", "terminal"],
|
|
157
|
+
external_cli_name: "mmx-cli",
|
|
158
|
+
tier: "watchlist",
|
|
159
|
+
maturity: "experimental",
|
|
160
|
+
install_hint: "Install mmx-cli for MiniMax model/media calls; wrap coding loops explicitly.",
|
|
161
|
+
probe: "mmx --version",
|
|
162
|
+
strengths: [
|
|
163
|
+
"model/media API surface",
|
|
164
|
+
"useful as a specialist backend",
|
|
165
|
+
"already fits Uni-CLI's adapter model",
|
|
166
|
+
],
|
|
167
|
+
risks: [
|
|
168
|
+
"not a complete coding-agent loop by default",
|
|
169
|
+
"needs explicit tool/session orchestration",
|
|
170
|
+
],
|
|
171
|
+
policy: "Treat MiniMax as a specialist backend, not a universal ACP agent. Use direct API/CLI calls and compose with Uni-CLI.",
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
id: "opencode",
|
|
175
|
+
display_name: "OpenCode",
|
|
176
|
+
aliases: ["opencode-cli", "opencode ai", "opencode-ai"],
|
|
177
|
+
binaries: ["opencode"],
|
|
178
|
+
primary_route: "json_stream",
|
|
179
|
+
protocols: ["native_cli", "json_stream", "mcp", "acp", "terminal"],
|
|
180
|
+
external_cli_name: "opencode-cli",
|
|
181
|
+
tier: "sota",
|
|
182
|
+
maturity: "fast-moving",
|
|
183
|
+
install_hint: "Install opencode-ai; prefer native CLI/JSON before ACP.",
|
|
184
|
+
probe: "opencode --version",
|
|
185
|
+
strengths: [
|
|
186
|
+
"open-source terminal agent",
|
|
187
|
+
"many provider backends",
|
|
188
|
+
"session persistence",
|
|
189
|
+
],
|
|
190
|
+
risks: [
|
|
191
|
+
"project lineage and package names moved quickly",
|
|
192
|
+
"TUI details should not be scraped unless no structured mode exists",
|
|
193
|
+
],
|
|
194
|
+
policy: ACP_COMPAT,
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
id: "gemini-cli",
|
|
198
|
+
display_name: "Gemini CLI",
|
|
199
|
+
aliases: ["gemini", "google gemini cli", "gemini agent"],
|
|
200
|
+
binaries: ["gemini"],
|
|
201
|
+
primary_route: "native_cli",
|
|
202
|
+
protocols: ["native_cli", "mcp", "terminal"],
|
|
203
|
+
external_cli_name: "gemini-cli",
|
|
204
|
+
tier: "sota",
|
|
205
|
+
maturity: "stable",
|
|
206
|
+
install_hint: "Install @google/gemini-cli and use MCP for Uni-CLI tools.",
|
|
207
|
+
probe: "gemini --version",
|
|
208
|
+
strengths: ["large context window", "free tier", "Google OAuth/API key"],
|
|
209
|
+
risks: [
|
|
210
|
+
"model behavior differs sharply between free and paid/provider modes",
|
|
211
|
+
"headless output support must be probed per release",
|
|
212
|
+
],
|
|
213
|
+
policy: "Route through Gemini's native CLI first; use MCP for tools and avoid assuming ACP parity.",
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
id: "qwen-code",
|
|
217
|
+
display_name: "Qwen Code",
|
|
218
|
+
aliases: ["qwen", "qwen cli", "qwen-code", "qwen agent"],
|
|
219
|
+
binaries: ["qwen"],
|
|
220
|
+
primary_route: "native_cli",
|
|
221
|
+
protocols: ["native_cli", "mcp", "terminal", "openai_compatible"],
|
|
222
|
+
external_cli_name: "qwen-code",
|
|
223
|
+
tier: "sota",
|
|
224
|
+
maturity: "fast-moving",
|
|
225
|
+
install_hint: "Install @qwen-code/qwen-code; use direct CLI first.",
|
|
226
|
+
probe: "qwen --version",
|
|
227
|
+
strengths: [
|
|
228
|
+
"open-source terminal agent",
|
|
229
|
+
"Qwen/OpenAI-compatible providers",
|
|
230
|
+
"fast adoption in CJK workflows",
|
|
231
|
+
],
|
|
232
|
+
risks: [
|
|
233
|
+
"flags and provider setup are still moving",
|
|
234
|
+
"ACP should be treated as bridge-only until proven by probe",
|
|
235
|
+
],
|
|
236
|
+
policy: "Prefer native qwen execution and OpenAI-compatible provider config; expose Uni-CLI over MCP when tools are needed.",
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
id: "kiro-cli",
|
|
240
|
+
display_name: "Kiro CLI",
|
|
241
|
+
aliases: ["kiro", "amazon q", "amazon q cli", "amazon q developer"],
|
|
242
|
+
binaries: ["kiro-cli"],
|
|
243
|
+
primary_route: "native_cli",
|
|
244
|
+
protocols: ["native_cli", "mcp", "terminal"],
|
|
245
|
+
external_cli_name: "kiro-cli",
|
|
246
|
+
tier: "sota",
|
|
247
|
+
maturity: "fast-moving",
|
|
248
|
+
install_hint: "Install from https://cli.kiro.dev/install.",
|
|
249
|
+
probe: "kiro-cli --version",
|
|
250
|
+
strengths: ["Amazon Q CLI successor", "terminal workflow", "MCP"],
|
|
251
|
+
risks: [
|
|
252
|
+
"public npm packages named kiro/kiro-cli are unrelated or placeholders",
|
|
253
|
+
"distribution should stay on the official Kiro channel",
|
|
254
|
+
],
|
|
255
|
+
policy: "Route Kiro through its native CLI. Treat Amazon Q Developer CLI names as legacy aliases, not a separate backend.",
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
id: "aider",
|
|
259
|
+
display_name: "Aider",
|
|
260
|
+
aliases: ["aider-chat", "aider ai", "aider agent"],
|
|
261
|
+
binaries: ["aider"],
|
|
262
|
+
primary_route: "native_cli",
|
|
263
|
+
protocols: ["native_cli", "terminal", "openai_compatible"],
|
|
264
|
+
external_cli_name: "aider",
|
|
265
|
+
tier: "sota",
|
|
266
|
+
maturity: "stable",
|
|
267
|
+
install_hint: "Install aider-chat with pipx or pip.",
|
|
268
|
+
probe: "aider --version",
|
|
269
|
+
strengths: ["mature CLI pair-programming loop", "git-aware edits", "BYOK"],
|
|
270
|
+
risks: [
|
|
271
|
+
"not every workflow is an autonomous coding-agent session",
|
|
272
|
+
"streaming and provider quirks need per-model probes",
|
|
273
|
+
],
|
|
274
|
+
policy: "Use Aider as a direct file-editing backend; wrap it with HTTP only when session/event control is required.",
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
id: "goose",
|
|
278
|
+
display_name: "Goose",
|
|
279
|
+
aliases: ["goose-cli", "block goose", "aaif goose"],
|
|
280
|
+
binaries: ["goose"],
|
|
281
|
+
primary_route: "native_cli",
|
|
282
|
+
protocols: ["native_cli", "mcp", "terminal"],
|
|
283
|
+
external_cli_name: "goose",
|
|
284
|
+
tier: "sota",
|
|
285
|
+
maturity: "stable",
|
|
286
|
+
install_hint: "Install Goose from its official release channel.",
|
|
287
|
+
probe: "goose --version",
|
|
288
|
+
strengths: ["open-source extensible agent", "MCP-native posture", "BYOK"],
|
|
289
|
+
risks: [
|
|
290
|
+
"extension/provider setup can be local-state heavy",
|
|
291
|
+
"TUI automation is less reliable than native command/session APIs",
|
|
292
|
+
],
|
|
293
|
+
policy: "Prefer Goose's own CLI/session model and MCP extension path; do not force it through ACP.",
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
id: "amp",
|
|
297
|
+
display_name: "Amp",
|
|
298
|
+
aliases: ["sourcegraph amp", "ampcode", "amp agent"],
|
|
299
|
+
binaries: ["amp"],
|
|
300
|
+
primary_route: "native_cli",
|
|
301
|
+
protocols: ["native_cli", "terminal"],
|
|
302
|
+
external_cli_name: "amp",
|
|
303
|
+
tier: "sota",
|
|
304
|
+
maturity: "fast-moving",
|
|
305
|
+
install_hint: "Install @sourcegraph/amp when available for your account.",
|
|
306
|
+
probe: "amp --version",
|
|
307
|
+
strengths: ["frontier coding-agent UX", "strong planning/edit loop"],
|
|
308
|
+
risks: [
|
|
309
|
+
"account and subscription gating",
|
|
310
|
+
"structured output contracts need release-by-release probing",
|
|
311
|
+
],
|
|
312
|
+
policy: "Treat Amp as a native subscribed agent. Keep Uni-CLI as an external tool bus rather than a protocol shim.",
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
id: "github-copilot-cli",
|
|
316
|
+
display_name: "GitHub Copilot CLI",
|
|
317
|
+
aliases: ["copilot", "gh copilot", "github copilot"],
|
|
318
|
+
binaries: ["gh", "copilot"],
|
|
319
|
+
primary_route: "gh_extension",
|
|
320
|
+
protocols: ["gh_extension", "native_cli", "terminal"],
|
|
321
|
+
external_cli_name: "github-copilot-cli",
|
|
322
|
+
tier: "sota",
|
|
323
|
+
maturity: "stable",
|
|
324
|
+
install_hint: "Install @github/copilot or the GitHub CLI Copilot surface.",
|
|
325
|
+
probe: "gh copilot --help || copilot --version",
|
|
326
|
+
strengths: ["GitHub auth", "ubiquitous developer install base"],
|
|
327
|
+
risks: [
|
|
328
|
+
"not always a full autonomous coding loop",
|
|
329
|
+
"GitHub CLI extension output is command-specific",
|
|
330
|
+
],
|
|
331
|
+
policy: "Use GitHub's own CLI/extension path for shell and repo tasks; escalate to MCP only for Uni-CLI catalog access.",
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
id: "auggie",
|
|
335
|
+
display_name: "Auggie CLI",
|
|
336
|
+
aliases: ["augment", "augment code", "auggie cli"],
|
|
337
|
+
binaries: ["auggie"],
|
|
338
|
+
primary_route: "native_cli",
|
|
339
|
+
protocols: ["native_cli", "mcp", "terminal"],
|
|
340
|
+
external_cli_name: "auggie",
|
|
341
|
+
tier: "sota",
|
|
342
|
+
maturity: "fast-moving",
|
|
343
|
+
install_hint: "Install @augmentcode/auggie.",
|
|
344
|
+
probe: "auggie --version",
|
|
345
|
+
strengths: ["Augment codebase index", "IDE and terminal surfaces"],
|
|
346
|
+
risks: [
|
|
347
|
+
"proprietary account gating",
|
|
348
|
+
"local index semantics should remain owned by Augment",
|
|
349
|
+
],
|
|
350
|
+
policy: "Treat Auggie as a native indexed agent; Uni-CLI should provide external capabilities, not duplicate its index.",
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
id: "crush",
|
|
354
|
+
display_name: "Charm Crush",
|
|
355
|
+
aliases: ["charm crush", "crush cli"],
|
|
356
|
+
binaries: ["crush"],
|
|
357
|
+
primary_route: "native_cli",
|
|
358
|
+
protocols: ["native_cli", "terminal", "openai_compatible"],
|
|
359
|
+
external_cli_name: "crush",
|
|
360
|
+
tier: "sota",
|
|
361
|
+
maturity: "fast-moving",
|
|
362
|
+
install_hint: "Install Charm Crush from its official release channel.",
|
|
363
|
+
probe: "crush --version",
|
|
364
|
+
strengths: ["open-source TUI", "headless run mode", "provider flexibility"],
|
|
365
|
+
risks: [
|
|
366
|
+
"rapid release cadence",
|
|
367
|
+
"TUI snapshots are weaker than explicit headless commands",
|
|
368
|
+
],
|
|
369
|
+
policy: "Prefer headless/native Crush commands for automation; reserve TUI driving for human-in-the-loop sessions.",
|
|
370
|
+
},
|
|
371
|
+
{
|
|
372
|
+
id: "openhands",
|
|
373
|
+
display_name: "OpenHands",
|
|
374
|
+
aliases: ["open hands", "openhands-ai", "openhands cli"],
|
|
375
|
+
binaries: ["openhands"],
|
|
376
|
+
primary_route: "native_cli",
|
|
377
|
+
protocols: ["native_cli", "http_api", "terminal", "openai_compatible"],
|
|
378
|
+
external_cli_name: "openhands",
|
|
379
|
+
tier: "sota",
|
|
380
|
+
maturity: "stable",
|
|
381
|
+
install_hint: "Install openhands-ai or use the official container.",
|
|
382
|
+
probe: "openhands --version",
|
|
383
|
+
strengths: [
|
|
384
|
+
"large open-source project",
|
|
385
|
+
"sandbox/container workflows",
|
|
386
|
+
"browser and code tooling",
|
|
387
|
+
],
|
|
388
|
+
risks: [
|
|
389
|
+
"heavier runtime than a pure CLI",
|
|
390
|
+
"container/session lifecycle must be explicit",
|
|
391
|
+
],
|
|
392
|
+
policy: "Use OpenHands for sandboxed autonomous tasks; route Uni-CLI through its native tool or HTTP surface.",
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
id: "mini-swe-agent",
|
|
396
|
+
display_name: "mini-SWE-agent",
|
|
397
|
+
aliases: ["mini", "mini swe", "mini-swe", "mini swe agent"],
|
|
398
|
+
binaries: ["mini"],
|
|
399
|
+
primary_route: "native_cli",
|
|
400
|
+
protocols: ["native_cli", "terminal"],
|
|
401
|
+
external_cli_name: "mini-swe-agent",
|
|
402
|
+
tier: "sota",
|
|
403
|
+
maturity: "stable",
|
|
404
|
+
install_hint: "Install mini-swe-agent with pipx or pip.",
|
|
405
|
+
probe: "mini --help",
|
|
406
|
+
strengths: ["small repair runner", "current SWE-agent path", "SWE-bench"],
|
|
407
|
+
risks: [
|
|
408
|
+
"short binary name requires registry-backed routing",
|
|
409
|
+
"better for issue repair than general chat",
|
|
410
|
+
],
|
|
411
|
+
policy: "Prefer mini-SWE-agent for new SWE-agent-style repair/eval loops; keep classic SWE-agent as a legacy harness.",
|
|
412
|
+
},
|
|
413
|
+
{
|
|
414
|
+
id: "swe-agent",
|
|
415
|
+
display_name: "SWE-agent",
|
|
416
|
+
aliases: ["sweagent", "swe agent", "swe-agent cli"],
|
|
417
|
+
binaries: ["sweagent", "swe-agent"],
|
|
418
|
+
primary_route: "native_cli",
|
|
419
|
+
protocols: ["native_cli", "terminal"],
|
|
420
|
+
external_cli_name: "swe-agent",
|
|
421
|
+
tier: "watchlist",
|
|
422
|
+
maturity: "stable",
|
|
423
|
+
install_hint: "Install SWE-agent from the official repo only when the classic harness is required.",
|
|
424
|
+
probe: "sweagent --help || swe-agent --help",
|
|
425
|
+
strengths: ["benchmark-oriented repair loop", "reproducible task harness"],
|
|
426
|
+
risks: [
|
|
427
|
+
"better as a benchmark/repair runner than an everyday chat agent",
|
|
428
|
+
"environment setup dominates latency",
|
|
429
|
+
],
|
|
430
|
+
policy: "Keep classic SWE-agent for legacy benchmark harnesses; prefer mini-SWE-agent for new direct CLI automation.",
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
id: "agentapi",
|
|
434
|
+
display_name: "AgentAPI",
|
|
435
|
+
aliases: ["coder agentapi", "agent api", "agentapi server"],
|
|
436
|
+
binaries: ["agentapi"],
|
|
437
|
+
primary_route: "http_api",
|
|
438
|
+
protocols: ["http_api", "native_cli", "terminal"],
|
|
439
|
+
external_cli_name: "agentapi",
|
|
440
|
+
tier: "bridge",
|
|
441
|
+
maturity: "fast-moving",
|
|
442
|
+
install_hint: "Install coder/agentapi and run `agentapi server --type=<agent> -- <agent>`.",
|
|
443
|
+
probe: "agentapi --version",
|
|
444
|
+
strengths: [
|
|
445
|
+
"HTTP/SSE control plane",
|
|
446
|
+
"supports many native coding-agent CLIs",
|
|
447
|
+
"status and message APIs",
|
|
448
|
+
],
|
|
449
|
+
risks: [
|
|
450
|
+
"adapters can break when upstream TUIs change",
|
|
451
|
+
"must specify agent type to preserve message formatting",
|
|
452
|
+
],
|
|
453
|
+
policy: "Use AgentAPI as a bridge when Uni-CLI needs session/event control across native agents; do not treat it as the model runtime.",
|
|
454
|
+
},
|
|
455
|
+
{
|
|
456
|
+
id: "blackbox-cli",
|
|
457
|
+
display_name: "Blackbox CLI",
|
|
458
|
+
aliases: ["blackbox", "blackbox ai", "blackbox agent"],
|
|
459
|
+
binaries: ["blackbox"],
|
|
460
|
+
primary_route: "native_cli",
|
|
461
|
+
protocols: ["native_cli", "terminal"],
|
|
462
|
+
tier: "watchlist",
|
|
463
|
+
maturity: "experimental",
|
|
464
|
+
install_hint: "Install Blackbox CLI from an official channel only after confirming it exposes a stable non-generic binary.",
|
|
465
|
+
probe: "blackbox --version",
|
|
466
|
+
strengths: [
|
|
467
|
+
"agent picker/orchestration UX",
|
|
468
|
+
"routes across Claude/Codex/Gemini-style tools",
|
|
469
|
+
],
|
|
470
|
+
risks: [
|
|
471
|
+
"marketing claims should not be accepted without probes",
|
|
472
|
+
"the public npm package exposes a generic `cli` bin, which is unsafe for auto-routing",
|
|
473
|
+
],
|
|
474
|
+
policy: "Treat Blackbox as an optional orchestration frontend. Prefer direct backends when exact agent semantics matter.",
|
|
475
|
+
},
|
|
476
|
+
{
|
|
477
|
+
id: "droid",
|
|
478
|
+
display_name: "Droid CLI",
|
|
479
|
+
aliases: ["factory droid", "factory ai droid", "droid cli"],
|
|
480
|
+
binaries: ["droid"],
|
|
481
|
+
primary_route: "native_cli",
|
|
482
|
+
protocols: ["native_cli", "terminal", "openai_compatible"],
|
|
483
|
+
external_cli_name: "droid-cli",
|
|
484
|
+
tier: "watchlist",
|
|
485
|
+
maturity: "fast-moving",
|
|
486
|
+
install_hint: "Install Droid from Factory's official channel.",
|
|
487
|
+
probe: "droid --version",
|
|
488
|
+
strengths: ["agent-native terminal workflow", "frontier model access"],
|
|
489
|
+
risks: [
|
|
490
|
+
"install distribution is not always discoverable from public registries",
|
|
491
|
+
"protocol details should be probed before automation",
|
|
492
|
+
],
|
|
493
|
+
policy: "Keep Droid in the matrix as a watchlist backend until install/protocol probes are stable in CI.",
|
|
494
|
+
},
|
|
495
|
+
{
|
|
496
|
+
id: "forgecode",
|
|
497
|
+
display_name: "ForgeCode",
|
|
498
|
+
aliases: ["forge", "forge code", "forgecode cli"],
|
|
499
|
+
binaries: ["forge"],
|
|
500
|
+
primary_route: "native_cli",
|
|
501
|
+
protocols: ["native_cli", "terminal", "openai_compatible"],
|
|
502
|
+
external_cli_name: "forgecode",
|
|
503
|
+
tier: "watchlist",
|
|
504
|
+
maturity: "fast-moving",
|
|
505
|
+
install_hint: "Install ForgeCode from its official distribution channel.",
|
|
506
|
+
probe: "forge --version",
|
|
507
|
+
strengths: ["pair-programming agent", "provider flexibility"],
|
|
508
|
+
risks: [
|
|
509
|
+
"public package naming is not stable",
|
|
510
|
+
"subscription/provider passthrough needs explicit testing",
|
|
511
|
+
],
|
|
512
|
+
policy: "Treat ForgeCode as a direct CLI candidate, but require a successful binary probe before recommendation in automation.",
|
|
513
|
+
},
|
|
514
|
+
{
|
|
515
|
+
id: "rovo-dev",
|
|
516
|
+
display_name: "Rovo Dev CLI",
|
|
517
|
+
aliases: ["rovo", "atlassian rovo", "rovo dev"],
|
|
518
|
+
binaries: ["rovo"],
|
|
519
|
+
primary_route: "native_cli",
|
|
520
|
+
protocols: ["native_cli", "terminal"],
|
|
521
|
+
external_cli_name: "rovo-dev",
|
|
522
|
+
tier: "watchlist",
|
|
523
|
+
maturity: "fast-moving",
|
|
524
|
+
install_hint: "Install Rovo Dev from Atlassian's official channel.",
|
|
525
|
+
probe: "rovo --version",
|
|
526
|
+
strengths: ["team/workflow integration", "Atlassian ecosystem"],
|
|
527
|
+
risks: [
|
|
528
|
+
"enterprise auth and workspace gating",
|
|
529
|
+
"not all installations expose a generic coding-agent CLI",
|
|
530
|
+
],
|
|
531
|
+
policy: "Expose Rovo as a team-tooling backend only after local auth and binary probes pass.",
|
|
532
|
+
},
|
|
533
|
+
];
|
|
534
|
+
export function buildAgentBackendMatrix() {
|
|
535
|
+
return [...AGENT_BACKENDS, ...EDITOR_BACKENDS].map((entry) => ({
|
|
536
|
+
...entry,
|
|
537
|
+
primary_protocol: entry.primary_protocol ?? protocolForRoute(entry.primary_route),
|
|
538
|
+
aliases: [...entry.aliases],
|
|
539
|
+
binaries: [...entry.binaries],
|
|
540
|
+
protocols: [...entry.protocols],
|
|
541
|
+
strengths: [...entry.strengths],
|
|
542
|
+
risks: [...entry.risks],
|
|
543
|
+
}));
|
|
544
|
+
}
|
|
545
|
+
export function findAgentBackend(name) {
|
|
546
|
+
const needle = normalizeAgentName(name);
|
|
547
|
+
return buildAgentBackendMatrix().find((entry) => {
|
|
548
|
+
if (normalizeAgentName(entry.id) === needle)
|
|
549
|
+
return true;
|
|
550
|
+
if (normalizeAgentName(entry.display_name) === needle)
|
|
551
|
+
return true;
|
|
552
|
+
return entry.aliases.some((alias) => normalizeAgentName(alias) === needle);
|
|
553
|
+
});
|
|
554
|
+
}
|
|
555
|
+
export function recommendAgentBackend(name) {
|
|
556
|
+
const backend = findAgentBackend(name);
|
|
557
|
+
if (!backend) {
|
|
558
|
+
throw new Error(`Unknown agent backend: ${name}`);
|
|
559
|
+
}
|
|
560
|
+
const fallbacks = backend.protocols.filter((protocol) => protocol !== backend.primary_protocol);
|
|
561
|
+
return {
|
|
562
|
+
backend,
|
|
563
|
+
route: backend.primary_route,
|
|
564
|
+
fallbacks,
|
|
565
|
+
rationale: [
|
|
566
|
+
`Use ${backend.primary_route}/${backend.primary_protocol} first for lower first-token latency and native session semantics.`,
|
|
567
|
+
"Add MCP for Uni-CLI tool access.",
|
|
568
|
+
backend.protocols.includes("acp")
|
|
569
|
+
? "Keep ACP at the editor/registry boundary."
|
|
570
|
+
: "No ACP dependency is required for this backend.",
|
|
571
|
+
].join(" "),
|
|
572
|
+
risks: [...backend.risks],
|
|
573
|
+
};
|
|
574
|
+
}
|
|
575
|
+
function normalizeAgentName(value) {
|
|
576
|
+
return value.toLowerCase().replace(/[^a-z0-9]+/g, "");
|
|
577
|
+
}
|
|
578
|
+
function protocolForRoute(route) {
|
|
579
|
+
switch (route) {
|
|
580
|
+
case "native_cli":
|
|
581
|
+
return "native_cli";
|
|
582
|
+
case "json_stream":
|
|
583
|
+
return "json_stream";
|
|
584
|
+
case "mcp":
|
|
585
|
+
return "mcp";
|
|
586
|
+
case "acpx":
|
|
587
|
+
return "acp";
|
|
588
|
+
case "http_api":
|
|
589
|
+
return "http_api";
|
|
590
|
+
case "gh_extension":
|
|
591
|
+
return "gh_extension";
|
|
592
|
+
case "openai_compatible":
|
|
593
|
+
return "openai_compatible";
|
|
594
|
+
case "api_cli":
|
|
595
|
+
return "api";
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
//# sourceMappingURL=backends.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backends.js","sourceRoot":"","sources":["../../src/agents/backends.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editor-backends.d.ts","sourceRoot":"","sources":["../../src/agents/editor-backends.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAK9D,eAAO,MAAM,eAAe,EAAE,SAAS,wBAAwB,EAoE9D,CAAC"}
|