- Go 68.9%
- TypeScript 23.5%
- CSS 3%
- JavaScript 2.1%
- Python 1%
- Other 1.3%
* Unify transcript recovery and completion through runtime-owned v2 Problem: completed or reconnecting chats could lose visible output, infer incorrect run state, or display an intermediate duration. Root cause: independent history, event-ledger and runtime snapshots described different cuts, and sampling settlement could precede its business commit. Fix: publish canonical batches and independently versioned sampling frames from the session runtime; use one mandatory Follow v2 consumer for local and remote chat, persistence barriers, stable identities and bounded canonical paging. Preserve old session logs and provider serialization. Verification: root and Desktop Go suites, transcript/session/control race tests, 371 frontend suites, typechecks, production build, Chromium and 42 macOS Electron layout scenarios; Windows cross-compilation. Native Windows verification follows on this branch. * Keep contributor prompt instructions outside transcript migration Problem: changing contributor AGENTS text affects repository instruction inputs. Root cause: protocol documentation had also been copied into the contributor instruction file. Fix: retain the existing instructions and keep migration details in the bilingual user documentation. Verification: cache and provider serialization guards passed; no runtime code changed. * Separate transcript bookkeeping and honor native viewport geometry Problem: transcript additions exceeded existing complexity and file-size budgets, and the Windows layout fixture assumed odd native widths were exact CSS widths. Root cause: runtime reduction, settlement publication and store contracts were embedded in larger owners; 200% Windows scaling rounded a requested 1009px surface to 1010px. Fix: extract cohesive helpers/types without changing publication order or provider bytes; test representable sizes on both sides of the launcher threshold and measure actual CSS geometry. Verification: repolint, transcript/type/hooks checks and focused Go tests pass; Windows native tests and race checks exercise the extracted boundaries. * Migrate remote regression fixtures to transcript Follow Route mock remote output through the mandatory Follow stream and keep metadata separate from snapshot cuts. Assert prefix preservation and ordered completion instead of legacy history rebases. Use unique mock sampling identities across turns and wait for pane transitions in native layout tests. * Use reverse slice iteration for transcript retractions * Give explicit transcript retries a fresh snapshot A retry during ancillary hydration could join an already-installed old snapshot. Mark explicit retry reads as fresh so they supersede the previous load while ordinary startup reads still coalesce. Force a pending ancillary read in the regression and verify its late completion cannot overwrite the replacement. |
||
|---|---|---|
| .githooks | ||
| .github | ||
| .reasonix/commands | ||
| .signpath | ||
| benchmarks | ||
| cmd | ||
| desktop | ||
| docs | ||
| internal | ||
| npm | ||
| release-notes | ||
| scripts | ||
| sdk/go | ||
| site | ||
| tools | ||
| workers | ||
| .env.example | ||
| .gitattributes | ||
| .gitignore | ||
| .golangci-version | ||
| .golangci.yml | ||
| .goreleaser.yaml | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| CONTRIBUTING.md | ||
| design-qa.md | ||
| dev | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| Makefile | ||
| prod_fast_test | ||
| prod_test | ||
| README.md | ||
| README.zh-CN.md | ||
| reasonix.example.toml | ||
| REASONIX.md | ||
| SECURITY.md | ||
English · 简体中文 · Guide · ACP · Extensions · Spec · Website · Discord
Open source · MIT · a single Go binary
A coding agent you can leave running.
One local engine, four ways in — terminal, desktop app, browser, or your editor over ACP. Plan mode, permissions, a workspace sandbox and per-turn checkpoints keep a long autonomous run something you can still read and undo.
Important
Community · 加入社区 — bilingual Discord for setup help (
#help/#求助), workflow showcases, and feature ideas. → https://discord.gg/XF78rEME2D
Features
- Config-driven. Providers, the agent, enabled tools, and plugins are all
declared in
reasonix.toml. No hardcoded models. - Multi-model & composable. DeepSeek ships as a preset; any OpenAI-compatible endpoint is a config entry, not new code. Optionally run two models together (executor + planner) in separate, cache-stable sessions.
- Plugin-driven. MCP servers contribute tools, prompts, and resources; Extension Protocol v1 sidecars can also intercept runtime events, contribute Providers and structured UI, and ship versioned plugin packages.
- Cache-aware context maintenance. Startup injects a small stable environment summary, stale tool output is snipped/pruned before summary compaction, and the built-in tool schema contract is documented for regression review.
- Zero-friction distribution.
CGO_ENABLED=0single binary; cross-compile to six targets with one command. The result is a fully self-contained static binary — nothing to install on the target machine beyond the binary itself.
Install
Choose the path that matches how you want to use Reasonix. The CLI/TUI, desktop app, and VS Code extension all use the same local Reasonix engine.
Path A: CLI / TUI
Install the native binary through npm on any supported platform, or use Homebrew on macOS:
npm i -g reasonix # any OS; pulls the prebuilt native binary
brew install esengine/reasonix/reasonix # macOS
Prebuilt archives (darwin|linux|windows × amd64|arm64) and SHA256SUMS are on
every GitHub release.
Path B: Desktop app
Use the official download page for the latest desktop build.
| Platform | Package | Architecture |
|---|---|---|
| macOS | Universal .dmg or .zip |
Apple Silicon / Intel |
| Windows | Installer .exe or portable .zip |
x64 / ARM64 |
| Linux | .deb or .tar.gz |
x64 |
Windows installers are code-signed through SignPath.io with a free certificate provided by the SignPath Foundation.
Path C: VS Code extension
Complete Path A first. The extension does not bundle the CLI; it starts your
local reasonix acp backend and adds native chat, editor context, tool-call
approvals, model selection, and workspace sessions.
- VS Code: install from Visual Studio Marketplace
- VSCodium / Eclipse Theia: install from Open VSX Registry
- Extension ID:
SivanLiu.reasonix-agent· source and usage guide
Path D: Build from source
Clone the repository first:
git clone https://github.com/esengine/DeepSeek-Reasonix.git
cd DeepSeek-Reasonix
CLI
The CLI build requires Go 1.26+. The module pins a toolchain directive;
keep GOTOOLCHAIN=auto so Go downloads the pinned toolchain, or install it.
make build # -> bin/reasonix(.exe)
make cross # -> dist/ (darwin|linux|windows × amd64|arm64)
Desktop
The desktop build additionally requires Node 24+ and pnpm 10
(npm install -g pnpm@10) for the frontend and the Electron shell:
scripts/desktop-build.sh darwin/arm64 v0.0.0-dev # one platform per run
No platform webview dependencies are needed — the shell ships its own Chromium. See the desktop build guide.
Quick start
CLI / TUI
These commands are for the CLI/TUI installed through Path A:
reasonix setup # configure a provider and model
reasonix # start an interactive session
reasonix run "implement the TODOs in main.go"
In an interactive session, run /init when you want Reasonix to create project
instructions.
Desktop app
Download the installer for your platform from the official download page, install and launch Reasonix, then configure a provider and model in the app. The CLI commands above are not required for the desktop app.
For advanced CLI usage and configuration, see the CLI reference, Guide, and configuration paths.
Documentation
- Getting started: Guide · CLI reference · Configuration paths · ACP editor integration
- Features & troubleshooting: Subagent profiles ·
Context Engine v2 ·
File deliverables and the
presenttool · Capability diagnostics · Recovery and updates · Bot guide · Checkpoints & rewind - Engineering & migration: Spec · Task contracts & pause policy · Tool contract · Migrating from 0.x
- Extension development: Extensions · Plugin packages and Manifest v1 · Extension Protocol · Go SDK and starter
Star History
Acknowledgments
A small list of folks whose work has shaped Reasonix the most — the current top 20 contributors by commit count. The full contributor graph is on GitHub.
| Contributor | Contributor | Contributor | Contributor |
|---|---|---|---|
| SivanCola | esengine | ttmouse | lifu963 |
| reasonix | HUQIANTAO | GTC2080 | light-front-theory |
| merge-order-check | Li-Charles-One | eghrhegpe | wufengfan |
| CVEngineer66 | dependabot[bot] | lanshi17 | SuMuxi66 |
| CnsMaple | cyq1017 | JesonChou | XTLine |
Special thanks to Bernardxu123 for designing the project logo and intro video.
MIT — see LICENSE
Built by the community at esengine/DeepSeek-Reasonix
Support this project
If Reasonix has been useful and you'd like to say thanks, you can. It stays a coffee, not a contract — donations don't buy feature priority or change how issues get triaged.
- International — PayPal: paypal.me/yuhuahui
- 国内 — 微信支付(扫码)