بنقرة واحدة
pipeline-diagnose
/pipeline-diagnose、pipeline 挂了、看 pipeline 状态 — Content Pipeline 总体健康诊断,一键输出所有关键状态并引导到具体 stage skill
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
/pipeline-diagnose、pipeline 挂了、看 pipeline 状态 — Content Pipeline 总体健康诊断,一键输出所有关键状态并引导到具体 stage skill
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
今日头条自动发布工具 - 微头条/文章/视频 + NAS 统一调度(生产就绪)
/pipeline-persondata、修待补充、人物数据占位符 — Content Pipeline Stage 4 (person-data 构造) 运维 skill,修 "待补充/暂无数据" 导致的图片占位符问题
/pipeline-regen、重生图、V6 出图失败 — Content Pipeline Stage 4 (V6 图片生成) 运维 skill
/pipeline-run、用 X 做一套内容、给我生成 X 的内容 — Content Pipeline 手动即时触发(主理人在 Claude Code 对话里临时跑一条,走和 Dashboard 自动路径完全一样的 6 阶段 pipeline,但即时给进度反馈)
金句卡片生成工作流的质检和选择
抖音自动发布工具 - 图文/视频/文章三种类型(生产就绪)
| name | pipeline-diagnose |
| description | /pipeline-diagnose、pipeline 挂了、看 pipeline 状态 — Content Pipeline 总体健康诊断,一键输出所有关键状态并引导到具体 stage skill |
echo "=== 1. LaunchAgent 状态 ==="
launchctl list | grep zenithjoy
echo
echo "=== 2. 核心服务端口 ==="
for port_url in "5200:api/health" "5221:api/brain/status" "8899:"; do
port="${port_url%%:*}"; path="${port_url#*:}"
code=$(curl -s -o /dev/null -w "%{http_code}" "http://localhost:${port}/${path}" --max-time 3)
echo "port ${port}: HTTP ${code}"
done
echo
echo "=== 3. 最近 pipeline log tail(20 行) ==="
tail -n 20 /tmp/pipeline-worker.log 2>/dev/null || echo "(log 不存在)"
echo
echo "=== 4. 今日 content-output 产物 ==="
today=$(date +%Y-%m-%d)
ls -d ~/content-output/${today}-* 2>/dev/null | head -10
echo
echo "今日 research findings:"
ls -d ~/content-output/research/*-${today} 2>/dev/null | head -10
echo
echo "=== 5. claude-output/images 最新 PNG(10 张) ==="
ls -lt ~/claude-output/images/*.png 2>/dev/null | head -10
echo
echo "=== 6. NAS SSH 连通性 ==="
ssh -o ConnectTimeout=5 -o BatchMode=yes nas "echo NAS_OK; ls /volume1/workspace/vault/zenithjoy-creator/content 2>/dev/null | tail -5" 2>&1 | head -10
| 症状 | 去哪个 skill |
|---|---|
LaunchAgent com.zenithjoy.pipeline-worker 不在 | launchctl load ~/Library/LaunchAgents/com.zenithjoy.pipeline-worker.plist |
| 5200 不通 | launchctl kickstart -k gui/$(id -u)/com.zenithjoy.api |
| 5221 不通 | 去查 cecelia-brain 服务(不在本 skill 范围) |
| 没有 research/ 目录或 findings.json 为空 | /pipeline-research |
| 有 copy.md 但文案半截/违规 | /pipeline-copywrite |
| person-data.json 含 "待补充/暂无数据" 或图里有占位符 | /pipeline-persondata |
| cards/ 下 PNG <9 张或 V6 脚本报错 | /pipeline-regen |
| vision 审图显示 major severity | /pipeline-review |
| NAS 没收到 / ssh 失败 | /pipeline-export |
接口 GET /api/pipelines 需要 internalAuth。token 用 /credentials skill 从 1Password 的 "CECELIA_INTERNAL_TOKEN" 条目获取。设入 env 后:
curl -s -H "Authorization: Bearer ${CECELIA_INTERNAL_TOKEN}" \
"http://localhost:5200/api/pipelines?limit=10" | python3 -m json.tool | head -80
看每个 pipeline 卡在哪个 stage:字段 current_stage + status(running/completed/failed)。
| 症状 | 原因 | 修法 |
|---|---|---|
| "无待处理的 pipeline(status=running),退出" 刷屏 | 正常空闲,没 topic 在跑 | 这是 ok 状态,不是故障 |
launchctl list 看到 exit code - | Agent 没启动 / plist 没 load | launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.zenithjoy.pipeline-worker.plist |
| 5200 返回 UNAUTHORIZED | 接口需 Authorization: Bearer | 带上 CECELIA_INTERNAL_TOKEN |
curl 5221 /health 404 | brain 没 /health,用 /api/brain/status | 改用 status 端点 |
~/Library/LaunchAgents/com.zenithjoy.pipeline-worker.plist/tmp/pipeline-worker.log/Users/administrator/perfect21/zenithjoy/services/content-pipeline/pipeline_worker/executors/~/content-output/~/claude-output/images/ssh nas → /volume1/workspace/vault/zenithjoy-creator/content/