GitHub - ethanhq/cc-fleet: 🚢 Run Claude Code's ⚙️ Dynamic Workflows, 👥 Agent Teams & ⚡ Subagents on any third-party model — DeepSeek · GLM · Kimi · Qwen … or your Codex subscription. No Anthropic subscription needed. | 🚢 让 Claude Code 的 ⚙️ Dynamic Workflow、👥 Agent Team、⚡ Subagent 用上任意第三方模型 — DeepSeek · GLM · Kimi · Qwen…… 或你的 Codex 订阅,无需 Claude 订阅
标题:GitHub - ethanhq/cc-fleet: 🚢 让 Claude Code 的 ⚙️ Dynamic Workflow、👥 Agent Team、⚡ Subagent 用上任意第三方模型 — DeepSeek · GLM · Kimi · Qwen…… 或你的 Codex 订阅,无需 Claude 订阅
🤖 将任意第三方模型接入 Claude Code 的 ⚙️ Dynamic Workflows、👥 Agent Teams 和 ⚡ Subagents——从 DeepSeek · GLM · Kimi · Qwen…… 到你的 Codex 订阅,主会话的认证不受影响;无需 Claude 订阅即可在任何 provider 上运行完整的 Claude Code 🚀
Claude Code 的多智能体编排——Dynamic Workflows、Agent Teams、Subagents——只能运行 Anthropic 自家的模型。cc-fleet 让任何提供 Anthropic 或 OpenAI 兼容 API 的模型(甚至你的 Codex 订阅)都能作为工作流叶子(workflow leaf)、长期存在的队友(long-lived teammate)或一次性 subagent 加入——由你的主会话调度,拥有与原生 Claude 智能体相同的身份和能力。
每个第三方 worker 都是一个真正的 claude 进程,只是其 LLM(大语言模型)后端被替换为相应 provider,因此 Claude Code 像驱动原生智能体一样驱动它。你主会话的认证(OAuth 订阅或 API 密钥)不受影响,provider 密钥绝不会进入环境变量、命令行参数或 shell 历史记录——零泄露风险。
两步上手:一行安装,注册一个 provider。然后在 Claude Code 中通过 /workflow、/team 或 /subagent 表达你的意图——或者直接用自然语言描述任务,Claude 会搞定其余部分。
没有 Claude 订阅? ccf run 启动一个由该 provider 驱动的交互式会话——你熟悉的同一个 claude,只是运行在 provider 的模型上。
0. 先安装 Claude Code
cc-fleet 驱动官方的 claude CLI,因此如果你还没有安装,请先安装(如果 claude 已在 PATH 上,则跳过):
macOS / Linux:
curl -fsSL https://claude.ai/install.sh | bash
Windows (PowerShell):
irm https://claude.ai/install.ps1 | iex
1. 使用一行脚本安装 cc-fleet(推荐)
一条命令完成所有操作:下载并验证 CLI,将其加入 PATH(附带 ccf 别名,之后用 ccf 启动),并通过 marketplace 安装 Claude Code 插件(skill + session hook)。安装后立即可用:
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/ethanhq/cc-fleet/main/install.sh | sh
Windows (PowerShell):
irm https://raw.githubusercontent.com/ethanhq/cc-fleet/main/install.ps1 | iex
其他渠道(npm / go install / Releases / 源码)以及添加 Claude Code 插件、安装器覆盖、需求与维护,参见 Install & maintenance。
常用命令:
ccf # 打开交互式 TUI
ccf doctor # 健康检查:依赖、provider、插件状态
ccf update # 根据安装渠道自更新 + 刷新插件
ccf uninstall --all # 同时移除二进制文件和插件
安装完成后,运行 ccf 注册一个 provider 并开始委托任务。
cc-fleet 的能力分为两组:
- 三种委托通道(Workflow / Agent Team / Subagent)——由 Claude 自动调度:说出你的需求,技能会为你选择通道和模型,无需手动选择。
- Provider 和
ccf run——你直接配置和使用的工具。
智能体看板(Agents Board):阶段 → 叶子树

深入一个叶子:完整提示词和综合输出
编排 API: 多阶段编排存在于一个 JavaScript 文件中,API 与 Claude Code 的原生 Workflow 工具相同——agent() 启动一个节点,parallel() 并行展开,pipeline() 串联一个流程。唯一的区别是 agent() 接受一个 provider 选项来分配每个节点的模型,因此不同供应商可以在单次运行中混合并行执行:
const meta = {
name: "api audit",
description: "map endpoints, then draft audit checklists",
phases: [{ title: "map" }, { title: "build" }, { title: "judge" }],
};
phase("map");
const maps = (await parallel(
["auth", "billing", "users"].map((m) =>
() => agent("List the exported endpoints in module " + m, { provider: "deepseek" })
)
)).filter(Boolean);
phase("build");
const checklists = await pipeline(maps,
(endpoints, _, i) => agent("Draft an audit checklist:\n" + endpoints,
{ provider: "glm", label: "build:" + i })
);
phase("judge");
const verdict = await agent("Pick the strongest one and say why:\n" + checklists.join("\n---\n"),
{ provider: "claude", model: "opus", label: "judge" });
return { checklists, verdict };
运行和管理: 启动后,整个运行在后台引擎中执行,由一组小型命令管理。运行根据内容哈希记录日志,预算限制以美元或代币为单位:
RUN=$(ccf workflow run audit.js) # 在后台启动,打印运行 ID
ccf workflow wait "$RUN" --timeout 10m # 阻塞直到完成,事件驱动
ccf workflow stop "$RUN" --leaf build:1 # 暂停单个叶子(运行继续)
ccf workflow restart "$RUN" --leaf build:1 # 恢复它
ccf workflow run audit.js --resume "$RUN" # 重放日志,已完成叶子命中缓存
暂停和重启: ccf workflow stop --leaf / --phase 不会使运行失败——它只是暂停了命名的节点:运行继续,其他节点照常进行,直到你执行 restart 重新运行。如果当前运行的所有节点都被暂停,整个运行会进入停止状态(parked state),需要你介入才能继续。
不轮询等待: ccf workflow wait 阻塞直到运行结束,然后退出——将其放在后台,等它退出时再回来,无需反复检查。退出码表明结果:0 成功,1 失败,3 停止并等待,124 等待超时(运行仍在继续),130 被中断。
预算自适应: budget.spent() / budget.remaining() 可在脚本内部实时读取(美元或代币),因此工作流可以自行决定是否派发下一批任务。
混用你自己的订阅: 分配了 provider: "claude" 的节点使用你自己的 Claude 登录——上面的 judge 节点使用你的订阅,而不是 provider 密钥,这适合综合和收尾的节点。
Agent Team(智能体团队)

看板上队友的概览/消息/输出
先决条件: Agent Team 是唯一需要预先设置的通道,并且由于它依赖 tmux,目前不支持 Windows。使用前需满足两个条件:
- 处于 tmux 会话中(
tmux new-session -s work),以便队友窗格可以与你并排显示; - 启用 Claude Code 的 agent-teams:第一次运行
ccf时,它会检测到此项未启用,并主动为你写入——或者你手动在~/.claude/settings.json中添加一次:
{ "env": { "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" } }
它们如何协作: 每个队友都是一个真正的 claude 进程;Claude 使用原生 TeamCreate 构建团队,并使用原生 SendMessage 分配工作,队友在多次交互之间保持活动状态,因此你可以不断添加任务。一个团队可以同时使用多个 provider,然后由一个队友收集并比较结果。
权限继承: 每个队友继承你主会话的权限姿态(plan / acceptEdits / default)。如果无法检测,则回退到最安全的默认值,并且不会自行打开有风险的权限。
隐藏和恢复: ccf hide 将队友的窗格收起来,而进程继续运行——消息和上下文永远不会丢失——ccf show 将其恢复。清理时,ccf teardown 彻底清除所有相关进程,包括那些仍在后台运行、窗格关闭后仍在消耗密钥的进程,因此不会有幽灵进程悄悄产生费用。
在 tmux 外部: 队友在后台 cc-fleet-swarm- 会话中运行,流程完全相同,只是窗格不在屏幕上。要查看,用 tmux -L cc-fleet-swarm- attach 连接。
Subagent(子智能体)

任务列表和单个任务的详情
三


