Skip to content
jacksononPublic

About

AGENT HARNESS

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

253 Commits

Folders and files

Repository files navigation

Omni

English | 中文

Node >= 18 License

Omni is a terminal-based AI coding assistant: it reads your codebase, edits files, runs commands, and finishes programming tasks through natural language — with safety guardrails on every step.

Omni TUI Omni mini

Quickstart

  1. Install (pick one):
# Native binary, zero dependencies (includes full TUI)
curl -fsSL https://raw.githubusercontent.com/jacksonon/omni/main/scripts/install.sh | sh

# Or: npm package (console, requires Node >= 18)
npm install -g ./omni-<version>.tgz   # built via `npm pack`
  1. Set your API key (any OpenAI-compatible endpoint works):
export OMNI_API_KEY=sk-xxx
export OMNI_BASE_URL=https://api.deepseek.com/v1   # optional, defaults to OpenAI
  1. Run it:
omni "show me the structure of this directory"   # single task
omni                                             # interactive session

No key at hand? npm run mock starts a local mock API for keyless end-to-end runs.

Modes

Command What it is
omni Full-screen TUI: scrollable history, Markdown rendering, click-to-expand tool cards, / commands + @ file mentions
omni mini Pure terminal CLI (Codex CLI style): same runtime, plain scrollback lines, Ctrl+T for the full transcript
omni exec "<task>" Headless mode for scripts/pipes/CI: stdout carries only the result (--output-format text|json|stream-json)
omni web Local backend (REST + SSE) + browser UI, multi-session sidebar
Desktop app Standalone Electron app (mac/win/linux) from GitHub Releases, no Node needed

Benchmarks (smoke)

This is a small, reproducible smoke benchmark — a sanity check that the loop, tools and streaming path work end-to-end. It is not a statistically rigorous evaluation and its numbers are not comparable to SWE-bench / Terminal-Bench style leaderboards.

npx tsx scripts/eval/run-headless-eval.ts --real --repeat 5   # real API (spends tokens; needs OMNI_API_KEY)
npm run eval:mock                                             # deterministic, offline, CI-safe (no key)
npm run eval                                                  # broader task set

Snapshot — model deepseek-v4.1-flash (OpenRouter pricing: in $0.15 / out $0.6 / cache $0.003 per 1M) · run 2026-10-12 · N = 5 runs × 3 smoke tasks.

Task Pass Duration p50/p90/p99 TTFT p50/p90/p99 Avg tokens Avg cost
Answer identity 5/5 2535/4008/4008ms 2430/3872/3872ms 16,654 $0.0006
Arithmetic + tool 5/5 2926/3360/3360ms 2261/2625/2625ms 16,727 $0.0001
Read file + answer 5/5 6893/7415/7415ms 2155/3106/3106ms 36,126 $0.0003
Total 15/15 3171/7224/7415ms 2277/3106/3872ms 347,534 $0.0003/run

How to read this honestly:

  • N = 5 is tiny. In the table above p99 equals the max observed value, so it is a "worst case", not a true 99th percentile. The reporter now prints median + min–max for small samples and only shows p90/p99 once N ≥ 20.
  • These are three trivial tasks (identity, arithmetic, one file read) — they exercise plumbing, not coding ability. Do not extrapolate them into a success-rate claim.
  • Absolute latency/token/cost depend on the provider, gateway, region and prompt-cache warmth; only the command, model and task set are fixed. Prompt caching dominates here: warm runs cost ~$0.00006 (≈99% cache hits) vs ~$0.0025 cold (~40×).
  • The raw structured report is written to eval-report.json; npm run eval:mock is the deterministic offline variant suitable for CI.

Background reading (different tasks and harnesses — not a like-for-like comparison): the Berkeley HarnessTax study (Sep 2026, 21 model×harness pairs) found harness choice moves success rate only ±2–5% but cost up to ~2×; the Terminal-Bench leaderboard (tbench.ai) tracks harness×model success rates on real coding tasks.

Features

  • Agent loop: streams the model → runs tool calls in parallel → feeds results back; failures are returned to the model so it fixes its own mistakes
  • Tools: files (read/write/edit), search_code, run_command, skill, lsp navigation, plus runtime tools (delegate subagents, MCP, web_fetch/web_search, ask_user, team board)
  • Safety first: permission tiers (full/safe/ask/read), dangerous-command confirmation, approval UI, audit log, workspace trust, OS-level sandbox
  • Memory & sessions: AGENTS.md project/global memory cascade, JSONL session persistence with resume/fork/rewind
  • Multi-model: providers groups (one gateway, many models), /model switching, Completions + Responses protocols, reasoning levels
  • Extensible: MCP servers, lifecycle hooks, skills, plugins, headless exec/mcp-server for CI

Configuration

JSON/JSONC, precedence: defaults → global (~/.config/omni/omni.json) → project (omni.json) → env vars → CLI args.

{
  "model": "deepseek-chat",
  "permission": "safe",
  "providers": {
    "bigmodel": { "baseURL": "https://open.bigmodel.cn/api/paas/v4", "apiKey": "{env:GLM_KEY}",
      "models": { "glm-4-flash": {} } }
  }
}

Full field reference: omni.example.jsonc.

Docs

Doc Content
Doc/Usage-Guide.md · Doc/使用指导.md User manual (setup, commands, MCP, hooks, skills, FAQ)
Doc/architecture.md · Doc/架构.md Module-by-module architecture reference
Doc/Headless-Protocol.md Headless exec / mcp-server protocol
Doc/roadmap.md Roadmap

Development

npm run dev -- "<task>"   # run from source (tsx)
npm run typecheck         # type checking
npm run build             # typecheck + compile + bundle
npm run eval:mock         # offline evaluation (deterministic, CI-friendly)

License

BSD-3-Clause. Author: Jackson — contact via GitHub Issues or wang542413041@gmail.com.

About

AGENT HARNESS

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages