Reasonix

English  ·  简体中文  ·  Guide  ·  Spec  ·  Website  ·  Discord

> [!IMPORTANT] > **Reasonix 1.0 is a ground-up rewrite in Go** — this branch (`main-v2`) is the new default and where development happens now. > The earlier `0.x` TypeScript releases are **legacy**, living on the [`v1`](https://github.com/esengine/DeepSeek-Reasonix/tree/v1) branch (maintenance only). > See the **[migration guide](./docs/MIGRATING.md)**. `npm i -g reasonix` stays the install command — `1.0.0`+ delivers the Go binary, `0.x` is the legacy TS build.

npm version CI license downloads GitHub stars AtomGit stars contributors Discussions Discord


A DeepSeek-native AI coding agent for your terminal.

A config- and plugin-driven harness — a single static Go binary, tuned around DeepSeek's prefix cache so token costs stay low across long sessions.


> [!IMPORTANT] > **Community · 加入社区** — bilingual Discord for setup help (`#help` / `#求助`), workflow showcases, and feature ideas. → ****
## 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.** External tools run as subprocesses over stdio JSON-RPC (MCP-compatible). Built-in tools self-register at compile time. - **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=0` single binary; cross-compile to six targets with one command. The only dependency is a TOML parser. ## Install ```sh 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](https://github.com/esengine/DeepSeek-Reasonix/releases). ### Code signing Windows builds are code-signed with a free certificate provided by the [SignPath Foundation](https://signpath.org/), with signing through [SignPath.io](https://signpath.io/). ### Build from source ```sh make build # -> bin/reasonix(.exe) make cross # -> dist/ (darwin|linux|windows × amd64|arm64) ``` ## Quick start ```sh reasonix setup # manage providers in the user config reasonix setup --local # optional: manage ./reasonix.toml export DEEPSEEK_API_KEY=sk-... # or let setup save it to Reasonix home .env reasonix # then run /init to generate AGENTS.md (project memory) reasonix run "implement the TODOs in main.go" reasonix run --model deepseek-pro "add unit tests for this function" echo "explain this code" | reasonix run ``` ## Configuration A minimal `reasonix.toml` — one provider and a default model — is enough to start: ```toml default_model = "deepseek-flash" [[providers]] name = "deepseek-flash" kind = "openai" base_url = "https://api.deepseek.com" model = "deepseek-v4-flash" api_key_env = "DEEPSEEK_API_KEY" ``` Resolution order is **flag > `./reasonix.toml` > the user config file > built-in defaults**; starting with **Reasonix v1.8.1**, the user file lives at `~/.reasonix/config.toml` on macOS/Linux and `%AppData%\reasonix\config.toml` on Windows. See **[Configuration paths](./docs/CONFIG_PATHS.md)** for migration details and the full `config.toml` / `.env` structure. Provider entries name secrets with `api_key_env`; the secret values themselves live in Reasonix's global `/.env`, shared by CLI and desktop. Project `.env` files are not provider-key runtime fallbacks, but still feed workspace-scoped, non-provider `${VAR}` expansion for MCP/plugin settings without importing Reasonix control variables. Permissions, the sandbox, plugins (MCP), slash commands, `@` references, and two-model setup are all in the **[Guide](./docs/GUIDE.md)**. ## Documentation - **[CLI reference](./docs/CLI.md)** — interactive and one-shot commands, structured output, resume, permission modes, and searchable pickers. - **[Guide](./docs/GUIDE.md)** — configuration, permissions & sandbox, plugins (MCP), slash commands, `@` references, two-model collaboration. - **[Subagent profiles](./docs/SUBAGENT_PROFILES.md)** — create, share, preview, run, edit, and safely delete isolated agent profiles from desktop or CLI. - **[Capability diagnostics](./docs/CAPABILITY_DIAGNOSTICS.md)** — `reasonix doctor capabilities`, desktop Settings → Diagnostics, and the `/reasonix-guide` skill for skills/hooks/MCP/plugin troubleshooting. - **[Recovery and Safe Mode](./docs/RECOVERY.md)** — Guard diagnostics, configuration snapshots, native recovery, update rollback, and optional AI-assisted repair plans. - **[Bot guide](./docs/BOT_GUIDE.md)** — connect Feishu, Lark, and WeChat bots from the desktop app, then use approvals, YOLO, and commands from IM. - **[Spec](./docs/SPEC.md)** — engineering contract: architecture, registries, data types, and roadmap. - **[Task contracts & pause policy](./docs/TASK_CONTRACT.md)** — structure complex requests with context, output boundaries, constraints, and when to ask. - **[Tool contract](./docs/TOOL_CONTRACT.md)** — provider-visible built-in tool names, read-only flags, and schema snapshot guard. - **[Migrating from 0.x](./docs/MIGRATING.md)** — moving from the legacy TypeScript releases to the 1.0 Go rewrite. - **[Checkpoints & rewind](./docs/CHECKPOINTS.md)** — the snapshot-based edit safety net (Esc-Esc / `/rewind`).
## Star History Star History Chart
## Support 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](https://paypal.me/yuhuahui) - **国内** — 微信支付(扫码)

WeChat Pay QR code


## 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](https://github.com/esengine/DeepSeek-Reasonix/graphs/contributors?all=1). | Contributor | Contributor | Contributor | Contributor | | --- | --- | --- | --- | | [**SivanCola**](https://github.com/SivanCola) | [**esengine**](https://github.com/esengine) | [**ttmouse**](https://github.com/ttmouse) | [**lifu963**](https://github.com/lifu963) | | **reasonix** (anonymous) | [**HUQIANTAO**](https://github.com/HUQIANTAO) | [**GTC2080**](https://github.com/GTC2080) | [**light-front-theory**](https://github.com/light-front-theory) | | **merge-order-check** (anonymous) | [**Li-Charles-One**](https://github.com/Li-Charles-One) | [**eghrhegpe**](https://github.com/eghrhegpe) | **wufengfan** (anonymous) | | [**CVEngineer66**](https://github.com/CVEngineer66) | [**dependabot\[bot\]**](https://github.com/apps/dependabot) | [**lanshi17**](https://github.com/lanshi17) | [**SuMuxi66**](https://github.com/SuMuxi66) | | [**CnsMaple**](https://github.com/CnsMaple) | [**cyq1017**](https://github.com/cyq1017) | [**JesonChou**](https://github.com/JesonChou) | [**XTLine**](https://github.com/XTLine) | Also a separate thank-you to [**Bernardxu123**](https://github.com/Bernardxu123) for designing the project logo, and to [AIGC Link](https://xhslink.com/m/80ngts127cA) for promoting the project on XiaoHongShu.

Contributors to esengine/DeepSeek-Reasonix


---

MIT — see LICENSE
Built by the community at esengine/DeepSeek-Reasonix