@zenalexa/unicli 0.224.1 → 0.225.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 +5 -5
- package/README.md +92 -92
- package/README.zh-CN.md +69 -69
- package/dist/adapters/_electron/desktop-shared.d.ts.map +1 -1
- package/dist/adapters/_electron/desktop-shared.js +2 -1
- package/dist/adapters/_electron/desktop-shared.js.map +1 -1
- package/dist/adapters/_electron/shared.d.ts +6 -0
- package/dist/adapters/_electron/shared.d.ts.map +1 -1
- package/dist/adapters/_electron/shared.js +9 -0
- package/dist/adapters/_electron/shared.js.map +1 -1
- package/dist/adapters/antigravity/extra.js +4 -1
- package/dist/adapters/antigravity/extra.js.map +1 -1
- package/dist/adapters/chatwise/extra.js +4 -1
- package/dist/adapters/chatwise/extra.js.map +1 -1
- package/dist/adapters/codex/codex.js +3 -1
- package/dist/adapters/codex/codex.js.map +1 -1
- package/dist/adapters/codex/extra.js +4 -1
- package/dist/adapters/codex/extra.js.map +1 -1
- package/dist/adapters/codex/projects.d.ts.map +1 -1
- package/dist/adapters/codex/projects.js +3 -1
- package/dist/adapters/codex/projects.js.map +1 -1
- package/dist/adapters/cursor/cursor.js +6 -1
- package/dist/adapters/cursor/cursor.js.map +1 -1
- package/dist/adapters/discord-app/discord-app.js +10 -1
- package/dist/adapters/discord-app/discord-app.js.map +1 -1
- package/dist/adapters/notion-app/notion-app.js +11 -1
- package/dist/adapters/notion-app/notion-app.js.map +1 -1
- package/dist/adapters/spotify/api.js +36 -6
- package/dist/adapters/spotify/api.js.map +1 -1
- package/dist/adapters/xiaohongshu/browser-state.d.ts +2 -1
- package/dist/adapters/xiaohongshu/browser-state.d.ts.map +1 -1
- package/dist/adapters/xiaohongshu/browser-state.js +56 -2
- package/dist/adapters/xiaohongshu/browser-state.js.map +1 -1
- package/dist/adapters/xiaohongshu/feed.d.ts +24 -0
- package/dist/adapters/xiaohongshu/feed.d.ts.map +1 -0
- package/dist/adapters/xiaohongshu/feed.js +82 -0
- package/dist/adapters/xiaohongshu/feed.js.map +1 -0
- package/dist/adapters/xueqiu/extra.js +2 -2
- package/dist/adapters/xueqiu/extra.js.map +1 -1
- package/dist/browser/cdp-client.d.ts +15 -1
- package/dist/browser/cdp-client.d.ts.map +1 -1
- package/dist/browser/cdp-client.js +45 -16
- package/dist/browser/cdp-client.js.map +1 -1
- package/dist/browser/daemon.js +29 -7
- package/dist/browser/daemon.js.map +1 -1
- package/dist/browser/launcher.d.ts.map +1 -1
- package/dist/browser/launcher.js +22 -8
- package/dist/browser/launcher.js.map +1 -1
- package/dist/browser/local-profiles.d.ts +2 -0
- package/dist/browser/local-profiles.d.ts.map +1 -1
- package/dist/browser/local-profiles.js +42 -2
- package/dist/browser/local-profiles.js.map +1 -1
- package/dist/browser/page.d.ts +2 -2
- package/dist/browser/page.d.ts.map +1 -1
- package/dist/browser/page.js +2 -2
- package/dist/browser/page.js.map +1 -1
- package/dist/browser/protocol.d.ts +7 -0
- package/dist/browser/protocol.d.ts.map +1 -1
- package/dist/browser/protocol.js +5 -0
- package/dist/browser/protocol.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +4 -3
- package/dist/cli.js.map +1 -1
- package/dist/commands/architecture.d.ts +3 -1
- package/dist/commands/architecture.d.ts.map +1 -1
- package/dist/commands/architecture.js +13 -5
- package/dist/commands/architecture.js.map +1 -1
- package/dist/commands/browser/index.d.ts.map +1 -1
- package/dist/commands/browser/index.js +26 -4
- package/dist/commands/browser/index.js.map +1 -1
- package/dist/commands/delivery.d.ts.map +1 -1
- package/dist/commands/delivery.js.map +1 -1
- package/dist/commands/describe.d.ts.map +1 -1
- package/dist/commands/describe.js +104 -9
- package/dist/commands/describe.js.map +1 -1
- package/dist/commands/dispatch.d.ts.map +1 -1
- package/dist/commands/dispatch.js +3 -13
- package/dist/commands/dispatch.js.map +1 -1
- package/dist/commands/do.d.ts +16 -13
- package/dist/commands/do.d.ts.map +1 -1
- package/dist/commands/do.js +72 -18
- package/dist/commands/do.js.map +1 -1
- package/dist/commands/social.d.ts.map +1 -1
- package/dist/commands/social.js +3 -13
- package/dist/commands/social.js.map +1 -1
- package/dist/core/architecture-tree.d.ts +26 -6
- package/dist/core/architecture-tree.d.ts.map +1 -1
- package/dist/core/architecture-tree.js +184 -40
- package/dist/core/architecture-tree.js.map +1 -1
- package/dist/core/capability-matrix.d.ts +63 -0
- package/dist/core/capability-matrix.d.ts.map +1 -0
- package/dist/core/capability-matrix.js +316 -0
- package/dist/core/capability-matrix.js.map +1 -0
- package/dist/core/command-contract-lint.d.ts.map +1 -1
- package/dist/core/command-contract-lint.js +3 -1
- package/dist/core/command-contract-lint.js.map +1 -1
- package/dist/core/command-contract.d.ts +10 -3
- package/dist/core/command-contract.d.ts.map +1 -1
- package/dist/core/command-contract.js +87 -5
- package/dist/core/command-contract.js.map +1 -1
- package/dist/discovery/aliases.d.ts.map +1 -1
- package/dist/discovery/aliases.js +26 -0
- package/dist/discovery/aliases.js.map +1 -1
- package/dist/discovery/core-catalog.d.ts +1 -0
- package/dist/discovery/core-catalog.d.ts.map +1 -1
- package/dist/discovery/core-catalog.js +22 -5
- package/dist/discovery/core-catalog.js.map +1 -1
- package/dist/discovery/intents.d.ts +31 -4
- package/dist/discovery/intents.d.ts.map +1 -1
- package/dist/discovery/intents.js +166 -3
- package/dist/discovery/intents.js.map +1 -1
- package/dist/discovery/loader.d.ts.map +1 -1
- package/dist/discovery/loader.js +3 -0
- package/dist/discovery/loader.js.map +1 -1
- package/dist/discovery/search.d.ts.map +1 -1
- package/dist/discovery/search.js +10 -1
- package/dist/discovery/search.js.map +1 -1
- package/dist/engine/cascade.d.ts.map +1 -1
- package/dist/engine/cascade.js +21 -25
- package/dist/engine/cascade.js.map +1 -1
- package/dist/engine/chromium-cookies.d.ts +27 -0
- package/dist/engine/chromium-cookies.d.ts.map +1 -1
- package/dist/engine/chromium-cookies.js +53 -14
- package/dist/engine/chromium-cookies.js.map +1 -1
- package/dist/engine/cookie-capture.d.ts +30 -0
- package/dist/engine/cookie-capture.d.ts.map +1 -0
- package/dist/engine/cookie-capture.js +104 -0
- package/dist/engine/cookie-capture.js.map +1 -0
- package/dist/engine/cookie-extractor.d.ts.map +1 -1
- package/dist/engine/cookie-extractor.js +4 -12
- package/dist/engine/cookie-extractor.js.map +1 -1
- package/dist/engine/cookie-refresh.d.ts +59 -8
- package/dist/engine/cookie-refresh.d.ts.map +1 -1
- package/dist/engine/cookie-refresh.js +80 -58
- package/dist/engine/cookie-refresh.js.map +1 -1
- package/dist/engine/cookie-source.d.ts +110 -0
- package/dist/engine/cookie-source.d.ts.map +1 -0
- package/dist/engine/cookie-source.js +207 -0
- package/dist/engine/cookie-source.js.map +1 -0
- package/dist/engine/cookies.d.ts +37 -25
- package/dist/engine/cookies.d.ts.map +1 -1
- package/dist/engine/cookies.js +58 -157
- package/dist/engine/cookies.js.map +1 -1
- package/dist/engine/delivery/index.d.ts +2 -1
- package/dist/engine/delivery/index.d.ts.map +1 -1
- package/dist/engine/delivery/index.js +2 -1
- package/dist/engine/delivery/index.js.map +1 -1
- package/dist/engine/delivery/spec.d.ts +44 -0
- package/dist/engine/delivery/spec.d.ts.map +1 -0
- package/dist/engine/delivery/spec.js +82 -0
- package/dist/engine/delivery/spec.js.map +1 -0
- package/dist/engine/executor.d.ts +17 -6
- package/dist/engine/executor.d.ts.map +1 -1
- package/dist/engine/executor.js +131 -68
- package/dist/engine/executor.js.map +1 -1
- package/dist/engine/kernel/stages.d.ts.map +1 -1
- package/dist/engine/kernel/stages.js +14 -4
- package/dist/engine/kernel/stages.js.map +1 -1
- package/dist/engine/objective/catalog.d.ts +23 -0
- package/dist/engine/objective/catalog.d.ts.map +1 -0
- package/dist/engine/objective/catalog.js +42 -0
- package/dist/engine/objective/catalog.js.map +1 -0
- package/dist/engine/objective/delivery.d.ts +18 -0
- package/dist/engine/objective/delivery.d.ts.map +1 -0
- package/dist/engine/objective/delivery.js +64 -0
- package/dist/engine/objective/delivery.js.map +1 -0
- package/dist/engine/objective/index.d.ts +20 -0
- package/dist/engine/objective/index.d.ts.map +1 -0
- package/dist/engine/objective/index.js +20 -0
- package/dist/engine/objective/index.js.map +1 -0
- package/dist/engine/objective/media-playback.d.ts +17 -0
- package/dist/engine/objective/media-playback.d.ts.map +1 -0
- package/dist/engine/objective/media-playback.js +186 -0
- package/dist/engine/objective/media-playback.js.map +1 -0
- package/dist/engine/objective/output.d.ts +20 -0
- package/dist/engine/objective/output.d.ts.map +1 -0
- package/dist/engine/objective/output.js +88 -0
- package/dist/engine/objective/output.js.map +1 -0
- package/dist/engine/objective/planner.d.ts +17 -0
- package/dist/engine/objective/planner.d.ts.map +1 -0
- package/dist/engine/objective/planner.js +60 -0
- package/dist/engine/objective/planner.js.map +1 -0
- package/dist/engine/objective/types.d.ts +66 -0
- package/dist/engine/objective/types.d.ts.map +1 -0
- package/dist/engine/objective/types.js +16 -0
- package/dist/engine/objective/types.js.map +1 -0
- package/dist/engine/runtime.d.ts.map +1 -1
- package/dist/engine/runtime.js +9 -4
- package/dist/engine/runtime.js.map +1 -1
- package/dist/engine/step-observer.d.ts +62 -0
- package/dist/engine/step-observer.d.ts.map +1 -0
- package/dist/engine/step-observer.js +38 -0
- package/dist/engine/step-observer.js.map +1 -0
- package/dist/engine/steps/browser-helpers.d.ts.map +1 -1
- package/dist/engine/steps/browser-helpers.js +36 -8
- package/dist/engine/steps/browser-helpers.js.map +1 -1
- package/dist/engine/steps/fetch-text.d.ts.map +1 -1
- package/dist/engine/steps/fetch-text.js +106 -33
- package/dist/engine/steps/fetch-text.js.map +1 -1
- package/dist/engine/steps/fetch.d.ts +20 -0
- package/dist/engine/steps/fetch.d.ts.map +1 -1
- package/dist/engine/steps/fetch.js.map +1 -1
- package/dist/engine/steps/index.d.ts +2 -0
- package/dist/engine/steps/index.d.ts.map +1 -1
- package/dist/engine/steps/index.js +2 -0
- package/dist/engine/steps/index.js.map +1 -1
- package/dist/engine/steps/split-text.d.ts +26 -0
- package/dist/engine/steps/split-text.d.ts.map +1 -0
- package/dist/engine/steps/split-text.js +89 -0
- package/dist/engine/steps/split-text.js.map +1 -0
- package/dist/engine/steps/to-entries.d.ts +9 -0
- package/dist/engine/steps/to-entries.d.ts.map +1 -0
- package/dist/engine/steps/to-entries.js +27 -0
- package/dist/engine/steps/to-entries.js.map +1 -0
- package/dist/fast-path/handlers/discovery.d.ts.map +1 -1
- package/dist/fast-path/handlers/discovery.js +7 -7
- package/dist/fast-path/handlers/discovery.js.map +1 -1
- package/dist/manifest-compact.txt +3 -2
- package/dist/manifest.json +183 -17
- package/dist/mcp/tools.js +1 -1
- package/dist/mcp/tools.js.map +1 -1
- package/dist/output/auth-guidance.d.ts +17 -3
- package/dist/output/auth-guidance.d.ts.map +1 -1
- package/dist/output/auth-guidance.js +27 -3
- package/dist/output/auth-guidance.js.map +1 -1
- package/dist/output/error-map.d.ts.map +1 -1
- package/dist/output/error-map.js +4 -0
- package/dist/output/error-map.js.map +1 -1
- package/package.json +4 -2
- package/server.json +2 -2
- package/skills/unicli/SKILL.md +1 -1
- package/skills/unicli-claude-code/SKILL.md +1 -1
- package/skills/unicli-hermes/SKILL.md +1 -1
- package/src/adapters/12306/price.yaml +91 -0
- package/src/adapters/12306/stations.yaml +52 -0
- package/src/adapters/12306/trains.yaml +129 -0
- package/src/adapters/_electron/desktop-shared.ts +5 -1
- package/src/adapters/_electron/shared.ts +15 -0
- package/src/adapters/antigravity/extra.ts +10 -1
- package/src/adapters/chatwise/extra.ts +10 -1
- package/src/adapters/codex/codex.ts +6 -0
- package/src/adapters/codex/extra.ts +10 -1
- package/src/adapters/codex/projects.ts +9 -1
- package/src/adapters/cursor/cursor.ts +9 -0
- package/src/adapters/discord-app/discord-app.ts +16 -1
- package/src/adapters/macos/brightness.yaml +6 -3
- package/src/adapters/macos/calendar-list.yaml +9 -11
- package/src/adapters/macos/calendar-today.yaml +1 -1
- package/src/adapters/macos/safari-url.yaml +8 -4
- package/src/adapters/maoyan/hot.yaml +1 -1
- package/src/adapters/notion-app/notion-app.ts +17 -1
- package/src/adapters/spotify/api.ts +54 -8
- package/src/adapters/weibo/trending.yaml +2 -0
- package/src/adapters/xiaohongshu/browser-state.ts +59 -2
- package/src/adapters/xiaohongshu/feed.ts +103 -0
- package/src/adapters/xueqiu/extra.ts +5 -2
package/AGENTS.md
CHANGED
|
@@ -36,7 +36,7 @@ it starts only the Uni-CLI automation profile.
|
|
|
36
36
|
|
|
37
37
|
<!-- BEGIN COUNTS -->
|
|
38
38
|
|
|
39
|
-
> <!-- STATS:site_count -->
|
|
39
|
+
> <!-- STATS:site_count -->313<!-- /STATS --> sites, <!-- STATS:command_count -->1767<!-- /STATS --> commands, <!-- STATS:pipeline_step_count -->103<!-- /STATS --> pipeline steps, BM25 bilingual search. `npm install -g @zenalexa/unicli`
|
|
40
40
|
|
|
41
41
|
<!-- END COUNTS -->
|
|
42
42
|
|
|
@@ -46,9 +46,9 @@ it starts only the Uni-CLI automation profile.
|
|
|
46
46
|
|
|
47
47
|
### Web (182+ sites)
|
|
48
48
|
|
|
49
|
-
**Chinese**: zhihu (27), xiaohongshu (22), bilibili (20), douyin (13), douban (12), v2ex (12), weibo (12), linux-do (11), +
|
|
49
|
+
**Chinese**: zhihu (27), xiaohongshu (22), bilibili (20), douyin (13), douban (12), v2ex (12), weibo (12), linux-do (11), +28 more (`unicli list`)
|
|
50
50
|
|
|
51
|
-
**International**: twitter (47), instagram (29), reddit (24), tiktok (18), youtube (17), nowcoder (16), discord-app (15), facebook (15), +
|
|
51
|
+
**International**: twitter (47), instagram (29), reddit (24), tiktok (18), youtube (17), nowcoder (16), discord-app (15), facebook (15), +74 more (`unicli list`)
|
|
52
52
|
|
|
53
53
|
**AI / ML**: chatgpt (17), antigravity (16), chatwise (16), notebooklm (15), claude (14), doubao-app (13), yollomi (12), deepseek (9), +16 more (`unicli list`)
|
|
54
54
|
|
|
@@ -58,7 +58,7 @@ it starts only the Uni-CLI automation profile.
|
|
|
58
58
|
|
|
59
59
|
**News**: hackernews (11), bloomberg (10), 36kr (5), bbc (5), reuters (5), ithome (3), cnn (2), infoq (2), +3 more (`unicli list`)
|
|
60
60
|
|
|
61
|
-
**Reference**: spotify (
|
|
61
|
+
**Reference**: spotify (24), netease-music (17), linear (10), imdb (7), marxists-cn (7), bitwarden (7), todoist (7), wikipedia (6), +15 more (`unicli list`)
|
|
62
62
|
|
|
63
63
|
### macOS (60 cmds)
|
|
64
64
|
|
|
@@ -128,7 +128,7 @@ allowlist entry without a one-line `// REASON:` justification in
|
|
|
128
128
|
|
|
129
129
|
## Version
|
|
130
130
|
|
|
131
|
-
0.
|
|
131
|
+
0.225.1 — Apollo · Conrad
|
|
132
132
|
|
|
133
133
|
## MCP one-liner (Claude Desktop / Cursor / Continue)
|
|
134
134
|
|
package/README.md
CHANGED
|
@@ -9,20 +9,22 @@
|
|
|
9
9
|
</p>
|
|
10
10
|
|
|
11
11
|
<p align="center">
|
|
12
|
-
<strong>The
|
|
12
|
+
<strong>The universal computer-control platform for agents: an agent control plane for real software.</strong>
|
|
13
13
|
</p>
|
|
14
14
|
|
|
15
15
|
<p align="center">
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
Install once, search by intent, and run the smallest governed operation across
|
|
17
|
+
websites, browsers, desktop apps, local tools, files, operating systems, and
|
|
18
|
+
agent protocols. Browser automation, computer-use sandboxes, MCP servers,
|
|
19
|
+
local code execution, accessibility, screenshots, app wrappers, and external
|
|
20
|
+
CLIs are action substrates below one loop: intent in, governed action out,
|
|
21
|
+
evidence back, repair or reroute until the result is delivered.
|
|
20
22
|
</p>
|
|
21
23
|
|
|
22
24
|
<p align="center">
|
|
23
25
|
<a href="https://olo-dot-io.github.io/Uni-CLI/">Docs</a>
|
|
24
26
|
·
|
|
25
|
-
<a href="https://olo-dot-io.github.io/Uni-CLI/reference/sites">
|
|
27
|
+
<a href="https://olo-dot-io.github.io/Uni-CLI/reference/sites">Operation catalog</a>
|
|
26
28
|
·
|
|
27
29
|
<a href="https://olo-dot-io.github.io/Uni-CLI/llms.txt">Agent index</a>
|
|
28
30
|
</p>
|
|
@@ -39,16 +41,16 @@
|
|
|
39
41
|
</p>
|
|
40
42
|
|
|
41
43
|
<p align="center">
|
|
42
|
-
<sub>Native CLI · MCP · ACP · JSON/Markdown envelopes · browser CDP · visual fallback · macOS desktop AX · <!-- STATS:site_count -->
|
|
44
|
+
<sub>Native CLI · MCP · ACP · JSON/Markdown envelopes · browser CDP · visual fallback · macOS desktop AX · <!-- STATS:site_count -->313<!-- /STATS --> surfaces · <!-- STATS:test_count -->9117<!-- /STATS --> tests</sub>
|
|
43
45
|
</p>
|
|
44
46
|
|
|
45
47
|
<p align="center">
|
|
46
|
-
<strong>
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
<strong>One agent-to-computer control loop. Many substrates. One receipt.</strong><br>
|
|
49
|
+
Search by intent, act through the best available software boundary, observe
|
|
50
|
+
the result, and keep the path repairable across CLI, MCP, ACP, CI, and skills.
|
|
49
51
|
</p>
|
|
50
52
|
|
|
51
|
-
##
|
|
53
|
+
## Install And Run In 30 Seconds
|
|
52
54
|
|
|
53
55
|
```bash
|
|
54
56
|
npm install -g @zenalexa/unicli
|
|
@@ -58,67 +60,67 @@ unicli compute snapshot --app Calculator --format compact
|
|
|
58
60
|
npx @zenalexa/unicli mcp serve
|
|
59
61
|
```
|
|
60
62
|
|
|
61
|
-
| Agent problem
|
|
62
|
-
|
|
|
63
|
-
| "What
|
|
64
|
-
| "
|
|
65
|
-
| "
|
|
66
|
-
| "
|
|
67
|
-
| "The
|
|
68
|
-
| "Expose it to my agent." | `unicli mcp serve`, ACP, native CLI, and JSON streams
|
|
63
|
+
| Agent problem | Uni-CLI answer |
|
|
64
|
+
| ----------------------------- | -------------------------------------------------------------------------------------------------- |
|
|
65
|
+
| "What can control this?" | `unicli search` and `unicli do` turn intent into ranked operation plans |
|
|
66
|
+
| "Which boundary should act?" | Web, browser, desktop, subprocess, protocol, and visual substrates share one runtime |
|
|
67
|
+
| "Can I run it safely?" | permission profiles expose `open`, `confirm`, and `locked` execution modes |
|
|
68
|
+
| "What happened?" | every run returns an AgentEnvelope with data, context, retryability, and evidence hooks |
|
|
69
|
+
| "The path failed." | `unicli delivery` turns run evidence into diagnosis, next experiment, execution, and repair bounds |
|
|
70
|
+
| "Expose it to my agent host." | `unicli mcp serve`, ACP, native CLI, and JSON streams expose the same operation contracts |
|
|
69
71
|
|
|
70
72
|
## Why It Exists
|
|
71
73
|
|
|
72
74
|
The next software user is not only a person with a mouse. It is an agent with a
|
|
73
|
-
task, a context window, a permission budget, and a need for evidence.
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
-
|
|
89
|
-
|
|
90
|
-
-
|
|
91
|
-
|
|
92
|
-
-
|
|
93
|
-
|
|
94
|
-
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
## The
|
|
75
|
+
task, a context window, a permission budget, and a need for evidence. Vehicle
|
|
76
|
+
assistants work because navigation, media, climate, and driving assistance sit
|
|
77
|
+
behind a bounded control surface. General computers need the same idea at larger
|
|
78
|
+
scale: browser state, desktop apps, local tools, files, OS services,
|
|
79
|
+
accessibility trees, screenshots, protocol servers, and website-specific paths
|
|
80
|
+
must become one controllable environment.
|
|
81
|
+
|
|
82
|
+
Uni-CLI is that control surface. It is not a browser library, a computer-use VM,
|
|
83
|
+
a natural-language shell, an MCP server, or a pile of site wrappers. Those are
|
|
84
|
+
all useful substrates. Uni-CLI sits above them and turns agent intent into
|
|
85
|
+
governed software action with an evidence receipt and a repairable path.
|
|
86
|
+
|
|
87
|
+
The platform combines pieces that usually live apart, but they are not separate
|
|
88
|
+
product identities:
|
|
89
|
+
|
|
90
|
+
- operation contracts for reusable actions across websites, apps, OS state,
|
|
91
|
+
local tools, files, and protocols;
|
|
92
|
+
- substrate adapters for HTTP, browser CDP, desktop accessibility, subprocesses,
|
|
93
|
+
visual fallback, MCP, ACP, and external CLIs;
|
|
94
|
+
- an invocation kernel that validates args, evaluates policy, executes through
|
|
95
|
+
the selected substrate, and returns one envelope;
|
|
96
|
+
- an evidence and delivery loop that diagnoses failure, records the next
|
|
97
|
+
hypothesis, reroutes or repairs, and decides whether the objective is done.
|
|
98
|
+
|
|
99
|
+
## The Computer-Control Loop
|
|
98
100
|
|
|
99
101
|
Every serious agent operation follows the same loop.
|
|
100
102
|
|
|
101
|
-
| Step
|
|
102
|
-
|
|
|
103
|
-
|
|
|
104
|
-
|
|
|
105
|
-
| Govern
|
|
106
|
-
|
|
|
107
|
-
|
|
|
108
|
-
|
|
|
109
|
-
|
|
|
110
|
-
| Deliver
|
|
111
|
-
|
|
|
103
|
+
| Step | What Uni-CLI gives the agent |
|
|
104
|
+
| -------- | ------------------------------------------------------------------------------------------------------------------ |
|
|
105
|
+
| Intent | `unicli search` and `unicli do` map a task to candidate operations, args, auth mode, examples, and risk signals |
|
|
106
|
+
| Select | operation contracts choose the smallest boundary that can act: API, browser, desktop, subprocess, protocol, visual |
|
|
107
|
+
| Govern | `open`, `confirm`, and `locked` profiles block risky effects before requests, writes, or spawns |
|
|
108
|
+
| Act | the shared kernel invokes the selected substrate instead of forking wrapper-specific behavior |
|
|
109
|
+
| Observe | AgentEnvelope v2 returns data, context, retryability, timing, and evidence hooks |
|
|
110
|
+
| Diagnose | `unicli delivery assess` classifies failures as product drift, missing context, policy block, or upstream trouble |
|
|
111
|
+
| Repair | `unicli delivery trajectory` and `repair-candidate` keep the next experiment bounded by evidence |
|
|
112
|
+
| Deliver | evidence gates decide whether the objective is satisfied, still active, blocked, or exhausted |
|
|
113
|
+
| Expose | the same operation can be called by humans, agents, MCP clients, ACP clients, CI, and scripts |
|
|
112
114
|
|
|
113
115
|
## What Makes It Different
|
|
114
116
|
|
|
115
|
-
| If you start from...
|
|
116
|
-
|
|
|
117
|
-
| Browser automation
|
|
118
|
-
|
|
|
119
|
-
|
|
|
120
|
-
|
|
|
121
|
-
|
|
|
117
|
+
| If you start from... | You usually get... | Uni-CLI makes it a substrate under... |
|
|
118
|
+
| -------------------------------- | --------------------------------------------------- | --------------------------------------------------------------------------------- |
|
|
119
|
+
| Browser automation | powerful page control | operation contracts, auth posture, evidence, delivery, and repair |
|
|
120
|
+
| Computer-use sandboxes | screen, mouse, keyboard, and benchmark environments | the same agent-to-computer loop used by local apps, browsers, CLIs, and protocols |
|
|
121
|
+
| Natural-language local execution | flexible shell and code access | typed operation boundaries, policy, receipts, and reusable command contracts |
|
|
122
|
+
| MCP server collections | easy agent attachment but high resident tool weight | a compact search-first path plus MCP profiles when the host requires MCP |
|
|
123
|
+
| Per-app or per-site wrappers | deep access to one surface | one governed runtime across web, desktop, local tools, files, and agent protocols |
|
|
122
124
|
|
|
123
125
|
<!-- IF YOU ARE AN AI AGENT: Start here.
|
|
124
126
|
Install: npm install -g @zenalexa/unicli
|
|
@@ -129,24 +131,22 @@ Delivery: write an objective spec, run unicli delivery run spec.json -f json
|
|
|
129
131
|
Prefer native CLI / JSON stream / MCP for agent runtimes. Use ACP as an editor compatibility gateway.
|
|
130
132
|
-->
|
|
131
133
|
|
|
132
|
-
## What It
|
|
133
|
-
|
|
134
|
-
Uni-CLI
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
|
139
|
-
|
|
|
140
|
-
|
|
|
141
|
-
|
|
|
142
|
-
|
|
|
143
|
-
|
|
|
144
|
-
|
|
|
145
|
-
|
|
|
146
|
-
|
|
|
147
|
-
| Delivery
|
|
148
|
-
| Output | v2 `AgentEnvelope` in Markdown, JSON, YAML, CSV, or compact format |
|
|
149
|
-
| Repair | Structured errors with `adapter_path`, failing `step`, retryability, suggestions, and alternatives |
|
|
134
|
+
## What It Controls
|
|
135
|
+
|
|
136
|
+
Uni-CLI treats the computer as the environment and each controllable boundary as
|
|
137
|
+
a substrate. The substrate can be high-level and typed, or low-level and visual;
|
|
138
|
+
the receipt remains the same.
|
|
139
|
+
|
|
140
|
+
| Layer | What it controls |
|
|
141
|
+
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
142
|
+
| Operation contracts | reusable actions with args, output shape, auth posture, safety metadata, source path, and repair path |
|
|
143
|
+
| Web and APIs | public, cookie, header, browser-intercept, download, upload, publish, extract, and search workflows |
|
|
144
|
+
| Browser sessions | CDP navigate/click/type/fill/select/wait/network/screenshot/snapshot/evidence |
|
|
145
|
+
| Desktop and OS | macOS apps, Accessibility refs, screenshots, clipboard, calendar, brightness, app actions, and local system state |
|
|
146
|
+
| Local tools/files | subprocess bridges, external binaries, PDF and paper workflows, file transforms, media tools, and developer CLIs |
|
|
147
|
+
| Agent protocols | native CLI, JSON stream, MCP, ACP, Streamable HTTP, OpenAI-compatible routes, generated configs, and skills |
|
|
148
|
+
| Policy and evidence | permission profiles, deny rules, approvals, run recording, replay, probe, compare, browser session leases, render-aware evidence, movement checks, and stale-ref details |
|
|
149
|
+
| Delivery and repair | `unicli delivery assess`, `run`, `trajectory`, and `repair-candidate` for objective-level evidence gates, diagnoses, hypotheses, executed attempts, reroutes, and bounded repairs |
|
|
150
150
|
|
|
151
151
|
## Built For Agent Runtimes
|
|
152
152
|
|
|
@@ -165,19 +165,19 @@ The runtime is agent-friendly in ways that matter during long tasks:
|
|
|
165
165
|
- repair instructions point to the owned file instead of asking the agent to
|
|
166
166
|
guess what changed upstream;
|
|
167
167
|
- generated docs, `llms.txt`, AGENTS.md, MCP profiles, and skills all describe
|
|
168
|
-
the same
|
|
168
|
+
the same operation contracts.
|
|
169
169
|
|
|
170
170
|
## Capability Map
|
|
171
171
|
|
|
172
|
-
| Layer
|
|
173
|
-
|
|
|
174
|
-
|
|
|
175
|
-
|
|
|
176
|
-
|
|
|
177
|
-
| Local computer
|
|
178
|
-
|
|
|
179
|
-
|
|
|
180
|
-
|
|
|
172
|
+
| Layer | Examples |
|
|
173
|
+
| ---------------------- | ---------------------------------------------------------------------------------------- |
|
|
174
|
+
| Intent and discovery | `search`, `do`, generated operation catalog, docs index, compact catalog, AGENTS surface |
|
|
175
|
+
| Operation contract | args, output, auth posture, effect, safety, capability, source path, repair path |
|
|
176
|
+
| Action substrates | HTTP, RSS, CDP, AX/UIA/AT-SPI, subprocess, visual, protocol, app-specific adapters |
|
|
177
|
+
| Local computer control | `compute apps`, `snapshot`, `find`, `click`, `type`, `press`, `scroll`, `doctor compute` |
|
|
178
|
+
| Policy and evidence | permission profiles, deny rules, approvals, run recording, replay, probe, compare |
|
|
179
|
+
| Delivery and repair | objective specs, trajectories, repair candidates, reroutes, evidence gates |
|
|
180
|
+
| Runtime exposure | native CLI, MCP stdio, MCP Streamable HTTP, ACP, package exports, agent skills |
|
|
181
181
|
|
|
182
182
|
## For Agents
|
|
183
183
|
|
|
@@ -352,7 +352,7 @@ The wall below is generated from active manifest sites with real logo support. B
|
|
|
352
352
|
<p><strong>audio</strong><br>
|
|
353
353
|
<a data-site="apple-podcasts" href="https://olo-dot-io.github.io/Uni-CLI/reference/sites" title="apple-podcasts: 2 commands"><img alt="apple-podcasts" src="https://img.shields.io/static/v1?label=apple-podcasts&message=2+cmds&color=16a34a&style=flat-square&logo=applepodcasts&logoColor=white"></a>
|
|
354
354
|
<a data-site="netease-music" href="https://olo-dot-io.github.io/Uni-CLI/reference/sites" title="netease-music: 15 commands"><img alt="netease-music" src="https://img.shields.io/static/v1?label=netease-music&message=15+cmds&color=16a34a&style=flat-square&logo=neteasecloudmusic&logoColor=white"></a>
|
|
355
|
-
<a data-site="spotify" href="https://olo-dot-io.github.io/Uni-CLI/reference/sites" title="spotify:
|
|
355
|
+
<a data-site="spotify" href="https://olo-dot-io.github.io/Uni-CLI/reference/sites" title="spotify: 24 commands"><img alt="spotify" src="https://img.shields.io/static/v1?label=spotify&message=24+cmds&color=16a34a&style=flat-square&logo=spotify&logoColor=white"></a>
|
|
356
356
|
</p>
|
|
357
357
|
<p><strong>content</strong><br>
|
|
358
358
|
<a data-site="pixiv" href="https://olo-dot-io.github.io/Uni-CLI/reference/sites" title="pixiv: 6 commands"><img alt="pixiv" src="https://img.shields.io/static/v1?label=pixiv&message=6+cmds&color=c2410c&style=flat-square&logo=pixiv&logoColor=white"></a>
|
|
@@ -552,5 +552,5 @@ npm run verify
|
|
|
552
552
|
[Apache-2.0](./LICENSE)
|
|
553
553
|
|
|
554
554
|
<p align="center">
|
|
555
|
-
<sub>v0.
|
|
555
|
+
<sub>v0.225.1 — Apollo · Conrad</sub>
|
|
556
556
|
</p>
|
package/README.zh-CN.md
CHANGED
|
@@ -9,18 +9,21 @@
|
|
|
9
9
|
</p>
|
|
10
10
|
|
|
11
11
|
<p align="center">
|
|
12
|
-
<strong
|
|
12
|
+
<strong>AI Agent 控制真实软件的通用 computer-control 平台。</strong>
|
|
13
13
|
</p>
|
|
14
14
|
|
|
15
15
|
<p align="center">
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
一次安装,按意图搜索,再通过最小可治理操作控制网站、浏览器、桌面 App、
|
|
17
|
+
本地工具、文件、操作系统和 Agent 协议。浏览器自动化、computer-use sandbox、
|
|
18
|
+
MCP 服务、本地代码执行、无障碍树、截图、App wrapper 和外部 CLI,
|
|
19
|
+
都是同一个闭环下面的行动 substrate:意图进入,按策略行动,证据返回,
|
|
20
|
+
失败后修复或换路,直到结果交付。
|
|
18
21
|
</p>
|
|
19
22
|
|
|
20
23
|
<p align="center">
|
|
21
24
|
<a href="https://olo-dot-io.github.io/Uni-CLI/">文档站</a>
|
|
22
25
|
·
|
|
23
|
-
<a href="https://olo-dot-io.github.io/Uni-CLI/reference/sites"
|
|
26
|
+
<a href="https://olo-dot-io.github.io/Uni-CLI/reference/sites">操作目录</a>
|
|
24
27
|
·
|
|
25
28
|
<a href="https://olo-dot-io.github.io/Uni-CLI/llms.txt">Agent 索引</a>
|
|
26
29
|
</p>
|
|
@@ -37,15 +40,15 @@
|
|
|
37
40
|
</p>
|
|
38
41
|
|
|
39
42
|
<p align="center">
|
|
40
|
-
<sub>Native CLI · MCP · ACP · JSON/Markdown envelope · browser CDP · visual fallback · macOS desktop AX · <!-- STATS:site_count -->
|
|
43
|
+
<sub>Native CLI · MCP · ACP · JSON/Markdown envelope · browser CDP · visual fallback · macOS desktop AX · <!-- STATS:site_count -->313<!-- /STATS --> 个 surface · <!-- STATS:test_count -->9117<!-- /STATS --> 个测试</sub>
|
|
41
44
|
</p>
|
|
42
45
|
|
|
43
46
|
<p align="center">
|
|
44
|
-
<strong
|
|
45
|
-
|
|
47
|
+
<strong>一条 Agent-to-computer 控制闭环,多种 substrate,同一种回执。</strong><br>
|
|
48
|
+
按意图搜索,通过最合适的软件边界行动,观察结果,并让路径在 CLI、MCP、ACP、CI 和 skill 中保持可修复。
|
|
46
49
|
</p>
|
|
47
50
|
|
|
48
|
-
## 30
|
|
51
|
+
## 30 秒安装并运行
|
|
49
52
|
|
|
50
53
|
```bash
|
|
51
54
|
npm install -g @zenalexa/unicli
|
|
@@ -55,54 +58,53 @@ unicli compute snapshot --app Calculator --format compact
|
|
|
55
58
|
npx @zenalexa/unicli mcp serve
|
|
56
59
|
```
|
|
57
60
|
|
|
58
|
-
| Agent 遇到的问题
|
|
59
|
-
|
|
|
60
|
-
| "
|
|
61
|
-
| "
|
|
62
|
-
| "
|
|
63
|
-
| "
|
|
64
|
-
| "
|
|
65
|
-
| "把它接给我的 Agent。" | `unicli mcp serve`、ACP、native CLI、JSON stream
|
|
61
|
+
| Agent 遇到的问题 | Uni-CLI 给的答案 |
|
|
62
|
+
| --------------------------- | -------------------------------------------------------------------------------- |
|
|
63
|
+
| "什么能控制这个?" | `unicli search` 和 `unicli do` 把意图转成排序后的操作计划 |
|
|
64
|
+
| "应该走哪个软件边界?" | Web、browser、desktop、subprocess、protocol、visual substrate 共享同一个 runtime |
|
|
65
|
+
| "能不能安全地跑?" | permission profile 暴露 `open`、`confirm`、`locked` 三种执行模式 |
|
|
66
|
+
| "刚才发生了什么?" | 每次运行都返回带 data、context、retryability 和证据钩子的 AgentEnvelope |
|
|
67
|
+
| "这条路径失败了。" | `unicli delivery` 把运行证据转成诊断、下一次实验、执行和修复边界 |
|
|
68
|
+
| "把它接给我的 Agent host。" | `unicli mcp serve`、ACP、native CLI、JSON stream 暴露同一份操作合同 |
|
|
66
69
|
|
|
67
70
|
## 为什么需要它
|
|
68
71
|
|
|
69
|
-
下一代软件用户不只是拿鼠标的人,也会是带着任务、上下文窗口、权限预算和证据需求的 Agent
|
|
72
|
+
下一代软件用户不只是拿鼠标的人,也会是带着任务、上下文窗口、权限预算和证据需求的 Agent。车载助手能成立,是因为导航、媒体、空调、辅助驾驶都在一个有边界的控制层下面。通用 computer 也有同样结构,只是规模更大:浏览器状态、桌面 App、本地工具、文件、OS 服务、无障碍树、截图、协议服务、站点路径,都需要被编译成一个可控环境。
|
|
70
73
|
|
|
71
|
-
Uni-CLI
|
|
74
|
+
Uni-CLI 就是这个控制面。它不是浏览器库、computer-use VM、自然语言 shell、MCP 服务,也不是一堆站点 wrapper;这些都是有价值的 substrate。Uni-CLI 位于它们之上,把 Agent 的意图变成可治理的软件动作,返回证据回执,并保留可修复、可换路的路径。
|
|
72
75
|
|
|
73
|
-
|
|
76
|
+
因此项目里这些能力不是并列身份,而是同一个平台的下层:
|
|
74
77
|
|
|
75
|
-
-
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
- 协议层:MCP、ACP、native CLI、JSON stream、skills。
|
|
78
|
+
- operation contract:覆盖网站、App、OS 状态、本地工具、文件和协议的可复用动作;
|
|
79
|
+
- substrate adapter:HTTP、browser CDP、desktop accessibility、subprocess、visual fallback、MCP、ACP、external CLI;
|
|
80
|
+
- invocation kernel:校验参数、执行策略、选择 substrate、统一 envelope;
|
|
81
|
+
- evidence / delivery loop:诊断失败、记录下一条假设、修复或换路,并判断目标是否已经交付。
|
|
80
82
|
|
|
81
|
-
##
|
|
83
|
+
## Computer-Control 闭环
|
|
82
84
|
|
|
83
85
|
严肃的 Agent 操作基本都走同一条链路。
|
|
84
86
|
|
|
85
|
-
| 步骤
|
|
86
|
-
|
|
|
87
|
-
|
|
|
88
|
-
|
|
|
89
|
-
| 治理
|
|
90
|
-
|
|
|
91
|
-
|
|
|
92
|
-
|
|
|
93
|
-
|
|
|
94
|
-
| 交付
|
|
95
|
-
|
|
|
87
|
+
| 步骤 | Uni-CLI 给 Agent 的东西 |
|
|
88
|
+
| ---- | -------------------------------------------------------------------------------------------- |
|
|
89
|
+
| 意图 | `unicli search` 和 `unicli do` 把任务映射成候选操作、参数、认证方式、样例和风险信号 |
|
|
90
|
+
| 选择 | operation contract 选择能行动的最小边界:API、browser、desktop、subprocess、protocol、visual |
|
|
91
|
+
| 治理 | `open`、`confirm`、`locked` profile 在请求、写入、启动进程前拦住高风险动作 |
|
|
92
|
+
| 行动 | 共享 kernel 调用选中的 substrate,不让 wrapper 各自定义行为 |
|
|
93
|
+
| 观察 | AgentEnvelope v2 返回 data、context、retryability、耗时和证据 hook |
|
|
94
|
+
| 诊断 | `unicli delivery assess` 把失败归为产品漂移、缺少上下文、策略阻断或上游/环境问题 |
|
|
95
|
+
| 修复 | `unicli delivery trajectory` 和 `repair-candidate` 让下一次实验继续受证据约束 |
|
|
96
|
+
| 交付 | evidence gate 判断目标已交付、仍在进行、被阻断,还是已经耗尽 |
|
|
97
|
+
| 暴露 | 同一条操作可以给人、Agent、MCP client、ACP client、CI 和脚本调用 |
|
|
96
98
|
|
|
97
99
|
## 和常见路径的区别
|
|
98
100
|
|
|
99
|
-
| 如果从...开始
|
|
100
|
-
|
|
|
101
|
-
| 浏览器自动化
|
|
102
|
-
|
|
|
103
|
-
|
|
|
104
|
-
|
|
|
105
|
-
|
|
|
101
|
+
| 如果从...开始 | 通常会得到... | Uni-CLI 把它放到哪个上位模型下面 |
|
|
102
|
+
| ----------------------- | --------------------------------- | -------------------------------------------------------------------- |
|
|
103
|
+
| 浏览器自动化 | 强大的网页控制 | operation contract、登录态姿态、证据、交付和修复 |
|
|
104
|
+
| computer-use sandbox | 屏幕、鼠标、键盘和 benchmark 环境 | 和本地 App、浏览器、CLI、协议共用的 Agent-to-computer 闭环 |
|
|
105
|
+
| 自然语言本地执行 | 灵活的 shell 和代码能力 | typed 操作边界、策略、回执和可复用合同 |
|
|
106
|
+
| MCP server 集合 | 接 Agent 很方便,但常驻上下文很重 | search-first 的低 token 主路径,以及 host 需要时才启用的 MCP profile |
|
|
107
|
+
| 单 App / 单站点 wrapper | 对一个 surface 的深访问 | 横跨 web、desktop、本地工具、文件和 Agent 协议的一套可治理 runtime |
|
|
106
108
|
|
|
107
109
|
<!-- IF YOU ARE AN AI AGENT: Start here.
|
|
108
110
|
Install: npm install -g @zenalexa/unicli
|
|
@@ -113,22 +115,20 @@ Delivery: write an objective spec, run unicli delivery run spec.json -f json
|
|
|
113
115
|
Prefer native CLI / JSON stream / MCP for agent runtimes. Use ACP as an editor compatibility gateway.
|
|
114
116
|
-->
|
|
115
117
|
|
|
116
|
-
##
|
|
118
|
+
## 它控制什么
|
|
117
119
|
|
|
118
|
-
Uni-CLI
|
|
120
|
+
Uni-CLI 把 computer 当作环境,把每一个可控边界当作 substrate。substrate 可以是高层 typed API,也可以是低层 visual;回执保持同一种。
|
|
119
121
|
|
|
120
|
-
|
|
|
121
|
-
|
|
|
122
|
-
|
|
|
123
|
-
|
|
|
124
|
-
|
|
|
125
|
-
|
|
|
126
|
-
|
|
|
127
|
-
|
|
|
128
|
-
|
|
|
129
|
-
|
|
|
130
|
-
| 输出 | v2 `AgentEnvelope`,支持 Markdown、JSON、YAML、CSV、compact |
|
|
131
|
-
| 修复 | 错误里带 `adapter_path`、失败 `step`、是否可重试、修复建议和替代命令 |
|
|
122
|
+
| 层级 | 能力 |
|
|
123
|
+
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
124
|
+
| Operation contract | 可复用动作,带 args、输出形状、认证姿态、安全元数据、source path、repair path |
|
|
125
|
+
| Web 和 API | public、cookie、header、browser-intercept、download、upload、publish、extract、search 工作流 |
|
|
126
|
+
| Browser session | CDP navigate/click/type/fill/select/wait/network/screenshot/snapshot/evidence |
|
|
127
|
+
| Desktop 和 OS | macOS App、Accessibility ref、截图、剪贴板、日历、亮度、App action、本地系统状态 |
|
|
128
|
+
| 本地工具和文件 | subprocess bridge、外部二进制、PDF/论文工作流、文件转换、媒体工具、开发者 CLI |
|
|
129
|
+
| Agent 协议 | native CLI、JSON stream、MCP、ACP、Streamable HTTP、OpenAI-compatible route、生成配置、skill |
|
|
130
|
+
| 策略和证据 | permission profile、deny rule、approval、run recording、replay、probe、compare、browser session lease、render-aware evidence、movement check、stale-ref 细节 |
|
|
131
|
+
| 交付和修复 | `unicli delivery assess`、`run`、`trajectory`、`repair-candidate`,覆盖 evidence gate、diagnosis、hypothesis、已执行尝试、换路和有边界修复 |
|
|
132
132
|
|
|
133
133
|
## 为 Agent Runtime 设计
|
|
134
134
|
|
|
@@ -140,19 +140,19 @@ Uni-CLI 在边界上刻意保持朴素:进程、文件、JSON、Markdown 和
|
|
|
140
140
|
- 输出足够稳定,可以 pipe 给 `jq`、存为证据,或者继续喂给下一步工具;
|
|
141
141
|
- auth failure、empty result、timeout、blocked action 是不同 exit state;
|
|
142
142
|
- repair instruction 指向我们拥有的文件,而不是让 Agent 猜 upstream 哪儿变了;
|
|
143
|
-
- 生成文档、`llms.txt`、AGENTS.md、MCP profile 和 skills
|
|
143
|
+
- 生成文档、`llms.txt`、AGENTS.md、MCP profile 和 skills 描述的是同一份操作合同。
|
|
144
144
|
|
|
145
145
|
## 能力地图
|
|
146
146
|
|
|
147
|
-
| 层级
|
|
148
|
-
|
|
|
149
|
-
|
|
|
150
|
-
|
|
|
151
|
-
|
|
|
152
|
-
| 本地 computer
|
|
153
|
-
|
|
|
154
|
-
|
|
|
155
|
-
|
|
|
147
|
+
| 层级 | 例子 |
|
|
148
|
+
| --------------------- | ---------------------------------------------------------------------------------------- |
|
|
149
|
+
| 意图和发现 | `search`、`do`、生成操作目录、docs index、compact catalog、AGENTS surface |
|
|
150
|
+
| Operation contract | args、output、auth posture、effect、safety、capability、source path、repair path |
|
|
151
|
+
| 行动 substrate | HTTP、RSS、CDP、AX/UIA/AT-SPI、subprocess、visual、protocol、App-specific adapter |
|
|
152
|
+
| 本地 computer control | `compute apps`、`snapshot`、`find`、`click`、`type`、`press`、`scroll`、`doctor compute` |
|
|
153
|
+
| 策略和证据 | permission profile、deny rule、approval、run recording、replay、probe、compare |
|
|
154
|
+
| 交付和修复 | objective spec、trajectory、repair candidate、reroute、evidence gate |
|
|
155
|
+
| Runtime 暴露 | native CLI、MCP stdio、MCP Streamable HTTP、ACP、package export、agent skills |
|
|
156
156
|
|
|
157
157
|
## 给 Agent 的入口
|
|
158
158
|
|
|
@@ -311,7 +311,7 @@ ACP 作为编辑器和桥接兼容层保留。真正跑任务时,优先 native
|
|
|
311
311
|
<p><strong>音频</strong><br>
|
|
312
312
|
<a data-site="apple-podcasts" href="https://olo-dot-io.github.io/Uni-CLI/reference/sites" title="apple-podcasts: 2 commands"><img alt="apple-podcasts" src="https://img.shields.io/static/v1?label=apple-podcasts&message=2+cmds&color=16a34a&style=flat-square&logo=applepodcasts&logoColor=white"></a>
|
|
313
313
|
<a data-site="netease-music" href="https://olo-dot-io.github.io/Uni-CLI/reference/sites" title="netease-music: 15 commands"><img alt="netease-music" src="https://img.shields.io/static/v1?label=netease-music&message=15+cmds&color=16a34a&style=flat-square&logo=neteasecloudmusic&logoColor=white"></a>
|
|
314
|
-
<a data-site="spotify" href="https://olo-dot-io.github.io/Uni-CLI/reference/sites" title="spotify:
|
|
314
|
+
<a data-site="spotify" href="https://olo-dot-io.github.io/Uni-CLI/reference/sites" title="spotify: 24 commands"><img alt="spotify" src="https://img.shields.io/static/v1?label=spotify&message=24+cmds&color=16a34a&style=flat-square&logo=spotify&logoColor=white"></a>
|
|
315
315
|
</p>
|
|
316
316
|
<p><strong>内容</strong><br>
|
|
317
317
|
<a data-site="pixiv" href="https://olo-dot-io.github.io/Uni-CLI/reference/sites" title="pixiv: 6 commands"><img alt="pixiv" src="https://img.shields.io/static/v1?label=pixiv&message=6+cmds&color=c2410c&style=flat-square&logo=pixiv&logoColor=white"></a>
|
|
@@ -496,5 +496,5 @@ npm run verify
|
|
|
496
496
|
[Apache-2.0](./LICENSE)
|
|
497
497
|
|
|
498
498
|
<p align="center">
|
|
499
|
-
<sub>v0.
|
|
499
|
+
<sub>v0.225.1 — Apollo · Conrad</sub>
|
|
500
500
|
</p>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"desktop-shared.d.ts","sourceRoot":"","sources":["../../../src/adapters/_electron/desktop-shared.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"desktop-shared.d.ts","sourceRoot":"","sources":["../../../src/adapters/_electron/desktop-shared.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,6BAA6B;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,oBAAoB,CAAC;CAC9B;AAED,eAAO,MAAM,8BAA8B,iGAQjC,CAAC;AAEX,eAAO,MAAM,+BAA+B,oEAOlC,CAAC;AAQX,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,6BAAkC,GAC1C,IAAI,CAyJN"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { cli, Strategy } from "../../registry.js";
|
|
2
2
|
import { getElectronApp, resolveAppControlPolicy, } from "../../electron-apps.js";
|
|
3
3
|
import { launchElectronApp } from "../../browser/launcher.js";
|
|
4
|
-
import { connectElectronApp } from "./shared.js";
|
|
4
|
+
import { connectElectronApp, ELECTRON_APP_MINIMUM_CAPABILITY, } from "./shared.js";
|
|
5
5
|
export const ELECTRON_DESKTOP_BASE_COMMANDS = [
|
|
6
6
|
"open-app",
|
|
7
7
|
"status-app",
|
|
@@ -22,6 +22,7 @@ export const ELECTRON_DESKTOP_MEDIA_COMMANDS = [
|
|
|
22
22
|
const ELECTRON_DESKTOP_COMMAND_META = {
|
|
23
23
|
adapter_path: "src/adapters/electron-desktop/electron-desktop.ts",
|
|
24
24
|
target_surface: "desktop",
|
|
25
|
+
minimum_capability: ELECTRON_APP_MINIMUM_CAPABILITY,
|
|
25
26
|
};
|
|
26
27
|
export function registerElectronDesktopCommands(site, profile = {}) {
|
|
27
28
|
const app = getElectronApp(site);
|