一个运行时。所有模型。你的机器。
Codewhale 是运行在终端里的编程智能体。适配任意模型;开放模型优先。给它一个 provider、一个模型和一个任务:它会读你的代码、改文件、跑命令、检查自己的工作,在任务完成或需要你介入时停下。任务中途用 /model 切换模型。交互式工作用 TUI,脚本和 CI 用 codewhale exec。Rust 编写,MIT 许可,运行在你自己的机器上。
为什么选 Codewhale:
- 不被锁定。 DeepSeek、Claude、GPT、Kimi、GLM 等 30 多家 provider,以及你自己的 vLLM、SGLang、Ollama——无需 key——都跑在同一套运行时和同一套工具之上。上下文预算与价格取自真实路由;价格未知时显示未知,绝不显示 $0。
- 安全靠构造。 Plan 模式只读。审批把关每一次高风险调用。操作系统级沙箱守住底线——Seatbelt、Landlock、seccomp、bwrap。仓库的
constitution.json会编译成写入拦截,连 Full Access 也无法跳过。 - 工作不丢失。 Fleet 把每一步记录在只追加的账本里;
fleet resume从你停下的地方继续。每一轮都留下可查验的回执。
它诞生于 deepseek-tui。社区需要更多 provider,于是我们造了一个把模型当组件、而不是当产品的运行时。
English · 日本語 · Tiếng Việt · 한국어 · Español · Português · codewhale.net · Docs · Changelog
npm install -g codewhaleCargo、Docker、Nix、Scoop、预编译归档、Android/Termux,以及面向无法访问 GitHub 用户的 CNB 镜像,均见 docs/INSTALL.md。从 deepseek-tui 迁移过来?你的配置和会话可以直接沿用——见 docs/REBRAND.md。
codewhale auth set --provider deepseek # or export ANTHROPIC_API_KEY, etc.
codewhale # open the TUI
codewhale exec "fix the failing test" # headless
codewhale web # local browser client on 127.0.0.1在 TUI 中:/model 同时切换 provider 和模型,/fleet 运行一组 worker,/restore 撤销某一轮,Tab 在 Plan / Act / Operate 之间循环切换,Shift+Tab 在 Ask / Auto-Review / Full Access 审批姿态之间循环切换,! 让 shell 命令经由正常的审批路径运行。
- docs/PROVIDERS.md — 每一条 provider 路由:托管、网关与本地
- docs/FLEET.md — Fleet、账本与恢复
- docs/CONFIGURATION.md —
config.toml、hooks 与 constitution - docs/WEB.md — 仅限回环地址的内置浏览器客户端及其一次性身份验证边界
其余内容——模式、键位绑定、沙箱细节、MCP、运行时 API、架构——见 docs 与 codewhale.net。
所有反馈都是礼物。Issue、PR、复现步骤、日志、功能请求和第一次贡献,在这里都算真实的项目工作。当一个 PR 无法原样合并时,维护者会吸收其中可用的部分,作者的署名会保留——在提交、更新日志和 docs/CONTRIBUTORS.md 中。如果你在用的某个模型或 provider 还不支持,或者有什么东西在你机器上坏了,告诉我们就是你能做的最有用的事。
- 开放 issue —— 适合入门的贡献在这里
- CONTRIBUTING.md —— 开发环境搭建与 PR 流程
- docs/CONTRIBUTORS.md —— 每一位塑造过这个项目的人
- Buy me a coffee
感谢 DeepSeek 提供让项目起步的模型与支持,感谢 DataWhale 🐋 欢迎我们加入“鲸兄弟”大家庭,也感谢 OpenWarp 与 Open Design 在终端智能体体验上的协作。
MIT。独立的社区项目,与任何模型 provider 均无隶属关系。
