用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/pgnzbl-ux/crucible --skill smoke命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | smoke |
| description | 全链路端到端冒烟(创建任务 → 沙箱 → Agent → 报告) |
任意 P0 改动后必须跑一次。
环境就绪:deploy skill 跑通,/health 200
注册 + 登录
TOKEN=$(curl -sX POST http://localhost:8010/api/v1/auth/register \
-H 'Content-Type: application/json' \
-d '{"username":"smoke","password":"Smoke123!"}' | jq -r .id) # 仅取 ID;下面有登录
TOKEN=$(curl -sX POST http://localhost:8010/api/v1/auth/login \
-H 'Content-Type: application/json' \
-d '{"username":"smoke","password":"Smoke123!"}' | jq -r .access_token)
创建任务(CLAUDE_AGENT_SDK_ENABLED=false 时仍走模式化子图编排,不拉真实 LLM)
TASK_ID=$(curl -sX POST http://localhost:8010/api/v1/tasks \
-H "Authorization: Bearer $TOKEN" \
-H 'Content-Type: application/json' \
-d '{"repo_url":"https://github.com/octocat/Hello-World","description":"smoke test","priority":"P2"}' \
| jq -r .id)
轮询直到完成(timeout 60s)
for i in {1..30}; do
curl -s "http://localhost:8010/api/v1/tasks/$TASK_ID" \
-H "Authorization: Bearer $TOKEN" | jq .status
sleep 2
done
看事件流
curl -s "http://localhost:8010/api/v1/tasks/$TASK_ID/events" \
-H "Authorization: Bearer $TOKEN" | jq '.items[] | {type, ts: .timestamp}'
确认报告
REPORT_ID=$(curl -s "http://localhost:8010/api/v1/tasks/$TASK_ID" \
-H "Authorization: Bearer $TOKEN" | jq -r .report_id)
curl -s "http://localhost:8010/api/v1/reports/$REPORT_ID" \
-H "Authorization: Bearer $TOKEN" | jq '{status, has_content: (.content != null)}'
completed 或 failed(不允许 running 滞留)completed 且有内容docker ps -a --filter "label=crucible"