CC Daemon — 持續運行架構(2026-04-24)
CC session 死後仍然活著的 agent loop,解 VoxYZ 式「24/7 持續」gap
2026-04-24 03:30 上線 — 解 VoxYZ vs CC 的 3 大 gap 中最關鍵的「持續 Agent Loop」。
架構:
- ~/jarvis/cc-daemon/
- blackboard.py — JSONL task queue(pending / running / done / failed)
- daemon.py — launchd 叫醒後讀 blackboard、執行 handler、寫結果
- state.json — 每日 schedule 記號(避免重複排任務)
- tasks/blackboard.jsonl — 任務檔
- logs/heartbeat.log — 心跳紀錄
- launchd: ai.cc.daemon 每 300 秒(5 min)tick 一次
- 每次 tick 最多執行 3 個 task
已註冊的 handlers:
- heartbeat_ping — 最小存活確認
- run_arbscan — 呼叫 ~/bijia-bot/scan_anomaly.py
- weekly_report — 週日晚推 Discord 週報
下一個 session 要做的擴展:
1. 加 handler:cookbook_gen(產出 AI Agent 食譜內容,1 篇/天)
2. 加 handler:douyin_weekly(每週跑抖音趨勢爬蟲 → 摘要)
3. 加 handler:income_tracker(週日晚盤點 Gumroad / 聯盟 實際收入)
4. Discord 查詢功能:vampire 發訊息「/tasks」看 blackboard 狀態
5. 失敗任務重試策略(目前失敗就躺屍)
測試指令:
- python3 ~/jarvis/cc-daemon/blackboard.py → 看 stats
- python3 ~/jarvis/cc-daemon/blackboard.py list → 列 tasks
- python3 ~/jarvis/cc-daemon/daemon.py → 手動 tick 一次
- tail -f ~/jarvis/cc-daemon/logs/heartbeat.log → 看心跳
Discord Push config:DM 1493082073336905768,token 從 ~/.claude/channels/discord/.env 讀。