name: fmodecode-task-delegation description: "触发词:CC派发、Claude Code执行、claude -p、长任务。Git级项目五步流程+并行CC+图文并茂增强+图片验证。" version: 2.0.0 author: Yuyang001 (FmodeAgent), Hermes Agent license: MIT platforms: [linux] tags: [FmodeCode, claude-code, delegation, course-dev, image-vrf]
claude 命令)非交互执行不要用于: 简单单轮问答(直接 claude -p "q" 即可)。
调研素材 → 写计划 → 写任务书(含资源索引) → 派CC执行 → 验收部署上线
① 调研素材:项目现状(仓库结构/代码风格/已用库/线上效果)+ 权威参考源 + 盘点 PRD/架构文档
② 写计划:定方向、列模块、分阶段、标依赖风险 → docs/task/<name>-plan.md
③ 写任务书:inline 所有参考素材,资源索引用绝对路径且事前验证,写明工作目录/模型/超时/验收
④ 派 CC 执行:绝对路径调 claude,启动后 60s 健康检查确认真在跑
⑤ 验收部署上线:本地验证 → git commit+push → OBS 上传 → CDN 刷新 → curl 全路由 200+内容验证
禁止 shortcut:❌ 跳调研直接写任务书 ❌ 调研后跳计划直接派 ❌ 计划后自己手工改 例外:纯机械操作(改配置行/单文件批量替换/纯部署命令)可跳步
用户说"内容不错了,需要加图、图文并茂"时触发:
git add <本次任务确切文件路径>,禁 git add . / git add <大目录>——后者连带提交兄弟会话暂存改动git reset --soft HEAD~1 + 显式 pathspec 重提,纠错追加进记录(不删历史)git pull --rebase——push 前先拉,冲突就地合,合完必须重新发布上线terminal(background=true) 里 export PATH=... && claude 报 bash: claude: command not found(exit 127)。用绝对路径 /opt/data/npm-global/bin/claude,PATH export 只作保险。派发后 process list 确认 running 而非 exitedsleep 等任务——等待一律 background=true + notify_on_complete,靠完成通知回收> /tmp/cc-<task>.log 2>&1# ❌ 不足:只查 HTTP 200(404 首页替代可能返回 200)
curl -s -m 10 -o /dev/null -w "%{http_code}" <URL>
# ✅ 必须检查 Content-Type
CT=$(curl -s -m 10 -o /dev/null -w "%{content_type}" <URL>)
if [[ "$CT" != image/* ]]; then echo "❌ 不是真图片: $CT"; fi
# --scene: 场景图(插图/含人的架构图/业务流程)
node /opt/data/skills/skill-image/lib/fmode-image.mjs --scene \
"蓝紫色科技风, 办公室场景, 具体内容描述" output.png
# --app: 应用界面(白底UI图)
node ... --app "APP界面描述" output.png
# --product/--architecture: 爆炸图/架构分层图
node ... --product "分层架构描述" output.png
生成后上传 OBS + CDN 刷新 + 验证 Content-Type。
export PATH="/opt/data/npm-global/bin:$PATH" # claude 二进制
export ANTHROPIC_AUTH_TOKEN=$FMODE_API_KEY # 必设,否则 Not logged in
export ANTHROPIC_BASE_URL=https://api.fmode.cn
which claude && claude --version
# 后台启动用绝对路径(见上节),启动后 pgrep -f claude 确认真在跑
# ✅ 标准:长任务书走 stdin 重定向
claude -p "执行任务书全部内容,完成后git commit(不push)" \
--permission-mode bypassPermissions < task.md > run.log 2>&1
# ❌ 禁止:claude -p "$(cat task.md)"
# 反引号/$(/括号被 shell 命令替换吃掉 → 模型收到残缺 prompt → 3分钟假完成(exit 0)
{ "model": "deepseek-flash[1m]",
"env": { "ANTHROPIC_MODEL": "deepseek-flash[1m]", "ANTHROPIC_SMALL_FAST_MODEL": "deepseek-flash[1m]" },
"permissions": { "defaultMode": "bypassPermissions" } }
--model;网关自行路由,渠道故障 failover 到 glm 系unrecognized_model 警告可静默:export CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1cat settings.json 确认 model 字段在位启动后 60 秒内必查(任一成立才算真运行中):
ps -o time= -p <pid>)git status --short)command not found / 空日志 + exit=0 = 启动失败,禁止上报"运行中"。
ack→running→done/failed + 30s 心跳,写入 reporter/看板 AgentTaskStatus 同源表——CLI 死亡(心跳停)= 看板与主 Agent 同刻可见grep -c > 0)⚠️ 产物 grep 中文假阴性:esbuild/Angular 产物把中文转成 \uXXXX 十六进制转义(大写十六进制)。直接 grep 按时间 恒为 0。正确姿势:先 replace(/\\u([0-9A-Fa-f]{4})/g, ...) 解码再统计。判别:产物中文密度 0 且转义 0 = 构建真坏;转义形态命中 = 构建正常只是 grep 姿势错。
CLI 自报 DONE 后,除产物/线上穿透外还要内容级复核:
grep 雨飏|袁(袁=0、雨飏≥1)curl ?v=参数+刷新+等待60s复验)403 Account is suspended due to billing = Fmode API 账号因账单被暂停,只有用户充值能解,第一时间报告充值入口Invalid token 401 = token/凭据问题(换 token)The response stopped arriving... = API 响应中途断流,先盘点产物(可能已生成只差部署),收尾机械工作主 Agent 亲手做长任务子代理常以 timeout 结束(Fmode API 稳定性 + 3600s 上限)。超时≠失败,先盘点再接管:
wc -c 是字节不是字数,中文场景字节≈字数1.5倍)[1m] 后缀解五连败铁律:同域任务连续 ≥5 次失败 = 该形态与 CC CLI 不兼容,停止重派,主 Agent + 底层协议完成。 单会话边界:长文创作按"一课一派/一节一棒"拆,每棒一份 MD/HTML 即收工;素材阅读消耗预算,任务书里素材要么已提取摘要要么指明只读不自由探索。
"登录第三方 Web→多页表单/翻页→状态保持"类任务不要整包派 CC CLI(无头浏览器/SSO/反自动化是 CC 弱点)。拆到底层协议(requests 会话+CSRF+cookie)主 Agent 直接跑。派数据整合前先 grep 仓内已有数据(很多"采集任务"实为"整合任务")。
用户会复查产出是不是 CC 做的——拿会话痕迹自证:
find ~/.claude/projects/-opt-data-<项目>/ -name "*.jsonl" -mmin <窗口> | wc -l——近窗口零痕迹 = Orchestrator 违规亲手派发涉及事实性内容的任务,任务书必须内联第一手权威事实并明令"禁止编造":
<url>#token=<URI编码token>(hash模式不暴露,截屏不泄露);桌面/移动路由一并验证200ng build --base-href="/dev/fmode-app/" 缺失 → index.html <base href="/"> → chunk 404 → 白屏。必须传 --base-href 且与 OBS 上传 URL 路径段一致。验证 grep dist/index.html <base href>references/hindsight-setup-pitfalls.md — Hindsight 记忆插件接入全坑册scripts/md2html.py — MD→浅色阅读版HTML 转换脚本git log --stat 与任务书清单一致 + 三要素下次启动仍通过