一键导入
daemon-operations
Use for daemon service health checks, runtime diagnostics, restart procedures, and burn-in monitoring
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use for daemon service health checks, runtime diagnostics, restart procedures, and burn-in monitoring
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when deploying pigeon code changes across all machines after merging to main
Use when you need to understand worker architecture, endpoint flow, and command routing behavior before making changes
Use when you need to understand daemon route flow, storage model, worker connectivity, and command injection architecture before making changes
Use when you need to understand the OpenCode plugin event lifecycle, session state transitions, and daemon API contracts
Use when developing or refactoring OpenCode plugin handlers, tests, and daemon integration payloads
Use when you need to understand the swarm IPC subsystem — tables, routes, the per-target arbiter, the session→directory registry, and the wire envelope — before changing it
| name | daemon-operations |
| description | Use for daemon service health checks, runtime diagnostics, restart procedures, and burn-in monitoring |
Use this skill for day-to-day daemon ops and post-deploy checks.
pigeon-daemon.servicepackages/daemon/src/index.tssystemctl status pigeon-daemon.service --no-pager
curl -s http://127.0.0.1:4731/health
systemctl status opencode-serve.service --no-pager
curl -s http://127.0.0.1:4096/global/health
Expected:
{"ok":true,"service":"pigeon-daemon"}{"healthy":true,...}journalctl -u pigeon-daemon.service -n 100 --no-pager
journalctl -u opencode-serve.service -n 100 --no-pager
Look for:
[poller] tick error: or [poller] poll failed:[poller] dispatch error (skipping ack)[poller] registerSessionsession started sessionId=... directory=...session terminated sessionId=...session compacted commandId=... sessionId=...enable commandId=... server=... session=... or disable commandId=...set commandId=... model=... session=...[reaper] reaped stale session ... or [reaper] cleaned N expired session records[command-ingest] removing dead session sessionId=... (connection error)[command-ingest] wizard advanced to step NFailed to fetch media from R2 in command-ingest logsuploadMedia errors appear in daemon stderrsudo systemctl restart pigeon-daemon.service
systemctl status pigeon-daemon.service --no-pager
# If opencode serve needs restart:
sudo systemctl restart opencode-serve.service
systemctl status opencode-serve.service --no-pager
If media isn't arriving in Telegram or OpenCode:
npx wrangler r2 bucket list should show pigeon-media.env.MEDIA (pigeon-media)./media/upload auth if media never appears in Telegram.cleanupExpiredMedia is sufficient.Run health + one route smoke call:
curl -s -X POST -H "Content-Type: application/json" http://127.0.0.1:4731/session-start --data '{"session_id":"ops-smoke","notify":false}'
curl -s -X DELETE http://127.0.0.1:4731/sessions/ops-smoke