v{version} · DeepSeek · cache-first · MIT

DeepSeek-native
AI coding agent in your terminal

Engineered around DeepSeek's prefix-cache so token costs stay low across long sessions. Custom cell-diff renderer. MCP first-class. Open source.

$ npx reasonix code
Cache-engineered
Byte-stable prefix loop
Open source
MIT, community-developed
Terminal-native
Plus embedded dashboard

Why Reasonix

The loop is organized around four architectural pillars. Each one solves a problem generic agent frameworks don't even see — because they were designed for a different cache mechanic.

Cache-first loop

Append-only history. No in-place mutation, no marker-based compaction. The byte prefix survives every tool call — DeepSeek's prefix-cache keeps hitting turn after turn.

R1 thought harvesting

Distills reasoning_content into a typed plan state — subgoals, hypotheses, uncertainties, rejected paths. Signal kept, noise dropped.

Tool-call repair

Schema flatten · JSON repair · scavenge from <think> · truncation. Four strategies that handle DeepSeek-specific quirks generic loops mistake for model errors.

¥

Cost control

Cache-safe folding · aggressive-fold tier · summary-on-exit · model-aware budgets. The loop manages context size without breaking prefix stability.

DeepSeek-only by design

Every layer is tuned around DeepSeek's specific cache mechanic and pricing. Coupling to one backend is the feature, not a limitation.

Open community

MIT licensed and community-developed. Scoped good first issue tickets with code pointers and acceptance criteria. Real PRs from real contributors.

Quick start (60 seconds)

  1. Get a DeepSeek API key

    Sign up at platform.deepseek.com and create a key.

  2. Point it at a project

    No install needed.

    cd my-project
    npx reasonix code

    First run walks you through a short wizard — paste API key, pick a preset, optionally attach MCP servers.

  3. Review and apply

    The agent proposes edits as reviewable blocks — nothing hits disk until you /apply. Plan mode lets you stage multi-file changes before committing any.

Requires Node ≥ 22. macOS, Linux, Windows (PowerShell · Git Bash · Windows Terminal). Press Esc anytime to abort; /help for the full slash-command list.

In the box

Twelve concrete capabilities. The loop is the foundation; everything below is what you get on top of it.

renderer Cell-diff renderer

Custom TUI runtime built on Yoga. No Ink dependency. Wide-char, emoji, bracketed paste, and resize handled cleanly across platforms.

mcp MCP first-class

Stdio and Streamable HTTP transports. Tools, resources, and prompts. In-app browser to inspect any server's surface, plus --mcp "name=cmd" on the fly.

plan Plan mode

Review proposed edits before they touch disk. Approve, refine, or reject. Plan checkpoints persist across runs so you can resume mid-review.

perms Permissions

allow · ask · deny per-tool. Granular shell command rules. Interactive prompts you can teach.

dashboard Embedded dashboard

Companion web view at localhost. Live cache hit rate, cost ticker, session timeline, MCP health — all in one place.

sessions Persistent sessions

Per-workspace, named, resumable. --resume picks up exactly where you left off — system prompt, history, plan state.

hooks Hooks · skills · memory

Shell commands fire on lifecycle events. Drop-in skill packs spawn sub-agents. Project memory the agent reads on every turn.

search Semantic search

reasonix index builds an embedding index your agent can query. Local Ollama or DeepSeek-hosted embeddings.

checkpoint Auto-checkpoints

Cursor-style session-scoped rollback for AI edits. Never pollutes git history; the checkpoint stack is yours alone.

effort /effort knob

Switch reasoning depth per turn. max for the gnarly, low for routine. Slash command and CLI flag.

replay Transcript replay

reasonix replay plays a recorded session back through the renderer — useful for bug reports, demos, and audits.

events Event log

events.jsonl sidecar with reducers and a reasonix events CLI. Build dashboards, audits, or your own analytics.

Verify the cache claim yourself

We don't ship benchmark numbers in marketing copy — they move with model pricing and harness changes, so they live with the harness instead of the README. Reproduce on your own machine:

git clone https://github.com/esengine/reasonix.git && cd reasonix && npm install
npx reasonix replay benchmarks/tau-bench/transcripts/t01_address_happy.reasonix.r1.jsonl
npx reasonix diff \
  benchmarks/tau-bench/transcripts/t01_address_happy.baseline.r1.jsonl \
  benchmarks/tau-bench/transcripts/t01_address_happy.reasonix.r1.jsonl

Each committed JSONL transcript carries per-turn usage, cost, and prefixHash. Reasonix's prefix hash stays byte-stable across every model call — that's the whole game.

Read the τ-bench-lite harness →

CLI at a glance

npx reasonix code [path]                 # coding mode scoped to path
npx reasonix chat                        # interactive chat (saved config)
npx reasonix run "ask anything"          # one-shot, streams to stdout
npx reasonix doctor                      # environment health check
npx reasonix replay <file.jsonl>         # re-render a recorded session
npx reasonix diff a.jsonl b.jsonl        # compare two transcripts
npx reasonix events <name>               # query the event log
npx reasonix stats                       # cross-session usage
npx reasonix index                       # build semantic embedding index
npx reasonix mcp inspect <spec>          # probe one MCP server
npx reasonix mcp list                    # list configured MCP servers
npx reasonix prune-sessions              # clean up old sessions

Common flags:

--effort <max|high|medium|low>   # reasoning depth for the run
--model <id>                     # explicit DeepSeek model id
--mcp "name=cmd args…"           # attach an MCP server (repeatable)
--session <name>                 # named session
--resume                         # pick up the latest session for this workspace
--new                            # force a fresh session, preserve old
--no-config                      # ignore ~/.reasonix/config.json (CI)

Built by the community

Reasonix is open source and community-developed. Every avatar on the wall below is a real PR that shipped — not a sponsorship slot.

Contributors to esengine/reasonix

Ready to try?

One npx away. Sandboxed. Reviewable. Open source.