Install And Run In 30 Seconds

npm install -g @zenalexa/unicli
unicli do "find the Hacker News frontpage"
unicli extract https://example.com --max-chars 1200
unicli compute snapshot --app Calculator --format compact
npx @zenalexa/unicli mcp serve
The agent needs to know... Uni-CLI answer
What can act on this task? unicli search and plan-only unicli do retrieve a small ranked set; the agent explicitly invokes one result
Which boundary will act? Each operation declares its strategy and substrate: API, file, CLI, browser, desktop, protocol, or visual
What will the action affect? Operation contracts expose arguments, auth, capability scope, effect, risk, and approval posture
What did the call return? AgentEnvelope always distinguishes success from error; supporting operations add artifacts, recordings, or post-state evidence
The path drifted—what now? Structured errors can name the owned source, failed step, retryability, alternatives, and next repair command
How does my agent call it? Native CLI is canonical; MCP projects adapter operations through default, deferred, or expanded profiles

Why It Exists

Models are only half of an agent system. The other half is the interface they use to perceive state, choose actions, cross software boundaries, and interpret feedback. Human interfaces are optimized for eyes, hands, and memory. Raw APIs and giant tool lists are optimized for developers or protocols. Neither is a complete interface for a model with a bounded context window and a task to finish.

Uni-CLI owns that missing boundary: the Agent-Computer Interface (ACI). It does not choose the model or orchestrate the agent's reasoning. It makes real software discoverable and operable, then returns structured results the agent can inspect. Evidence-capable operations can additionally record artifacts, state deltas, or trajectories. Browser automation, app harnesses, MCP, WebMCP, accessibility, subprocesses, and visual control remain replaceable substrates below the interface.

The Agent-Computer Interface Loop

The six verbs are the compact product story. The executable architecture stays more explicit: unicli architecture audit reports nine runtime stages — intent, select, govern, act, observe, diagnose, repair-or-reroute, deliver, and expose.

Product concern Current runtime truth
Discover search and plan-only do rank candidate operations from intent; neither command performs the external action
Select the agent or caller selects an operation whose contract declares a strategy and substrate; Uni-CLI does not yet arbitrate all alternatives
Govern open, confirm, and locked profiles evaluate supported operation effects and capability scopes
Act adapter commands run through the shared adapter kernel; fixed core commands keep their own native CLI handlers
Observe every rendered call has a stable success/error envelope; operation-specific evidence is optional and never inferred from dispatch alone
Repair structured errors and delivery tools can bound a diagnosis, reroute, or verification attempt where the operation supplies that context

diagnose and deliver make observation actionable; expose projects the runtime into agent-facing entry points. Adapter operations are shared by native CLI and the MCP profiles. Fixed core commands are currently canonical on the native CLI; command-by-command protocol parity is an explicit roadmap item.

What Makes It Different

If you start from... It is excellent at... Uni-CLI's distinct boundary
App/site-to-CLI harnesses creating a deep structured interface for one surface discovering and running many interfaces through one catalog and structured failure model
Browser agents or browser MCP perceiving, planning, and acting inside a browser using browser control as one substrate without becoming the model or planner
Hosted SaaS integration platforms managed OAuth, users, triggers, and cloud toolkits open, local-first access to the user's actual browser, desktop, files, and local tools
MCP registries and operations systems cataloging, running, proxying, or governing MCP servers exposing adapter operations while also reaching non-MCP software through native commands
Discovery standards such as ARD publishing where capabilities exist checking a local executable path, invoking it, reporting its result, and repairing drift

Uni-CLI is not an agent framework, model runtime, hosted integration marketplace, enterprise MCP gateway, or operating system. It is the interface runtime those systems can call when an agent needs to use real software.

What It Controls

Uni-CLI treats the computer as the environment and each controllable boundary as a substrate. The substrate can be high-level and typed, or low-level and visual; the receipt remains the same.

Layer What it controls
Operation contracts reusable actions with args, output shape, auth posture, safety metadata, source path, and repair path
Web and APIs public, cookie, header, browser-intercept, download, upload, publish, extract, and search workflows
Browser sessions CDP navigate/click/type/fill/select/wait/network/screenshot/snapshot/evidence
Desktop and OS macOS apps, Accessibility refs, screenshots, clipboard, calendar, brightness, app actions, and local system state
Local tools/files subprocess bridges, external binaries, PDF and paper workflows, file transforms, media tools, and developer CLIs
Agent protocols native CLI, JSON stream, MCP, ACP, Streamable HTTP, OpenAI-compatible routes, generated configs, and skills
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
Delivery and repair unicli delivery assess, run, trajectory, and repair-candidate for objective-level evidence gates, diagnoses, hypotheses, executed attempts, reroutes, and bounded repairs

Built For Agent Runtimes

Uni-CLI is intentionally boring at the boundary. It speaks processes, files, JSON, Markdown, and standard protocols. That makes it usable from agent runtimes, shell scripts, CI, and any host that can spawn a subprocess or attach an MCP server.

The runtime is agent-friendly in ways that matter during long tasks:

  • commands are discoverable by intent, not by memorizing names;
  • outputs are stable enough to pipe to jq, save as evidence, or feed back into another tool call;
  • auth failures, empty results, timeouts, and blocked actions are distinct exit states;
  • repair instructions point to the owned file instead of asking the agent to guess what changed upstream;
  • generated docs, llms.txt, AGENTS.md, and skills describe the catalog; MCP profiles project adapter operations, while fixed-core parity remains roadmap work.

Capability Map

Layer Examples
Intent and discovery search, do, generated operation catalog, docs index, compact catalog, AGENTS surface
Operation contract args, output, auth posture, effect, safety, capability, source path, repair path
Action substrates HTTP, RSS, CDP, AX/UIA/AT-SPI, subprocess, visual, protocol, app-specific adapters
Local computer control compute apps, snapshot, find, click, type, press, scroll, doctor compute
Policy and evidence permission profiles, deny rules, approvals, run recording, replay, probe, compare
Delivery and repair objective specs, trajectories, repair candidates, reroutes, evidence gates
Runtime exposure native CLI, MCP stdio, MCP Streamable HTTP, ACP, package exports, agent skills

For Agents

Use search first, then run the smallest matching command.

unicli search "connect slack messages" --limit 5
unicli slack search "deploy incident" -f json
unicli anilist characters "Sparkle" --limit 5 -f json
unicli danbooru tags sparkle --limit 5 -f json
unicli arxiv download 1706.03762 --output ./papers -f json
unicli pdf read ./papers/1706.03762.pdf --first_page 1 --last_page 3 -f json
unicli macos app-actions --app WhatsApp -f json
unicli macos automation-smoke -f json
unicli repair slack search

Output defaults to structured Markdown for non-TTY and agent-user-agent runs. Force a machine format when you need one:

UNICLI_OUTPUT=json unicli reddit hot --limit 10
unicli hackernews top --limit 5 -f yaml
unicli --record --permission-profile confirm twitter search "coding agents" -f json
unicli runs list -f json
unicli runs show <run_id> -f json
unicli runs probe <run_id> -f json
unicli runs replay <run_id> --permission-profile confirm --yes --min-score 1 --min-context-score 1 --min-overall-score 1 -f json
unicli runs compare <run_id> <replay_run_id> -f json
unicli runs compare <run_id> <replay_run_id> --min-score 1 --min-context-score 1 --min-overall-score 1 -f json
unicli --permission-profile locked --yes --remember-approval word set-font "Inter"
unicli approvals list -f json
unicli approvals revoke <approval_key> -f json
unicli browser evidence --render-aware --expect-domain example.com -f json

Protocol entry points:

npx @zenalexa/unicli mcp serve
npx @zenalexa/unicli mcp serve --transport streamable --port 19826
unicli acp
unicli agents recommend codex
unicli agents matrix

ACP is supported for editors and bridge tooling. The primary runtime path stays native CLI, JSON stream, or MCP when those routes are available.

Local Computer Control

unicli compute controls installed apps through native accessibility, Electron CDP, and visual fallback transports.

unicli compute apps
unicli compute snapshot --app Calculator --format compact
unicli compute find --role button --name 5 --first
unicli compute find --role input --text 8 --first
unicli compute click @e7
unicli doctor compute --json
npx @zenalexa/unicli mcp serve --profile computer-use

Start with Compute, Electron App Control, and Compute Troubleshooting.

Coverage

The catalog is intentionally broad. Catalog rows are discoverable and typed; that is inventory evidence, not proof that a third-party endpoint or login is healthy today. Fixture shape, live endpoint health, and authenticated-browser health are tracked as separate evidence layers and never added together as one "working commands" claim. Recent inventory includes scholarly paper download/read workflows, ACG/anime/manga/wiki discovery, booru tag search, visual-novel catalogs, and Japanese/romaji-aware entity lookup.

The wall below is generated from active manifest sites with real logo support. Badge counts exclude quarantined commands. The full generated catalog stays in unicli list and the docs site.