SuperAPI AI 工具集

fleet-worker

智能体与模型

查看项目

更新于 10-15 12:33

技能介绍

用途

fleet-worker 是一个派发层(spawning layer):用一个便宜的、无头(headless)的 Claude Code 工作进程替代昂贵的编排会话,让 Opus 编排者并行地扇出(fan-out)多个工作进程,之后验证并落地它们的工作成果。每个工作进程的"大脑"被替换为更便宜的模型,但保留 Claude Code 的完整工具集。

主要能力

  • 将工作进程的大脑换成更便宜的模型:通过环境变量指向任意兼容 Anthropic 的端点,默认示例为 z.ai 上的 glm-5.3,也支持 Anthropic 自家的 Sonnet/Haiku。
  • 完整工具集保留:Read/Write/Edit/Bash/Glob/Grep/Task/MCP/hooks。
  • 隔离的 git worktree + 独立 CLAUDE_CONFIG_DIR。
  • 每个任务独立 worktree + 分支 + 配置目录,支持 N 个并行工作进程互不干扰。
  • 提供收集脚本(fleet-collect.sh),以 is_error 作为真实成功信号进行门控。
  • 提供诊断脚本(fleet-doctor.sh),支持离线结构检查与在线端点探测。

核心架构

模型映射变量 ANTHROPIC_BASE_URL 与 ANTHROPIC_DEFAULT_*_MODEL 是进程级全局的——每个 claude 进程读取一次,并应用于其发起的每次模型调用(包括进程内的 Task 子代理),不存在按代理覆盖的机制。因此要把 GLM 大脑的代理与 Opus 编排者配对,唯一方式是使用带独立 env 块的独立操作系统进程,这就是 fleet-worker。

认证隔离规则(不可跳过)

在任何同时登录了 Claude.ai/Anthropic 订阅的机器上,直接设置 ANTHROPIC_AUTH_TOKEN 的朴素启动方式会因 401 token 过期或不正确而失败——主机存储的订阅 OAuth 令牌会优先被发送到非 Anthropic 端点并被拒绝。修复方式是使用专用空白配置目录:export CLAUDE_CONFIG_DIR="$HOME/.fleet-worker/cfg"。该目录同时让每个工作进程拥有干净的 hook/权限/MCP 配置,避免触发主机的 hooks。

使用方式

安装后脚本位于 ~/.claude/skills/fleet-worker/scripts/,可软链接到 PATH。提供密钥的解析顺序:ANTHROPIC_AUTH_TOKEN,或 FLEET_WORKER_KEYRING_SERVICE/FLEET_WORKER_KEYRING_KEY(使用 keyring get),或 ZHIPU_API_KEY(或 GLM_API_KEY)。预检可运行 bash scripts/fleet-doctor.sh --offline 或 --live。

单工作进程示例:

cd <target-worktree>
fleet-worker --output-format json "Refactor src/parser.py to use the visitor pattern" \
  > result.json
fleet-collect.sh result.json && echo "succeeded — review the diff"

扇出示例:每个任务获得各自的 git worktree + 分支 + 配置目录,从编排者的 Bash 工具以 run_in_background: true 启动,再按输出文件收集。并发建议保持在 ≤ 4–6,真正约束是端点配额而非本地 CPU。

配置项(环境变量,均可选)

  • FLEET_WORKER_BASE_URL(默认 https://api.z.ai/api/anthropic):兼容 Anthropic 的端点。
  • FLEET_WORKER_MODEL(默认 glm-5.3):主模型。
  • FLEET_WORKER_SMALL_MODEL(默认 glm-4.5-air):后台/廉价模型。
  • FLEET_WORKER_CONFIG_DIR(默认 ~/.fleet-worker/cfg):隔离配置目录,每个并行工作进程一个。
  • FLEET_WORKER_EFFORT(默认 high):工作进程设置中的 effortLevel。
  • FLEET_WORKER_PERMISSION_MODE(默认 bypassPermissions):工作进程的权限模式。
  • FLEET_WORKER_CLAUDE_BIN(默认 claude):要执行的 claude 二进制。

适用场景

适合委托给工作进程的任务:独立、边界清晰、使用工具的子任务;重构、编写测试、文档编辑、机械式多文件改动;不需要 Opus 级质量且错误编辑易于丢弃的工作。应保留在编排者上的任务:需要当前对话上下文的任务;判断性决策、架构、模糊规格;代价高且未经审查的改动。安全来自隔离笼(隔离 worktree + 隔离配置 + 合并门控),而非模型本身。

限制

  • 无头 -p 无法回答权限提示,会停滞,因此工作进程在非交互模式下运行。
  • 在 .claude/ 下的 worktree 存在敏感文件守卫陷阱:Claude Code 的敏感文件守卫对 .claude/ 下内容先于 bypassPermissions 运行,手工工作进程 worktree 应放在仓库顶层(如 .fleet-work/)。
  • 过载(429/529)是现实风险,建议带抖动退避重试、限制次数、偏好非高峰时段。
  • 成本数字仅作参考:total_cost_usd 是 Claude Code 的内部定价表套用于其不认识的模型,应忽略它。
  • 从自动模式编排者启动 bypassPermissions 会被分类器硬拒绝,需改用从自动模式会话外部启动,或使用 dontAsk + 允许列表。
  • 若要用 Grok(xAI 的 grok CLI),这不属于本技能:每个 fleet-worker 大脑都是指向兼容 Anthropic 端点的 claude -p 进程;Grok 是 fleetflow 的一等工作进程。
  • 使用自定义 BASE_URL 前应核实自身 Anthropic 条款与模型提供商条款;自动订阅访问受限。

脚本

  • scripts/fleet-worker / .ps1:启动器。
  • scripts/fleet-collect.sh:门控 JSON 结果,退出 0 成功 / 10 工作进程失败。
  • scripts/fleet-lib.sh:端点/模型默认值与密钥解析链(被 source 而非运行)。
  • scripts/fleet-doctor.sh:离线结构预检 + 在线探测。