Skip to content

Benchmarks

The benchmark suite measures cold CLI startup, full-catalog size, and representative operation response size as an agent sees them.

Run the suite

bash
npm run bench

Use fixture mode for deterministic CI output.

bash
BENCH_FIXTURES_ONLY=1 npm run bench

Each root CLI measurement starts a new process. Adapter fixture timing covers in-process parsing and formatting. Live mode adds the subprocess and network path used by the command.

Latest generated results

Generated 2026-08-10 on Node v24.18.0 / darwin-arm64. Mode fixture (50 iterations per case). Reproduce with npm run bench (local live mode) or BENCH_FIXTURES_ONLY=1 npm run bench (CI-deterministic fixture mode).

Cold-process CLI startup

command boundarywall p50wall p95evidence class
unicli --version24 ms26 msnew subprocess, constant metadata path
unicli --help24 ms25 msnew subprocess, concise root help
unicli list -f json260 ms282 msnew subprocess, manifest fast path

Full catalog response size

metricvalue
response tokens135751
response chars488703
distinct site labels in list output347
command rows in list output1997

Adapter call p50 and p95 response tokens

categorycommandinvocation tokensresponse p50 tokensresponse p95 tokenswall p50 mswall p95 msmode
newsunicli hackernews top --limit 594044040.0030.009fixture
socialunicli reddit hot --limit 584154150.0050.007fixture
social-cnunicli 36kr hot --limit 573573570.0030.004fixture
devunicli github-trending daily --limit 5114004000.0040.005fixture

Public call budget

metricvalue
Smallest total call budget364 tokens
Largest total call budget423 tokens
Median total call budget412 tokens
Representative response token span357-415 tokens

Reading the results

  • unicli --help and unicli --version measure the smallest process startup paths.
  • unicli list -f json measures catalog loading and serialization.
  • Adapter cases use --limit 5, which reflects a common agent retrieval call.
  • Full catalog output is available on request; search and describe provide the smaller everyday path.

The public response target for common list operations is 600 total tokens or less at --limit 5. Commands with larger results should expose a limit, pagination, or compact output.

Current product surface comparison

The comparison keeps each product inside its declared boundary. Catalog totals measure breadth. The Uni-CLI task suite measures whether a user can find and prepare an operation from the shipped command line.

ProductSource revisionDeclared surfaceCurrent scale
Uni-CLIworking tree on 2026-08-11web, browser, desktop, system, and local tools337 sites and 1890 commands
OpenCLIa86d647website and browser adapter runtime176 sites and 1331 commands
CLI-Anything39634a6stateful harnesses and capability matrices79 harnesses, 22 public entries, 5 matrices, and 62 matrix capabilities

The shared personal-content classifier omits generic identity commands such as whoami. Uni-CLI exposes more matching content commands. OpenCLI currently spans more matching sites.

Personal content surfaceUni-CLIOpenCLI
commands8078
sites3844

Shipped discovery tasks

Uni-CLI completed 14/14 tasks at rank one. 14/14 top results included an invocation, inspection command, and required authentication setup. Personalized tasks completed 5/5.

TaskExpectedTop resultActionable
news-tophackernews tophackernews topyes
developer-trendinggithub-trending dailygithub-trending dailyyes
developer-code-searchgh search-codegh search-codeyes
media-playbackspotify play-trackspotify play-trackyes
auth-setupauth setupauth setupyes
cli-upgradeupgrade installupgrade installyes
harness-evolutionevolve adapterevolve adapteryes
evolution-evidenceruns distillruns distillyes
agent-plugin-inspectionplugin inspectplugin inspectyes
xiaohongshu-savedxiaohongshu savedxiaohongshu savedyes
instagram-savedinstagram savedinstagram savedyes
zhihu-recommendationszhihu recommendzhihu recommendyes
twitter-notificationstwitter notificationstwitter notificationsyes
bilibili-historybilibili historybilibili historyyes

Maintenance gates

  • Root discovery entry coverage 6/6
  • Generated catalog synchronization pass
  • OpenCLI pinned baseline integrity pass
  • Personal content command parity pass
  • Product surface gate pass

Reproduce this section with npm run bench:product-surface.

Files

FilePurpose
bench/cold-start.tsRoot command process timing
bench/adapter-call.tsRepresentative operation measurements
bench/tokens.tsToken estimator
bench/report.tsReport generation
bench/product-surface.tsDiscovery, personalization, and current product comparison
bench/fixtures/Deterministic response fixtures

The report command writes bench/results.json and updates the generated section on this page.

Released under the Apache-2.0 License