功能概述:自动连续推进,直到“成功检查”通过。成功检查可脚本化(命令/脚本返回 0、测试全绿、文件/输出匹配等);支持自启动、轮询间隔、成功后退出、多实例配置。
快速入口
- 发布下载(最新):https://github.com/gnusec/codex-solo/releases
- 入群 / Discussions:https://github.com/gnusec/codex-solo/discussions
- 贡献(Contribute):CONTRIBUTING.md
- 路线图(Roadmap):docs/ROADMAP.md
- Good First Issues:https://github.com/gnusec/codex-solo/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22
- Help Wanted:https://github.com/gnusec/codex-solo/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22
语言 / Languages
联系 / Contact
- 名称:耘峥
- Email:huangdeng@safe87.com
- WeChat:gnusec
静态备选(若 GIF 未显示):assets/demo.svg
- 构建:
cd vendor/codex/codex-rs && cargo build -p codex-cli --release - 运行:
./vendor/codex/codex-rs/target/release/codex - 开启 SOLO:在 TUI 输入
/solo,或设置环境变量CODEX_SOLO_AUTOSTART=1 - 多实例配置:为不同控制台设置
CODEX_SOLO_CONFIG=/path/to/solo.json
{
"kickoff_prompt": "实现并让测试通过",
"continue_prompt": "继续",
"success_cmd": ["pytest", "-q"],
"exit_on_success": true,
"interval_seconds": 30
}
或使用脚本化证明(退出码为 0 代表成功):
{ "success_sh": "test -f FINISH.txt" }
success_cmd/success_sh:成功由退出码 0 判定done_token:默认[SOLO_DONE];设为 "" 可避免引导模型输出标记exit_on_success:成功后退出 CLIinterval_seconds:自动继续之间的延迟
- 多语言上手: English · 简体中文 · Español · العربية · हिन्दी
- 深入原理: SOLO.en.md · SOLO.zh-CN.md · SOLO.es.md · SOLO.ar.md · SOLO.hi.md
- 路线图:docs/ROADMAP.md
- CI 无头模式(实验):docs/HEADLESS_CI.md
- 贡献指南:CONTRIBUTING.md
- 社区指南:docs/COMMUNITY.md
- TODO 列表:TODO.md
- 协作演示(Duet):
- 文件信箱:docs/demos/README.zh-CN.md
- Git 信箱:docs/demos/git-mailbox/README.en.md
- PR 评审 Demo:docs/demos/pr-review/README.en.md
- 架构与设计:中文 docs/architecture/README.zh-CN.md · English docs/architecture/README.en.md
录制与更新演示(可选):docs/DEMO_CAPTURE.md
- 测试驱动(Python 示例)
{ "kickoff_prompt": "补全实现并让测试通过", "success_cmd": ["pytest", "-q"], "continue_prompt": "继续(修到全绿)", "exit_on_success": true, "interval_seconds": 30 } - 测试驱动(Node.js / Jest 示例)
{ "kickoff_prompt": "完善实现并让 Jest 测试通过", "success_cmd": ["npm", "test", "--silent"], "continue_prompt": "继续(直到所有测试通过)", "exit_on_success": true, "interval_seconds": 30 } - 文档构建/发布门禁(MkDocs 示例)
{ "kickoff_prompt": "完善文档并保证可构建", "success_sh": "mkdocs build >/dev/null && test -f site/index.html", "continue_prompt": "继续(直到构建产物存在)", "exit_on_success": true } - 代码健康(Rust 示例)
{ "kickoff_prompt": "修复警告并通过测试", "success_sh": "cargo clippy -- -D warnings && cargo fmt -- --check && cargo test -q", "continue_prompt": "继续(直到无警告且测试通过)", "exit_on_success": true } - 测试驱动(Go 示例)
{ "kickoff_prompt": "补全实现并通过 go test", "success_sh": "go test ./... -count=1 >/dev/null", "continue_prompt": "继续(直到所有包测试通过)", "exit_on_success": true }
更多协作 / 高级场景
- 文件信箱(A/B 协作,可运行):docs/demos/README.zh-CN.md
- Git 信箱(分支作为信箱,工作流示例):docs/demos/git-mailbox/README.zh-CN.md
- PR 评审 / Checks + 工件:docs/demos/pr-review/README.zh-CN.md · docs/demos/pr-checks/README.zh-CN.md
- HTTP 收件箱(本地 Webhook):docs/demos/http-inbox/README.zh-CN.md
- S3/MinIO 信箱:docs/demos/s3-mailbox/README.zh-CN.md
- SQLite 信箱:docs/demos/db-mailbox/README.zh-CN.md
- Redis/NATS/Slack 信箱:docs/demos/redis-mailbox/README.zh-CN.md · docs/demos/nats-mailbox/README.zh-CN.md · docs/demos/slack-mailbox/README.zh-CN.md
见 LICENSE
