简体中文 · English
像搭积木一样,DIY 你的 AI 开发工作流。
组合你的工具,带上你的 Agent,运行属于你的开发现场。
Compose your tools. Bring your agents. Run your workflow.
你的开发方式不应该被某一个 Agent、IDE 或固定脚本定义。
cleancode 是一个画布优先、本地优先的可执行开发工作空间。 你可以把终端、服务、依赖关系、Git 分支工作区和喜欢的 Coding Agent 组合到同一个开发现场,再按自己的方式运行它、调整它、继续它。
feature/auth
├── Agent:Codex
└── Workflow
├── Build shared
└── API server ──> Web app
└─> Tests画布不是一张静态流程图。你搭出来的工作流拥有真实命令、启动顺序、就绪条件、运行状态和作用范围。
从一块终端开始,也可以搭出一整套开发工作台:
- 用终端积木承载构建、测试、开发服务器和日常命令。
- 把有限任务与长驻服务配置成不同的执行模式。
- 用终端组合整理属于同一部分的工具。
- 用有向连接声明真实依赖,而不只是画一条装饰线。
- 在同一张画布上放置多个固定 Provider 的 Agent 控制台。
- 保存每个分支工作区自己的画布、终端定义和 Agent 身份。
你的工具、你的 Agent、你的工作流。
换 Agent,不必换工作方式。 cleancode 让不同 Coding Agent 进入同一个可见开发现场;终端、服务、分支和运行状态不再围绕某个 Provider 重新组织。
cleancode 内建 33 个 Coding Agent Provider。它们都可以进入同一个可见、可执行的开发世界,与终端、服务、分支和运行状态一起工作。
Claude Code
Codex
OpenCode
Gemini
Cursor
GitHub Copilot
OpenClaw
Hermes
Pi
Cline
Goose
Aider
Continue
Charm
Kilocode
Qwen Code
Kimi
Amp
Grok
Droid
Antigravity
Kiro
Mistral Vibe
MiMo Code
OpenClaude
OMP
Devin
Auggie
Codebuff
Autohand Code
Command Code
Ante
Rovo Dev
33 个主流 Coding Agent,全部可以在 cleancode 中拥有一个真正的开发现场。
为需求创建分支工作区后,cleancode 用独立 Git worktree 隔离它的目录,并让画布、终端、运行作用域和 Agent 会话跟随工作区一起切换。
你可以同时推进 feature/auth、fix/search 和 experiment/new-ui,而不必反复清空终端、确认工作目录或提醒 Agent“我们已经换分支了”。
连接代表真实依赖,配置代表真实执行意图。cleancode 会把当前终端图转换成一次不可变的执行计划:
- 没有上游的任务可以并行启动,下游等待全部直接依赖完成或就绪。
- 有限任务按真实退出码判断成功,长驻服务按输出文本或 TCP 监听判断就绪。
- 服务可以声明固定、优选或自动端口,由运行时分配并注入最终端点。
- 上游失败会明确阻塞后代;停止时按反向依赖顺序清理活动进程。
节点状态、失败原因和实际访问地址都来自运行时。画布展示发生了什么,但不会用静态标签冒充事实。
支持原生 cleancode MCP 的 Agent 可以通过稳定工具理解和整理同一个工作空间,而不是直接修改画布内部数据。当前工具覆盖:
- 读取画布、终端积木、连接和执行计划。
- 创建、更新、删除和连接终端积木。
- 验证依赖并检查启动计划。
- 对齐、分布和自动整理终端布局。
删除积木、解散组合和断开依赖需要在 cleancode 界面中审批;启动与停止工作流仍由人控制。这让 Agent 能够参与搭建,同时让改变开发现场的动作保持可见。
- 为需求创建独立分支工作区。
- 加入你常用的 Coding Agent。
- 把构建、测试、开发服务器和辅助命令做成终端积木。
- 配置任务、服务、端口和依赖关系。
- 从任意终端运行它和全部后代,在同一张画布上查看结果。
从 GitHub Releases 下载对应平台的安装包:
- macOS:Universal DMG/ZIP,同时支持 Apple Silicon 和 Intel。
- Windows:x64 NSIS 安装程序。
- Linux:x64 AppImage/DEB。
Warning
当前 Preview 尚未使用正式开发者证书签名。请只从本仓库的 GitHub Releases 下载,并先使用
同一 Release 中的 SHA256SUMS.txt 核对安装包。
macOS 会因为应用尚未完成 Developer ID 签名和 Apple notarization 而阻止首次打开。把
CleanCode.app 拖入 /Applications,确认安装包来源和 SHA-256 校验值无误后,可以只为这个
应用移除下载隔离属性并启动:
xattr -dr com.apple.quarantine /Applications/CleanCode.app
open /Applications/CleanCode.app这条命令会绕过该应用的首次 Gatekeeper 检查。不要把目标路径替换为 /Applications、下载目录或
用户目录等宽泛范围。也可以按照
Apple 官方说明,在“系统设置 → 隐私与安全性”中选择
“仍要打开”。
- Node.js
>= 24 - pnpm
>= 10 - macOS、Windows 或 Linux
git clone https://github.com/chen-985211/cleancode.git
cd cleancode
pnpm install
pnpm devpnpm typecheck
pnpm test
pnpm pre-commit# 当前平台的 unpacked 应用,用于本地验证
pnpm package
# 当前平台的发行安装包
pnpm dist
# 也可以在对应操作系统上显式选择平台
pnpm dist:mac
pnpm dist:win
pnpm dist:linux产物统一写入 release/。macOS 生成 Universal DMG/ZIP,Windows 生成 x64 NSIS
安装程序,Linux 生成 x64 AppImage/DEB。应用的用户可见名称为 CleanCode,内部包名仍为
cleancode。
推送与 package.json 版本一致的 v* tag 后,GitHub Actions 会在三个目标系统分别构建、
运行打包后终端冒烟测试,并创建公开的 Preview Pre-release。Preview 尚未使用正式开发者证书:
macOS 使用 ad-hoc 签名且未 notarize,Windows 安装程序未签名,因此操作系统可能显示安全警告。
正式签名完成前,这些产物只作为公开测试版本。
cleancode 正在积极开发,当前版本需要注意:
- 画布目前只提供终端积木与终端组合;Preview、HTTP、Test、File 和 Plugin 等积木仍在路线图中。
- Agent 可以编排和检查终端依赖,但暂不能通过 MCP 启动、查询或停止工作流。
- 应用退出后,活动工作流和 Agent 终端进程不会自动继续运行;可恢复的终端与上游对话会按各自能力重新连接。
- 插件扩展体系尚未公开,暂不承诺第三方插件兼容性。
- GitHub Releases 中的预构建安装包当前属于未正式签名的 Preview,不是已签名正式发行版。
- 画布不是事实来源。 它只投影领域模型与运行状态。
- 人和 Agent 共享用例。 Agent 不绕过应用边界直接操纵内部实现。
- 工作区隔离优先。 分支、目录、端口和会话都必须有明确归属。
- 危险操作必须可见。 改变进程、文件或工作区状态的能力需要审批和审计。
- 失败必须能够解释。 计划、就绪、端点和错误都应回到用户可理解的对象上。
欢迎提交 Issue、讨论和 Pull Request。开始前请阅读 贡献指南 与 开发协作规范。

