{"id":49675513,"url":"https://github.com/esengine/deepseek-reasonix","last_synced_at":"2026-07-05T03:00:40.953Z","repository":{"id":352823606,"uuid":"1216785679","full_name":"esengine/DeepSeek-Reasonix","owner":"esengine","description":"DeepSeek-native AI coding agent for your terminal. Engineered around prefix-cache stability — leave it running.","archived":false,"fork":false,"pushed_at":"2026-07-03T04:29:27.000Z","size":41034,"stargazers_count":25774,"open_issues_count":996,"forks_count":1587,"subscribers_count":71,"default_branch":"main-v2","last_synced_at":"2026-07-03T04:32:28.318Z","etag":null,"topics":["agent","agent-framework","ai-agent","ai-coding","cli","coding-agent","deepseek","developer-tools","ink","llm","prompt-caching","r1","terminal","tool-use","tui","typescript"],"latest_commit_sha":null,"homepage":"http://reasonix.io/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/esengine.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"esengine","custom":["https://paypal.me/yuhuahui"]}},"created_at":"2026-04-21T08:27:02.000Z","updated_at":"2026-07-03T04:29:30.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/esengine/DeepSeek-Reasonix","commit_stats":null,"previous_names":["esengine/reasonix","esengine/deepseek-reasonix"],"tags_count":227,"template":false,"template_full_name":null,"purl":"pkg:github/esengine/DeepSeek-Reasonix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esengine%2FDeepSeek-Reasonix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esengine%2FDeepSeek-Reasonix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esengine%2FDeepSeek-Reasonix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esengine%2FDeepSeek-Reasonix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/esengine","download_url":"https://codeload.github.com/esengine/DeepSeek-Reasonix/tar.gz/refs/heads/main-v2","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esengine%2FDeepSeek-Reasonix/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35141966,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-05T02:00:06.290Z","response_time":100,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","agent-framework","ai-agent","ai-coding","cli","coding-agent","deepseek","developer-tools","ink","llm","prompt-caching","r1","terminal","tool-use","tui","typescript"],"created_at":"2026-05-07T02:01:25.121Z","updated_at":"2026-07-05T03:00:40.891Z","avatar_url":"https://github.com/esengine.png","language":"Go","funding_links":["https://github.com/sponsors/esengine","https://paypal.me/yuhuahui"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/logo.svg\" alt=\"Reasonix\" width=\"640\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eEnglish\u003c/strong\u003e\n  \u0026nbsp;·\u0026nbsp;\n  \u003ca href=\"./README.zh-CN.md\"\u003e简体中文\u003c/a\u003e\n  \u0026nbsp;·\u0026nbsp;\n  \u003ca href=\"./docs/GUIDE.md\"\u003eGuide\u003c/a\u003e\n  \u0026nbsp;·\u0026nbsp;\n  \u003ca href=\"./docs/SPEC.md\"\u003eSpec\u003c/a\u003e\n  \u0026nbsp;·\u0026nbsp;\n  \u003ca href=\"https://esengine.github.io/DeepSeek-Reasonix/\"\u003eWebsite\u003c/a\u003e\n  \u0026nbsp;·\u0026nbsp;\n  \u003cstrong\u003e\u003ca href=\"https://discord.gg/XF78rEME2D\"\u003eDiscord\u003c/a\u003e\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003e [!IMPORTANT]\n\u003e **Reasonix 1.0 is a ground-up rewrite in Go** — this branch (`main-v2`) is the new default and where development happens now.\n\u003e The earlier `0.x` TypeScript releases are **legacy**, living on the [`v1`](https://github.com/esengine/DeepSeek-Reasonix/tree/v1) branch (maintenance only).\n\u003e 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.\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.npmjs.com/package/reasonix\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/reasonix.svg?style=flat-square\u0026color=cb3837\u0026labelColor=161b22\u0026logo=npm\u0026logoColor=white\" alt=\"npm version\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/esengine/DeepSeek-Reasonix/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/esengine/DeepSeek-Reasonix/ci.yml?style=flat-square\u0026label=ci\u0026labelColor=161b22\u0026logo=githubactions\u0026logoColor=white\" alt=\"CI\"/\u003e\u003c/a\u003e\n  \u003ca href=\"./LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/npm/l/reasonix.svg?style=flat-square\u0026color=8b949e\u0026labelColor=161b22\" alt=\"license\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/reasonix\"\u003e\u003cimg src=\"https://img.shields.io/npm/dm/reasonix.svg?style=flat-square\u0026color=3fb950\u0026labelColor=161b22\u0026label=downloads\" alt=\"downloads\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/esengine/DeepSeek-Reasonix/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/esengine/DeepSeek-Reasonix.svg?style=flat-square\u0026color=dbab09\u0026labelColor=161b22\u0026logo=github\u0026logoColor=white\" alt=\"GitHub stars\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://atomgit.com/esengine/DeepSeek-Reasonix\"\u003e\u003cimg src=\"https://atomgit.com/esengine/DeepSeek-Reasonix/star/badge.svg\" alt=\"AtomGit stars\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/esengine/DeepSeek-Reasonix/graphs/contributors\"\u003e\u003cimg src=\"https://img.shields.io/github/contributors/esengine/DeepSeek-Reasonix.svg?style=flat-square\u0026color=bc8cff\u0026labelColor=161b22\u0026logo=github\u0026logoColor=white\" alt=\"contributors\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/esengine/DeepSeek-Reasonix/discussions\"\u003e\u003cimg src=\"https://img.shields.io/github/discussions/esengine/DeepSeek-Reasonix.svg?style=flat-square\u0026color=58a6ff\u0026labelColor=161b22\u0026logo=github\u0026logoColor=white\" alt=\"Discussions\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://discord.gg/XF78rEME2D\"\u003e\u003cimg src=\"https://img.shields.io/badge/discord-join-5865F2.svg?style=flat-square\u0026labelColor=161b22\u0026logo=discord\u0026logoColor=white\" alt=\"Discord\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr/\u003e\n\n\u003ch3 align=\"center\"\u003eA DeepSeek-native AI coding agent for your terminal.\u003c/h3\u003e\n\u003cp align=\"center\"\u003eA config- and plugin-driven harness — a single static Go binary, tuned around DeepSeek's prefix cache so token costs stay low across long sessions.\u003c/p\u003e\n\n\u003cbr/\u003e\n\n\u003e [!IMPORTANT]\n\u003e **Community · 加入社区** — bilingual Discord for setup help (`#help` / `#求助`), workflow showcases, and feature ideas. → **\u003chttps://discord.gg/XF78rEME2D\u003e**\n\n\u003cbr/\u003e\n\n## Features\n\n- **Config-driven.** Providers, the agent, enabled tools, and plugins are all\n  declared in `reasonix.toml`. No hardcoded models.\n- **Multi-model \u0026 composable.** DeepSeek ships as a preset; any\n  OpenAI-compatible endpoint is a config entry, not new code. Optionally run\n  two models together (executor + planner) in separate, cache-stable sessions.\n- **Plugin-driven.** External tools run as subprocesses over stdio JSON-RPC\n  (MCP-compatible). Built-in tools self-register at compile time.\n- **Cache-aware context maintenance.** Startup injects a small stable environment\n  summary, stale tool output is snipped/pruned before summary compaction, and the\n  built-in tool schema contract is documented for regression review.\n- **Zero-friction distribution.** `CGO_ENABLED=0` single binary; cross-compile\n  to six targets with one command. The only dependency is a TOML parser.\n\n## Install\n\n```sh\nnpm i -g reasonix                  # any OS; pulls the prebuilt native binary\nbrew install esengine/reasonix/reasonix   # macOS\n```\n\nPrebuilt archives (`darwin|linux|windows × amd64|arm64`) and `SHA256SUMS` are on\nevery [GitHub release](https://github.com/esengine/DeepSeek-Reasonix/releases).\n\n### Code signing\n\nWindows builds are code-signed with a free certificate provided by the\n[SignPath Foundation](https://signpath.org/), with signing through\n[SignPath.io](https://signpath.io/).\n\n### Build from source\n\n```sh\nmake build      # -\u003e bin/reasonix(.exe)\nmake cross      # -\u003e dist/ (darwin|linux|windows × amd64|arm64)\n```\n\n## Quick start\n\n```sh\nreasonix setup                      # config wizard → ./reasonix.toml\nexport DEEPSEEK_API_KEY=sk-...      # or let setup save it to Reasonix home .env\nreasonix                            # then run /init to generate AGENTS.md (project memory)\nreasonix run \"implement the TODOs in main.go\"\nreasonix run --model deepseek-pro \"add unit tests for this function\"\necho \"explain this code\" | reasonix run\n```\n\n## Configuration\n\nA minimal `reasonix.toml` — one provider and a default model — is enough to start:\n\n```toml\ndefault_model = \"deepseek-flash\"\n\n[[providers]]\nname        = \"deepseek-flash\"\nkind        = \"openai\"\nbase_url    = \"https://api.deepseek.com\"\nmodel       = \"deepseek-v4-flash\"\napi_key_env = \"DEEPSEEK_API_KEY\"\n```\n\nResolution order is **flag \u003e `./reasonix.toml` \u003e the user config file \u003e\nbuilt-in defaults**; starting with **Reasonix v1.8.1**, the user file lives at\n`~/.reasonix/config.toml` on macOS/Linux and\n`%AppData%\\reasonix\\config.toml` on Windows. See\n**[Configuration paths](./docs/CONFIG_PATHS.md)** for migration details and the\nfull `config.toml` / `.env` structure. Provider entries name secrets with\n`api_key_env`; the secret values themselves live in Reasonix's global\n`\u003cReasonix home\u003e/.env`, shared by CLI and desktop. Project `.env` files are not\nprovider-key runtime fallbacks, but still feed workspace-scoped, non-provider\n`${VAR}` expansion for MCP/plugin settings without importing Reasonix control\nvariables. Permissions, the sandbox, plugins (MCP), slash\ncommands, `@` references, and two-model setup are all in the\n**[Guide](./docs/GUIDE.md)**.\n\n## Documentation\n\n- **[Guide](./docs/GUIDE.md)** — configuration, permissions \u0026 sandbox, plugins\n  (MCP), slash commands, `@` references, two-model collaboration.\n- **[Bot guide](./docs/BOT_GUIDE.md)** — connect Feishu, Lark, and WeChat bots\n  from the desktop app, then use approvals, YOLO, and commands from IM.\n- **[Spec](./docs/SPEC.md)** — engineering contract: architecture, registries,\n  data types, and roadmap.\n- **[Tool contract](./docs/TOOL_CONTRACT.md)** — provider-visible built-in tool\n  names, read-only flags, and schema snapshot guard.\n- **[Migrating from 0.x](./docs/MIGRATING.md)** — moving from the legacy\n  TypeScript releases to the 1.0 Go rewrite.\n- **[Checkpoints \u0026 rewind](./docs/CHECKPOINTS.md)** — the snapshot-based edit\n  safety net (Esc-Esc / `/rewind`).\n\n\u003cbr/\u003e\n\n## Star History\n\n\u003ca href=\"https://www.star-history.com/?repos=esengine%2FDeepSeek-Reasonix\u0026type=date\u0026legend=top-left\"\u003e\n \u003cpicture\u003e\n   \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/chart?repos=esengine/DeepSeek-Reasonix\u0026type=date\u0026theme=dark\u0026legend=top-left\" /\u003e\n   \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/chart?repos=esengine/DeepSeek-Reasonix\u0026type=date\u0026legend=top-left\" /\u003e\n   \u003cimg alt=\"Star History Chart\" src=\"https://api.star-history.com/chart?repos=esengine/DeepSeek-Reasonix\u0026type=date\u0026legend=top-left\" /\u003e\n \u003c/picture\u003e\n\u003c/a\u003e\n\n\u003cbr/\u003e\n\n## Support\n\nIf 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.\n\n- **International** — PayPal: [paypal.me/yuhuahui](https://paypal.me/yuhuahui)\n- **国内** — 微信支付（扫码）\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\".github/sponsor/wechat-pay.jpg\" alt=\"WeChat Pay QR code\" width=\"240\"/\u003e\n\u003c/p\u003e\n\n\u003cbr/\u003e\n\n## Acknowledgments\n\nA small list of folks whose work has shaped Reasonix the most — measured\nby both commit count and code volume. **Listed alphabetically, no ordering\nof importance.** The full contributor graph is on\n[GitHub](https://github.com/esengine/DeepSeek-Reasonix/graphs/contributors).\n\n- [**ctharvey**](https://github.com/ctharvey)\n- [**dimasd-angga**](https://github.com/dimasd-angga) (Dimas D. Angga)\n- [**Evan-Pycraft**](https://github.com/Evan-Pycraft)\n- [**ForeverYoungPp**](https://github.com/ForeverYoungPp)\n- [**GTC2080**](https://github.com/GTC2080) (TaoMu)\n- [**kabaka9527**](https://github.com/kabaka9527)\n- [**lisniuse**](https://github.com/lisniuse) (Richie)\n- [**wade19990814-hue**](https://github.com/wade19990814-hue)\n- [**wviana**](https://github.com/wviana) (Wesley Viana)\n\nAlso a separate thank-you to [**Bernardxu123**](https://github.com/Bernardxu123)\nfor designing the project logo, and to\n[AIGC Link](https://xhslink.com/m/80ngts127cA) for promoting the project on XiaoHongShu.\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/esengine/DeepSeek-Reasonix/graphs/contributors\"\u003e\n    \u003cimg src=\"https://contrib.rocks/image?repo=esengine/DeepSeek-Reasonix\u0026max=100\u0026columns=12\" alt=\"Contributors to esengine/DeepSeek-Reasonix\" width=\"860\"/\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr/\u003e\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003csub\u003eMIT — see \u003ca href=\"./LICENSE\"\u003eLICENSE\u003c/a\u003e\u003c/sub\u003e\n  \u003cbr/\u003e\n  \u003csub\u003eBuilt by the community at \u003ca href=\"https://github.com/esengine/DeepSeek-Reasonix/graphs/contributors\"\u003eesengine/DeepSeek-Reasonix\u003c/a\u003e\u003c/sub\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesengine%2Fdeepseek-reasonix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fesengine%2Fdeepseek-reasonix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesengine%2Fdeepseek-reasonix/lists"}