Uni-CLI Roadmap
Current: v0.225.2 — Apollo · Gordon. 317 sites, 1772 commands, 103 pipeline steps.
This file tracks current engineering direction for the agent control plane for real software: a universal agent-to-computer control platform. Historical release notes live in CHANGELOG.md; they do not belong in the roadmap.
Shipped
| Area | Status |
|---|---|
| Operation catalog | Web, browser, desktop, macOS, bridge, local-tool, and protocol operations are discoverable through list, search, and do. |
| v2 output envelope | Normal command surfaces return structured success and error envelopes. |
| Operation policy | open, confirm, and locked profiles expose effect/risk/capability/resource scope, plus private remembered approvals. |
| Run recording | --record and UNICLI_RECORD_RUN=1 write append-only run traces that agents can list, show, probe, replay, and compare. |
| Browser evidence | Browser operator actions can emit pre/post evidence, movement dimensions, stale-ref details, and watchdog results. |
| Local computer control | compute exposes app discovery, snapshots, refs, clicks, typing, keys, scrolling, app launch, screenshots, and assertions. |
| Runtime exposure | Native CLI, JSON stream, MCP, ACP, HTTP API, OpenAI-compatible, and bridge routes are modeled explicitly. |
| Self-repair and delivery | Errors carry adapter path, step, retryability, suggestion, alternatives; delivery commands assess objectives and trajectories. |
| Docs site | VitePress landing page, guide/reference split, local search, and GitHub Pages deployment workflow are available. |
Next Priorities
Computer-control root model
- Keep public docs, architecture tree, command descriptions, and agent surfaces aligned around agent-to-computer control over real software.
- Treat browser automation, computer-use sandboxes, MCP, natural-language local execution, and per-site wrappers as substrates below Uni-CLI, not as competing product identities.
- Make
architecture treeandarchitecture auditthe executable check that catches regressions back into catalog/lifecycle-first framing. - Use
capability_matrixandworkflow_readinessfromarchitecture auditto separate cataloged coverage from behavior that still needs live evidence.
Operation-contract parity
- Project adapter commands and core Commander commands into the same operation-contract shape.
- Keep argument schemas identical across
search,describe,--dry-run, direct CLI, MCP, ACP, generated agent configs, and docs. - Add regression tests when a generated command family gets new arguments or a core command becomes externally callable.
Control-kernel hardening
- Keep run traces append-only, local, and private by default.
- Let agents probe replayability before repeating a command, then compare the replay trace against the original.
- Extend evidence coverage across transport classes without making opaque browser screenshots the only proof.
- Keep result envelopes, permission evaluations, and browser action evidence queryable enough for reviews and repair tasks.
Operation policy coverage
- Keep adapters open by default.
- Expand effect/risk/capability-scope inference where commands still lack enough metadata.
- Use
--yes --remember-approvalwhen a team wants repeat approval for the same command capability scope without storing raw args.
Substrate bus
- Make HTTP, CDP, accessibility, subprocess, service, and Visual dispatch share one invocation kernel and one evidence model.
- Keep ACP/MCP/HTTP as wrappers over the same operation contracts rather than separate behavior definitions.
- Surface unavailable transports as structured errors with install/setup suggestions.
Desktop and Visual stack
- Build repeatable control paths for WeChat, WeCom, DingTalk, Lark, Mail, Notes, Word, PowerPoint, Excel, and common Electron apps.
- Prefer app APIs, CDP, and accessibility before Visual.
- For partial accessibility shells, add screenshot planning, background action primitives, and post-action verification before marking commands live.
Delivery loop alignment
- Support parallel/background agent workflows with isolated worktrees, compact command discovery, and reviewable evidence.
- Keep Uni-CLI command execution independent from any single agent loop or editor protocol.
- Feed adapter failures back into repair tasks that can be run by coding agents.
Continuous trend intake
- Periodically review agent-loop, computer-use, editor-agent, and desktop automation trends through a private research process.
- Convert durable insights into architecture or roadmap updates, not prompt lore.
- Keep source-specific attribution internal and keep public docs at the capability level.
- Keep code decisions grounded in local tests, diffs, and runtime evidence.
Adapter authoring loop
- Keep browser
analyze,init,verify, fixtures, field maps, and site memory as first-class authoring artifacts. - Store reusable site notes under
~/.unicli/sites/SITE/. - Make repair output directly reusable by coding agents without extra prose.
- Keep browser
Browser network detail
- Preserve request/response detail, cache hits, filters, and timing in browser capture commands.
- Make captured network evidence usable as adapter fixtures.
Backend honesty
- Keep ACP as compatibility.
- Prefer native CLI, JSON stream, and MCP when a backend exposes them.
- Do not mark Visual as live unless a configured backend performs real actions.
Docs as product surface
- README stays install-first and capability-first.
- Public docs should explain the computer-control loop, operation contracts, action substrates, repair paths, and integration routes.
- Keep the public entry path short, current, and directly useful.
Workflow evidence closure
- Start from vehicle-assistant workflows: media, video search, browser tabs, installed apps, productivity state, and open/navigate destinations.
- Promote a workflow from cataloged to claimed only after command execution, post-state evidence, and auth/policy posture have been recorded.
- Do not add commands for coverage optics; new commands need a runner, fixture, live smoke, or platform doctor evidence.
Non-Goals
- No winner-take-all backend policy.
- No hidden success when an adapter failed.
- No theory-first README and no catalog-first identity.
- No new protocol shim unless it reduces latency, preserves session semantics, or unlocks a real client.
- No positioning as only a browser library, MCP wrapper, computer-use sandbox, natural-language shell, scraper, or per-site wrapper collection.
Verify
For public positioning and docs changes:
bash
npm run docs:build
npm run docs:check-publicFor release readiness:
bash
npm run build
npm run release:check
npm run verify