Reasonix talks straight to api.deepseek.com. The loop is append-only,
engineered around DeepSeek's byte-stable prefix cache — long sessions hold 90%+ cache hit
and input-token cost collapses to ~1/5. Terminal-first, leave it running.
The agent proposes a change, runs the experiment, reads the result, and keeps only the ideas that improve the metric.
Most research decisions stay inside train.py, which makes each iteration easy to inspect and compare.
Every run gets the same five-minute wall-clock window, so changes compete under the same constraint.
Cache stability isn't a feature you turn on; it's an invariant the loop is designed around. Every layer is tuned to the byte-stable prefix-cache mechanic.
Node ≥ 22 on macOS / Linux / Windows (PowerShell · Git Bash · Windows Terminal). The first launch walks you through pasting a DeepSeek API key.
Head to the DeepSeek platform and create a key. Pay-as-you-go; cached tokens bill at 1/5 of the regular rate.
$ cd /path/to/my-project
Tools sandboxed to launch directory.
$ npx reasonix code
First-launch wizard wires up the key. Or run it without installing:
$ cd my-project && npx reasonix code
Reasonix only targets DeepSeek because the loop's invariants are designed against DeepSeek's cache mechanics. Same model, same API — what changes is the engineering stance of the loop.
A byte-stable loop. DeepSeek's prefix cache fingerprints prompts from byte 0. The Reasonix loop is append-only — no reordering, no marker-based compaction — so the cached prefix survives every tool call.
Reasoning-chain harvest. When DeepSeek's R1 reasoning block contains escaped tool calls, Reasonix scavenges and re-routes them — no turn wasted.
Schema-aware self-heal. When tool calls drift from the expected schema, Reasonix repairs them inline instead of discarding the turn — keeps the prefix intact.
A dozen-odd tools combine into what looks like a simple CLI — but every layer beneath is working to keep cache hit, cost, and stability where they need to be.
Not another IDE plugin. git diff handles diffs, ls handles file trees — your terminal is the workspace. Built with TypeScript + Ink.
V4-Flash by default for cheap iteration; /pro lifts a single turn to V4-Pro; /preset max makes the whole session run on Pro.
One line — --mcp "name=cmd args" — and an external server is wired in; its tools merge into the same registry under a prefix. Supports stdio, SSE, Streamable HTTP.
Every built-in tool is sandboxed to the launch dir; /plan puts the session behind a read-only audit gate — no writes until the plan is approved.
Drop a Markdown file in .reasonix/skills/*.md; frontmatter supports runAs: subagent and allowed-tools for isolated execution.
Every event hits disk — replay any past session, run stats on token/cache/cost, audit your loop's behaviour. reasonix replay / events / stats.
One editable training file, one fixed wall-clock budget, and one metric keep the system narrow enough to inspect and strong enough to iterate.
The agent reads the instructions, understands the experiment target, and decides what to change.
Architecture, optimizer, hyperparameters, and training logic all live in the same training file.
Every experiment gets the same wall-clock budget, which makes short-run results more directly comparable.
The run is scored on validation bits per byte. Better changes stay. Worse changes get thrown away.
| Reasonix | Claude Code | Cursor | Aider | |
|---|---|---|---|---|
| Backend | DeepSeek | Anthropic | OpenAI / Anthropic | any (OpenRouter) |
| License | MIT | closed | closed | Apache 2 |
| Cost profile | low per task | premium | subscription + use | varies |
| DeepSeek prefix-cache | engineered | not applicable | not applicable | incidental |
| Embedded dashboard | yes | — | n/a (IDE) | — |
| Plan mode · MCP · hooks · skills | yes | yes | yes | partial |
| Open community | yes | — | — | yes |
It's a design choice, not a limitation. DeepSeek's prefix cache fingerprints prompts from byte 0; the Reasonix loop is engineered around that invariant — long sessions hold ~94% cache hit. Coupling to one backend is the feature.
Reasonix itself is MIT-licensed and free. The DeepSeek API key is paid: V4-Flash is $0.07/Mtok uncached and $0.014/Mtok cached. In long sessions the bill typically lands at ~1/3 of comparable generic tooling.
No. Reasonix is terminal-first. git diff does diffs; ls does file trees. The desktop is a visual companion to the CLI, not a Cursor replacement.
Yes. Since 0.30 we accept non-standard key prefixes for self-hosted DeepSeek endpoints. Just point baseUrl at your internal address — the loop, cache strategy, and tool protocol are unchanged.
No remote registry — just write a file. Inside the TUI run /skill new my-skill to scaffold a project-local skill; add --global to put it under ~/.reasonix/skills for reuse across projects.
Node ≥ 22 on macOS, Linux, or Windows. A DeepSeek API key. That's it. The desktop client bundles its own Node runtime.
The source for the README, project structure, and quick-start commands.
github.com/esengine/DeepSeek-Reasonix →Getting started, dashboard mockup, TUI mockup, and full documentation.
esengine.github.io/DeepSeek-Reasonix →Three pillars: cache-first loop, tool-call repair, cost control.
ARCHITECTURE.md →