Skip to content

zhouboyang-lab/codemux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

codemux

AI 编码工作流引擎 —— 多模型多路复用。

统一管理 Claude Code、Codex CLI、Gemini CLI 等多个 AI 编码工具,在一个终端中完成 规划 → 编码 → 审查 → 测试 的完整开发循环。

为什么需要 codemux

  • 省钱:直接调用已订阅的 CLI 工具(Claude Code Max、ChatGPT Plus/Codex),不需要额外 API key
  • 统一上下文:切换模型时项目记忆不丢失,所有角色共享同一份上下文
  • 自动化工作流:状态机驱动的开发流程,自动提示下一步操作
  • 智能路由:自然语言输入自动识别意图,三层路由策略(关键词 → LLM → 降级)

快速开始

# 安装
git clone https://github.com/zhouboyang-lab/codemux.git
cd codemux
pip install -e .

# 启动交互式终端
codemux

进入 REPL 后:

codemux [idle]> plan 实现一个简单的 TODO 应用
>> 正在规划...

codemux [已规划]> write
>> 正在编码...

codemux [编码中]> review
>> 正在审查代码...

也可以直接输入自然语言:

codemux [idle]> 帮我设计一个用户登录模块
>> [planner] (AI: 用户描述了一个需要规划的新功能) 处理中...

命令

命令 说明
plan <描述> 规划任务,拆解需求
write [指令] 编写/修复代码
review 审查代码
debug <错误信息> 调试 bug
improve [指令] 优化代码
test 编写测试
doc 编写文档
status 查看当前状态
tasks 列出所有任务

也支持单次命令模式:codemux plan "实现登录功能"

架构

codemux/
  cli.py          # Click CLI 入口 + REPL 启动
  repl.py         # 交互式终端
  engine.py       # 核心调度引擎
  router.py       # LLM 意图识别路由(三层策略)
  roles.py        # 7 个角色定义 + Prompt 模板
  state.py        # 工作流状态机
  context.py      # 上下文管理(.codemux/ 目录)
  models.py       # 数据模型
  adapters/
    base.py         # 适配器抽象基类
    claude_code.py  # Claude Code CLI 适配器
    codex.py        # OpenAI Codex CLI 适配器
    gemini.py       # Google Gemini CLI 适配器

工作流状态机

idle → plan → write ⇄ review → test → done
                ↑                  ↓
              debug ←──────────────┘
  • 每个状态有明确的可用操作
  • 支持多轮 write,支持 review 后直接 test
  • 状态持久化到 .codemux/tasks/ 目录

三层意图路由

  1. 关键词匹配(毫秒级):明确的关键词直接命中,不调 LLM
  2. LLM 分类(3-10s):模糊输入通过 claude -p 做意图识别
  3. 降级兜底:LLM 不可用时回退到关键词弱匹配或默认 writer

适配器

通过 subprocess 调用 CLI 工具,当前支持:

适配器 命令 状态
Claude Code claude -p 可用
Codex CLI codex --quiet 预留
Gemini CLI gemini 预留

前置要求

License

MIT

About

AI 编码工作流引擎 - 多模型多路复用 (Claude Code / Codex / Gemini CLI)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages