yuwen-cool/ywcrew
GitHub: yuwen-cool/ywcrew
一个让多个本地 AI 编码智能体组成团队互相调度协作的 CLI 工具,复用已有订阅实现跨模型并行派单。
Stars: 3 | Forks: 0
# ywcrew
**让你的 AI 智能体们组成一个团队**
你本地订阅了 Claude Code、Codex、Grok、Kimi、Antigravity……
ywcrew 让它们互相调用:在任何一个智能体里说句话,就能把任务派给其他家的模型。 [](./LICENSE) [](https://nodejs.org) [](./test) [](#)
## 30 秒理解
装好之后,在 Cursor / Claude Code / Codex / Grok / Kimi 任意一个里,直接说:
| 你说 | 发生了什么 |
| --- | --- |
| "让 GPT 用最高思考强度查一下这个死锁" | 当前智能体把任务派给 Codex,后台执行,回来一份带证据的结论 |
| "开个评审会,对比一下这两个方案" | Claude、Codex、Kimi 并行各出一份评审,当前智能体汇总共识与分歧 |
| "让 kimi 接着刚才的结论继续深挖" | 跨轮追问,同后端原生续聊,KV 缓存零重建 |
| "让 claude 和 codex 各改一版,选好的" | 两家各自在隔离的 git worktree 里改代码,以 patch 交付,你挑一个 |
**三个关键保证:**
- **不烧 API key** —— 所有调用走你已付费的订阅(各家自己的 CLI 登录态)
- **不打断当前对话** —— 被调模型在独立进程里跑,主对话的缓存零污染
- **不碰你的代码** —— 只读任务有权限约束,改代码任务在隔离副本中进行、以 patch 交付
## 安装
**把仓库名发给你的智能体**(推荐),对任意 agent 说:
或者自己在终端跑同一条命令:
curl -fsSL https://raw.githubusercontent.com/yuwen-cool/ywcrew/main/install.sh | bash
装完屏幕上会直接给出上手指引(对智能体说什么、怎么自查)。想逐项确认配置的话,再跑一次交互式 `ywcrew init`。
- 唯一前置要求:Node ≥ 20(脚本会检查并提示)
- **不需要注册任何账号**:直接从本仓库下载,构建产物已随仓库提供
- 升级:重跑同一条安装命令;`~/.ywcrew` 下的配置与偏好不受影响
- 锁定版本:`YWCREW_VERSION=v0.1.0 bash install.sh`(默认跟随 main 最新)
## 工作原理
sequenceDiagram
participant U as 你
participant H as 宿主智能体ywcrew 让它们互相调用:在任何一个智能体里说句话,就能把任务派给其他家的模型。 [](./LICENSE) [](https://nodejs.org) [](./test) [](#)
(Cursor / Claude Code / …) participant Y as ywcrew CLI participant W as detached worker participant B as 被调后端
(claude / codex / grok / kimi / agy) U->>H: "让 GPT 看看这个 bug" H->>Y: ywcrew run(任务 JSON + 文件白名单) Y-->>H: 立即返回 runId(不阻塞) Y->>W: 派生独立进程 W->>B: 组装自包含上下文,headless 调用 Note over H: 继续干手头的活 B-->>W: 执行完成 H->>Y: ywcrew result --wait Y-->>H: 结构化结论(summary / evidence / patch) H-->>U: 汇总后的答案 + 可接管的会话命令 宿主智能体靠一份**按你的真实配置动态渲染的技能文件**学会这一切:里面只出现你实际启用的后端、你的默认模型、你自定义的路由偏好——它不会被引导去调一个你没有的模型。 回来的结论长这样(真实运行输出节选): { "status": "ok", "summary": "发现 1 个 P0:PID 复用后 kill 会误杀无关进程组……", "evidence": [{ "file": "src/core/lock.ts", "lines": "46-58", "claim": "…" }], "confidence": "high", "usage": { "inputTokens": 525103, "outputTokens": 14624, "durationMs": 338466 }, "takeover_command": "cd \"/path/to/proj\" && codex resume 019fa79b-…" } `takeover_command` 可以直接复制到终端,亲自接管子智能体的会话继续深聊。 ## 支持的后端 | 后端 | 命令 | 思考强度 | 原生续聊 | 只读机制 | | --- | --- | :-: | :-: | --- | | Claude Code | `claude` | – | 支持 | `--permission-mode plan` | | Codex | `codex` | 支持 | 支持 | `--sandbox read-only`(原生沙箱) | | Grok | `grok` | 支持 | 支持 | `--permission-mode plan` | | Kimi Code | `kimi` | – | 支持 | worktree 隔离(无原生只读档) | | Antigravity | `agy` | 支持 | 支持 | `--mode plan` | 计划中的后端(opencode / droid / cursor-agent / 浏览器通道)见 [`docs/roadmap.md`](./docs/roadmap.md)。 ## 命令速查 | 命令 | 作用 | | --- | --- | | `ywcrew run --stdin` | 派单个任务(任务 JSON,`ywcrew template` 看模板) | | `ywcrew panel --stdin` | 同一任务并行发给多个模型(评审会;成员不可用自动降级) | | `ywcrew followup
展开查看架构决策
- **CLI-first + 技能分发**:所有宿主都有 shell;技能文件按用户真实配置动态渲染,MCP 只是可选通道 - **任务五段式模板**:briefing / locations / objective / constraints / output_contract——被调模型对项目零知识,上下文质量决定结果质量;提示词层同时声明 agentic 环境与读写边界 - **无 daemon**:detached worker + 磁盘状态 + mkdir 原子锁(带初始化宽限与归属校验)+ 心跳惰性回收,宿主进程退出不影响任务 - **续聊双通道**:同后端原生 session resume(KV 缓存零重建);跨后端按时间正序重建历史(预算封顶,旧轮折叠) - **失败当场报**:未安装/未登录的后端、不存在的目录、零匹配的 glob、占位符模型名——全部在派单时拦截并给出下一步动作 - **多模型互审出厂**:发布前由 GPT 5.6 与 Kimi 各自完成一轮代码评审(就是用 ywcrew 自己派的单),P0/P1 全部修复标签:AI智能体协作, DLL 劫持, MITM代理, 任务调度, 多模型集成, 大语言模型, 开发效率工具, 文档结构分析, 自动化攻击