Sandbox
@Wholiver/metis

CLI and desktop coding agent for terminal workflows

Metis is a coding agent for terminal and desktop use. It supports plan and build modes, named multi-agent delegation, persistent SQLite memory, and verification steps like tests and video evidence. It is packaged as a global CLI plus a standalone desktop app, with docs and adapters for providers, sessions, skills, prompts, and integrations.

138 stars14 forksTypeScriptUpdated 7d ago
Who it's for

Builders who want a terminal or desktop agent that can plan, code, review, and verify work with saved context.

What it delivers

You can keep context across sessions, delegate work to subagents, and verify changes before you ship them.

What it does

Plan and build modes

Lets you investigate in read-only Plan mode and then execute approved work in Build mode with a live checklist.

Recursive multi-agent system

Uses named agents like coordinator, planner, implementer, reviewer, and verifier with delegation across levels.

Durable session memory

Stores project knowledge and decisions in SQLite so sessions can resume after restarts and compaction.

Terminal and desktop interfaces

Provides a TUI in the terminal and a React/Vite desktop workspace for macOS and Windows.

Verification gates

Adds test gates, video evidence inspection, and benchmark-oriented checks before work is accepted.

Model and extension support

Works with multiple model providers and can be extended with TypeScript plugins, skills, and MCP.

How to get it

  1. 1Requires Node.js >=22.19.0.
    npm install -g @wholiver_hu/metis
    metis
  2. 2Run in any repository or directory
    metis "Explain this repository"
    metis @src/main.ts "Review this file"
    git diff | metis -p "Review this diff"

README

Metis app icon

English · 简体中文

TypeScript npm version latest GitHub release Node.js 22.19.0 or newer MIT License Powered by OrcaRouter

A coding agent that searches, remembers, executes, and verifies across terminal and desktop.

Quick start · Benchmark & Comparison · Key features · Documentation

Quick start

Desktop

Standalone application with built-in Metis CLI and Server runtime (no Node.js required):

CLI installation

Requires Node.js >=22.19.0.

npm install -g @wholiver_hu/metis
metis

Run in any repository or directory:

metis "Explain this repository"
metis @src/main.ts "Review this file"
git diff | metis -p "Review this diff"

Use /login for subscription providers or configure an API key. See Quickstart for the complete guide.

Benchmark & Comparison

Terminal-Bench 2.1 Benchmark Results

In a controlled benchmark run using the same model (DeepSeek V4 Flash), same 89 real-world tasks, identical budget, and environment:

Agent FrameworkModelBenchmarkSolved (Accuracy)Architecture & Harness Advantage
🏆 MetisDeepSeek V4 FlashTerminal-Bench 2.1 (89 tasks)73 / 89 (82.02%)✅ Recursive 5-role agents + SQLite memory + Plan/Build
OpenCodeDeepSeek V4 FlashTerminal-Bench 2.1 (89 tasks)60 / 89 (67.42%)⚠️ Single-thread flat tool execution
📈 ImprovementSame Model & BudgetSame Environment+14.6% (+13 tasks)🚀 Harness, memory, and verification gates alone

Feature Comparison Matrix

CapabilityMetisClaude CodeOpenCodeCursor / Cline
License & PricingMIT ($0 Free)❌ Proprietary✅ MIT ($0 Free)⚠️ Commercial
Model FreedomAny Model / OrcaRouter❌ Anthropic Only✅ Multi-Provider⚠️ Limited / BYOK
User InterfacesTUI + React Desktop⚠️ Terminal Only⚠️ Terminal Only⚠️ IDE Only
Workflow ModePlan ↔ Build Dual-Mode⚠️ Single Flow⚠️ Single Flow⚠️ Chat / Inline
Multi-Agent SystemRecursive L0→L4 (5 Roles)⚠️ Flat Subagents⚠️ Basic❌ None
Durable MemorySQLite + Vector Search❌ Ephemeral❌ Ephemeral⚠️ Code Embeddings
Verification GatesTest Gates + Video Evidence⚠️ Manual Bash⚠️ Manual Bash⚠️ Basic Linter
Headless BenchmarkPython Adapter + Trace❌ None⚠️ Partial❌ None

Key Features

  • Plan & Build Dual Workflows — Safely investigate in read-only Plan mode, then execute approved plans with a live-updating checklist in Build mode.
  • Dual Interface for Terminal & Desktop — Work directly in your terminal via the rich interactive TUI, or use the dedicated React/Vite Desktop workspace on macOS and Windows.
  • Recursive Multi-Agent System — Native named agents (coordinator, planner, implementer, reviewer, verifier) with L0→L4 recursive delegation and Git Worktree isolation.
  • Durable Memory & Resumable Sessions — Project knowledge and decisions persist in SQLite across restarts, context compactions, and session forks.
  • Extensible & Model-Agnostic — Use any LLM provider (OpenAI, Anthropic, DeepSeek, OrcaRouter, Gemini, Groq, Ollama, vLLM) and extend with TypeScript plugins, Agent Skills, and MCP.
  • Benchmark-Grade Reliability — Automated verification gates, video evidence inspection, and full Terminal-Bench & Harbor evaluation readiness.

Documentation

TopicGuide
Install, authenticate, and startQuickstart
Commands and terminal UIUsing Metis · TUI
Providers and custom modelsProviders · Custom models · Custom providers
Multi-Agent SystemNamed Agents & Delegation
Benchmark & EvaluationTerminalBench & Harbor
Sessions and compactionSessions · Compaction
Extensions, skills, and packagesExtensions · Skills · Packages
Prompts and interface customizationPrompt templates · Themes · Keybindings
Programmatic integrationSDK · RPC · JSON
Video inspectionVideo tool
Security and configurationSecurity · Settings
Platforms and isolationWindows · Termux · tmux · Containers

See the documentation index for every guide.

Developer information
npm run build                 # Compile TypeScript and copy runtime assets
npm test                      # Run the Vitest suite
npm run clean                 # Remove compiled output
npm run build:binary          # Build the standalone binary
npm --prefix desktop run dev  # Start the React/Vite Desktop app in development
npm --prefix desktop run build # Build the renderer and Electron artifact

The package exports the Node.js SDK from @wholiver_hu/metis and the RPC entry point from @wholiver_hu/metis/rpc-entry.

Contributing

Contributions are welcome. See CONTRIBUTING.md for development, Extension and Package integration, testing, and AI-assisted contribution guidance.

License

Distributed under the MIT License.

Files in the repo

Repository payload25 top-level entries
  • .github
  • adapters
  • desktop
  • docs
  • eval_results
  • examples
  • scripts
  • src
  • test
  • vendor
  • .env.example
  • .gitignore
  • AGENTS.md
  • CHANGELOG.md
  • CONTRIBUTING.md
  • CONTRIBUTING.zh-CN.md
  • LICENSE
  • npm-shrinkwrap.json
  • package.json
  • pnpm-workspace.yaml
  • README.md
  • README.zh-CN.md
  • tsconfig.build.json
  • tsconfig.examples.json
  • vitest.config.ts

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More tools

JuliusBrussee/
caveman

🪨 why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman

105k
1 add
MemPalace/
mempalace

The best-benchmarked open-source AI memory system. And it's free.

59k
stablyai/
orca

Orca is the ADE for working with a fleet of parallel agents. Run any coding agent with your own subscription. Available on desktop, mobile and remote runtime.

66k

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

132k

Never stop coding. Free MIT AI gateway: one endpoint, 352 providers (150+ free), 1200+ models Kimi, Claude, GPT, Gemini, GLM, DeepSeek, MiniMax. Works with Claude Code, Codex, Cursor, OpenCode, Cline & Copilot. Quota-aware auto-fallback, RTK+Caveman compression saves 15-95% tokens, MCP/A2A, Desktop/PWA. Built by 550+ contributors

64k
headroomlabs-ai/
headroom

Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.

71k