diff --git a/.github/persona-brain/agent-registry.json b/.github/persona-brain/agent-registry.json index 393231e0..b1cd922a 100644 --- a/.github/persona-brain/agent-registry.json +++ b/.github/persona-brain/agent-registry.json @@ -12,7 +12,8 @@ "trigger": "定时/手动", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-002", @@ -22,7 +23,8 @@ "trigger": "Discussion", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-003", @@ -32,7 +34,8 @@ "trigger": "手动/Issue", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-004", @@ -42,7 +45,8 @@ "trigger": "定时/手动/推送", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": true }, { "id": "AG-ZY-005", @@ -52,7 +56,8 @@ "trigger": "定时/手动/推送", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-006", @@ -62,7 +67,8 @@ "trigger": "定时/手动", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-007", @@ -72,7 +78,8 @@ "trigger": "推送/PR", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": true }, { "id": "AG-ZY-008", @@ -82,7 +89,8 @@ "trigger": "定时/手动", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": true }, { "id": "AG-ZY-009", @@ -92,7 +100,8 @@ "trigger": "定时/手动", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-010", @@ -102,7 +111,8 @@ "trigger": "手动/推送", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-011", @@ -112,7 +122,8 @@ "trigger": "手动/推送", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-012", @@ -122,7 +133,8 @@ "trigger": "PR", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-013", @@ -132,7 +144,8 @@ "trigger": "定时/手动", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": true }, { "id": "AG-ZY-014", @@ -142,7 +155,8 @@ "trigger": "定时/手动/Discussion", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": true }, { "id": "AG-ZY-015", @@ -152,7 +166,8 @@ "trigger": "手动/推送", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-016", @@ -162,7 +177,8 @@ "trigger": "手动/推送", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": true }, { "id": "AG-ZY-017", @@ -172,7 +188,8 @@ "trigger": "手动/推送", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": true }, { "id": "AG-ZY-018", @@ -182,7 +199,8 @@ "trigger": "定时/手动", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-019", @@ -192,7 +210,8 @@ "trigger": "定时/手动", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-020", @@ -202,7 +221,8 @@ "trigger": "仓库事件", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-021", @@ -212,7 +232,8 @@ "trigger": "手动/推送", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-022", @@ -222,7 +243,8 @@ "trigger": "推送/PR", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-023", @@ -232,7 +254,8 @@ "trigger": "定时/手动", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": true }, { "id": "AG-ZY-024", @@ -242,7 +265,8 @@ "trigger": "仓库事件", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-025", @@ -252,7 +276,8 @@ "trigger": "手动", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-026", @@ -262,7 +287,8 @@ "trigger": "定时/手动", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": true }, { "id": "AG-ZY-027", @@ -272,7 +298,8 @@ "trigger": "手动/仓库事件", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-028", @@ -282,7 +309,8 @@ "trigger": "定时/手动", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": true }, { "id": "AG-ZY-029", @@ -292,7 +320,8 @@ "trigger": "定时/手动", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": true }, { "id": "AG-ZY-030", @@ -302,7 +331,8 @@ "trigger": "定时/手动", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-031", @@ -312,7 +342,8 @@ "trigger": "手动", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-032", @@ -322,7 +353,8 @@ "trigger": "手动", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-033", @@ -332,7 +364,8 @@ "trigger": "手动/推送", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-034", @@ -342,7 +375,8 @@ "trigger": "手动", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-035", @@ -352,7 +386,8 @@ "trigger": "手动", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-036", @@ -362,7 +397,8 @@ "trigger": "手动", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-037", @@ -372,7 +408,8 @@ "trigger": "手动", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-038", @@ -382,7 +419,8 @@ "trigger": "定时/手动", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-039", @@ -392,7 +430,8 @@ "trigger": "手动/仓库事件", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-040", @@ -402,7 +441,8 @@ "trigger": "手动/仓库事件", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-041", @@ -412,7 +452,8 @@ "trigger": "仓库事件", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-042", @@ -422,7 +463,8 @@ "trigger": "推送", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-043", @@ -432,7 +474,8 @@ "trigger": "定时/手动", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-044", @@ -442,7 +485,8 @@ "trigger": "手动/PR", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-045", @@ -452,7 +496,8 @@ "trigger": "定时/手动", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-046", @@ -462,7 +507,8 @@ "trigger": "定时/手动", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-047", @@ -472,7 +518,8 @@ "trigger": "手动/仓库事件", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-048", @@ -482,7 +529,8 @@ "trigger": "手动/推送", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-049", @@ -492,7 +540,8 @@ "trigger": "Discussion", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-050", @@ -502,7 +551,8 @@ "trigger": "Issue", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-051", @@ -512,7 +562,8 @@ "trigger": "手动/推送/Issue", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-052", @@ -522,7 +573,8 @@ "trigger": "手动/推送", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-053", @@ -532,7 +584,8 @@ "trigger": "定时/手动/推送", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": true }, { "id": "AG-ZY-054", @@ -542,7 +595,8 @@ "trigger": "定时/手动/推送", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": true }, { "id": "AG-ZY-055", @@ -552,7 +606,8 @@ "trigger": "推送", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-056", @@ -562,7 +617,8 @@ "trigger": "定时/手动/Issue", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-057", @@ -572,7 +628,8 @@ "trigger": "定时/手动", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-058", @@ -582,7 +639,8 @@ "trigger": "定时/手动/Issue", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": true }, { "id": "AG-ZY-059", @@ -592,7 +650,8 @@ "trigger": "推送/Issue", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-060", @@ -602,7 +661,8 @@ "trigger": "Issue", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-061", @@ -612,7 +672,8 @@ "trigger": "PR", "self_repair": false, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false }, { "id": "AG-ZY-062", @@ -622,8 +683,9 @@ "trigger": "定时/手动/Issue", "self_repair": true, "report_to": "ICE-GL-ZY001", - "status": "registered" + "status": "registered", + "daily_checkin_required": false } ], "note": "铸渊已扫描所有workflow文件,按此格式逐一注册,编号从AG-ZY-001开始顺序分配" -} \ No newline at end of file +} diff --git a/.github/persona-brain/checkin-board.json b/.github/persona-brain/checkin-board.json index 0a15e879..59fde2c0 100644 --- a/.github/persona-brain/checkin-board.json +++ b/.github/persona-brain/checkin-board.json @@ -4,54 +4,9 @@ "inspection_time": "12:00+08:00", "date": "2026-03-21", "records": [ - { - "agent_id": "AG-ZY-001", - "agent_name": "人格体每日签到", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": "2026-03-21T04:09:04Z", - "last_run_result": "in_progress", - "note": "最近运行结果: in_progress" - }, - { - "agent_id": "AG-ZY-002", - "agent_name": "🤖 铸渊 · Discussion 自动回复", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-003", - "agent_name": "🧊 冰朔人格体 · 自动部署诊断", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": "2026-03-21T02:06:58Z", - "last_run_result": "skipped", - "note": "最近运行结果: skipped" - }, { "agent_id": "AG-ZY-004", "agent_name": "冰朔主控神经系统 · 自动维护", - "status": "✅ 已签到", - "checkin_time": "2026-03-21T02:01:57Z", - "last_run": "2026-03-21T02:01:57Z", - "last_run_result": "success", - "note": "" - }, - { - "agent_id": "AG-ZY-005", - "agent_name": "铸渊 Brain Sync", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-006", - "agent_name": "铸渊 · 🌉 桥接·广播PDF生成+分发", "status": "❌ 未签到", "checkin_time": null, "last_run": null, @@ -61,78 +16,33 @@ { "agent_id": "AG-ZY-007", "agent_name": "铸渊 · Bridge E · GitHub Changes → Notion", - "status": "✅ 已签到", - "checkin_time": "2026-03-21T03:44:40Z", - "last_run": "2026-03-21T03:44:40Z", - "last_run_result": "success", - "note": "" + "status": "❌ 未签到", + "checkin_time": null, + "last_run": null, + "last_run_result": null, + "note": "今日无运行记录" }, { "agent_id": "AG-ZY-008", "agent_name": "铸渊 · 🌉 桥接·心跳检测", - "status": "✅ 已签到", - "checkin_time": "2026-03-21T02:39:46Z", - "last_run": "2026-03-21T02:39:46Z", - "last_run_result": "success", - "note": "" - }, - { - "agent_id": "AG-ZY-009", - "agent_name": "Generate Session Summary for Notion", - "status": "✅ 已签到", - "checkin_time": "2026-03-21T00:01:12Z", - "last_run": "2026-03-21T00:01:12Z", - "last_run_result": "success", - "note": "" - }, - { - "agent_id": "AG-ZY-010", - "agent_name": "铸渊 · 🌉 桥接·SYSLOG 上行处理", "status": "❌ 未签到", "checkin_time": null, "last_run": null, "last_run_result": null, "note": "今日无运行记录" }, - { - "agent_id": "AG-ZY-011", - "agent_name": "铸渊 · Bridge A · SYSLOG → Notion", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-012", - "agent_name": "模块结构检查", - "status": "✅ 已签到", - "checkin_time": "2026-03-21T03:44:37Z", - "last_run": "2026-03-21T03:44:37Z", - "last_run_result": "success", - "note": "" - }, { "agent_id": "AG-ZY-013", "agent_name": "🔧 铸渊 · Daily Maintenance Agent", - "status": "✅ 已签到", - "checkin_time": "2026-03-21T04:01:22Z", - "last_run": "2026-03-21T04:01:22Z", - "last_run_result": "success", - "note": "" + "status": "❌ 未签到", + "checkin_time": null, + "last_run": null, + "last_run_result": null, + "note": "今日无运行记录" }, { "agent_id": "AG-ZY-014", "agent_name": "📰 铸渊 · 光湖开发日报", - "status": "✅ 已签到", - "checkin_time": "2026-03-21T04:00:08Z", - "last_run": "2026-03-21T04:00:08Z", - "last_run_result": "success", - "note": "" - }, - { - "agent_id": "AG-ZY-015", - "agent_name": "🌀 部署铸渊聊天室 (GitHub Pages)", "status": "❌ 未签到", "checkin_time": null, "last_run": null, @@ -142,60 +52,15 @@ { "agent_id": "AG-ZY-016", "agent_name": "🚀 铸渊 CD · 自动部署到 guanghulab.com", - "status": "✅ 已签到", - "checkin_time": "2026-03-21T03:45:43Z", - "last_run": "2026-03-21T03:45:43Z", - "last_run_result": "success", - "note": "" + "status": "❌ 未签到", + "checkin_time": null, + "last_run": null, + "last_run_result": null, + "note": "今日无运行记录" }, { "agent_id": "AG-ZY-017", "agent_name": "铸渊 · 广播分发", - "status": "✅ 已签到", - "checkin_time": "2026-03-21T00:08:50Z", - "last_run": "2026-03-21T00:08:50Z", - "last_run_result": "success", - "note": "" - }, - { - "agent_id": "AG-ZY-018", - "agent_name": "铸渊 · ESP 邮件信号处理器(已暂停)", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-019", - "agent_name": "📡 铸渊 · 执行层状态同步", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-020", - "agent_name": "铸渊 · 飞书SYSLOG桥接", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-021", - "agent_name": "铸渊 · 光湖纪元 模块文档自动生成", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-022", - "agent_name": "HLI Contract Check", "status": "❌ 未签到", "checkin_time": null, "last_run": null, @@ -205,24 +70,6 @@ { "agent_id": "AG-ZY-023", "agent_name": "🐕 元看门狗 · 巡检健康监控", - "status": "✅ 已签到", - "checkin_time": "2026-03-21T02:02:58Z", - "last_run": "2026-03-21T02:02:58Z", - "last_run_result": "success", - "note": "" - }, - { - "agent_id": "AG-ZY-024", - "agent_name": "Notion Callback Pipeline", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-025", - "agent_name": "铸渊 · Notion 连通性测试", "status": "❌ 未签到", "checkin_time": null, "last_run": null, @@ -232,15 +79,6 @@ { "agent_id": "AG-ZY-026", "agent_name": "Notion Heartbeat Monitor", - "status": "✅ 已签到", - "checkin_time": "2026-03-21T03:30:47Z", - "last_run": "2026-03-21T03:30:47Z", - "last_run_result": "success", - "note": "" - }, - { - "agent_id": "AG-ZY-027", - "agent_name": "铸渊 · Notion 页面阅读器", "status": "❌ 未签到", "checkin_time": null, "last_run": null, @@ -250,222 +88,15 @@ { "agent_id": "AG-ZY-028", "agent_name": "铸渊 · Notion 工单轮询", - "status": "✅ 已签到", - "checkin_time": "2026-03-21T02:33:16Z", - "last_run": "2026-03-21T02:33:16Z", - "last_run_result": "success", - "note": "" + "status": "❌ 未签到", + "checkin_time": null, + "last_run": null, + "last_run_result": null, + "note": "今日无运行记录" }, { "agent_id": "AG-ZY-029", "agent_name": "📡 铸渊 · Notion Agent 唤醒监听", - "status": "✅ 已签到", - "checkin_time": "2026-03-21T02:34:24Z", - "last_run": "2026-03-21T02:34:24Z", - "last_run_result": "success", - "note": "" - }, - { - "agent_id": "AG-ZY-030", - "agent_name": "🔄 OpenClaw · 唤醒闭环", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-031", - "agent_name": "Persona Invoke Endpoint", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-032", - "agent_name": "🔧 铸渊 · PM2 服务诊断与健康检查", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-033", - "agent_name": "Process Notion Work Orders", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-034", - "agent_name": "🌊 Persona Studio · 代码生成", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-035", - "agent_name": "🌊 Persona Studio · 对话处理", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-036", - "agent_name": "🌊 Persona Studio · 完成通知", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-037", - "agent_name": "🌊 Persona Studio · 登录校验", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-038", - "agent_name": "铸渊 · PSP 分身巡检", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": "2026-03-21T03:24:24Z", - "last_run_result": "failure", - "note": "最近运行结果: failure" - }, - { - "agent_id": "AG-ZY-039", - "agent_name": "铸渊 · 广播推送飞书(聊天消息)", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-040", - "agent_name": "铸渊 · Push Broadcast · Notion → 飞书文档B", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-041", - "agent_name": "铸渊 · Receive SYSLOG · 飞书机器人 → GitHub → Notion", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-042", - "agent_name": "🏠 Sandbox Deploy", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-043", - "agent_name": "🔍 Server Patrol · 服务器每日巡检", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": "2026-03-21T00:56:06Z", - "last_run_result": "failure", - "note": "最近运行结果: failure" - }, - { - "agent_id": "AG-ZY-044", - "agent_name": "🔍 铸渊预演部署 (Staging Preview)", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-045", - "agent_name": "📝 Sync Deploy Status to Notion", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-046", - "agent_name": "📡 铸渊 · dev-status 自动同步", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": "2026-03-21T03:21:55Z", - "last_run_result": "failure", - "note": "最近运行结果: failure" - }, - { - "agent_id": "AG-ZY-047", - "agent_name": "铸渊 · Sync Login Entry · Notion → 飞书文档A", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-048", - "agent_name": "🔄 铸渊跨仓库同步 · persona-studio", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-049", - "agent_name": "SYSLOG Auto Pipeline", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-050", - "agent_name": "📡 SYSLOG Issue Pipeline", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": "2026-03-21T03:44:30Z", - "last_run_result": "failure", - "note": "最近运行结果: failure" - }, - { - "agent_id": "AG-ZY-051", - "agent_name": "铸渊 · SYSLOG Pipeline (A/D/E)", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-052", - "agent_name": "🧪 Notion Bridge Connectivity Test", "status": "❌ 未签到", "checkin_time": null, "last_run": null, @@ -475,42 +106,15 @@ { "agent_id": "AG-ZY-053", "agent_name": "📢 更新系统公告区", - "status": "✅ 已签到", - "checkin_time": "2026-03-21T03:46:08Z", - "last_run": "2026-03-21T03:46:08Z", - "last_run_result": "success", - "note": "" + "status": "❌ 未签到", + "checkin_time": null, + "last_run": null, + "last_run_result": null, + "note": "今日无运行记录" }, { "agent_id": "AG-ZY-054", "agent_name": "铸渊 · 图书馆目录自动更新", - "status": "✅ 已签到", - "checkin_time": "2026-03-21T03:44:42Z", - "last_run": "2026-03-21T03:44:42Z", - "last_run_result": "success", - "note": "" - }, - { - "agent_id": "AG-ZY-055", - "agent_name": "铸渊 · Brain Sync", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-056", - "agent_name": "🤖 铸渊巡检 Agent · 每日自动巡检与修复", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-057", - "agent_name": "铸渊每日巡检", "status": "❌ 未签到", "checkin_time": null, "last_run": null, @@ -520,42 +124,6 @@ { "agent_id": "AG-ZY-058", "agent_name": "铸渊 · 每日自检", - "status": "✅ 已签到", - "checkin_time": "2026-03-21T00:54:42Z", - "last_run": "2026-03-21T00:54:42Z", - "last_run_result": "success", - "note": "" - }, - { - "agent_id": "AG-ZY-059", - "agent_name": "🚨 铸渊·智能门禁 · Push Gate Guard", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": "2026-03-21T03:44:31Z", - "last_run_result": "skipped", - "note": "最近运行结果: skipped" - }, - { - "agent_id": "AG-ZY-060", - "agent_name": "铸渊 · Issue 自动回复", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": "2026-03-21T02:06:58Z", - "last_run_result": "skipped", - "note": "最近运行结果: skipped" - }, - { - "agent_id": "AG-ZY-061", - "agent_name": "铸渊 · PR Review", - "status": "❌ 未签到", - "checkin_time": null, - "last_run": null, - "last_run_result": null, - "note": "今日无运行记录" - }, - { - "agent_id": "AG-ZY-062", - "agent_name": "🦅 铸渊·天眼 · 全局俯瞰 + 自动诊断 + 修复驱动", "status": "❌ 未签到", "checkin_time": null, "last_run": null, @@ -564,56 +132,24 @@ } ], "summary": { - "total": 62, - "checked_in": 16, - "missing": 46, + "total": 14, + "checked_in": 0, + "missing": 14, "missing_agents": [ - "AG-ZY-001", - "AG-ZY-002", - "AG-ZY-003", - "AG-ZY-005", - "AG-ZY-006", - "AG-ZY-010", - "AG-ZY-011", - "AG-ZY-015", - "AG-ZY-018", - "AG-ZY-019", - "AG-ZY-020", - "AG-ZY-021", - "AG-ZY-022", - "AG-ZY-024", - "AG-ZY-025", - "AG-ZY-027", - "AG-ZY-030", - "AG-ZY-031", - "AG-ZY-032", - "AG-ZY-033", - "AG-ZY-034", - "AG-ZY-035", - "AG-ZY-036", - "AG-ZY-037", - "AG-ZY-038", - "AG-ZY-039", - "AG-ZY-040", - "AG-ZY-041", - "AG-ZY-042", - "AG-ZY-043", - "AG-ZY-044", - "AG-ZY-045", - "AG-ZY-046", - "AG-ZY-047", - "AG-ZY-048", - "AG-ZY-049", - "AG-ZY-050", - "AG-ZY-051", - "AG-ZY-052", - "AG-ZY-055", - "AG-ZY-056", - "AG-ZY-057", - "AG-ZY-059", - "AG-ZY-060", - "AG-ZY-061", - "AG-ZY-062" + "AG-ZY-004", + "AG-ZY-007", + "AG-ZY-008", + "AG-ZY-013", + "AG-ZY-014", + "AG-ZY-016", + "AG-ZY-017", + "AG-ZY-023", + "AG-ZY-026", + "AG-ZY-028", + "AG-ZY-029", + "AG-ZY-053", + "AG-ZY-054", + "AG-ZY-058" ] } } \ No newline at end of file diff --git a/.github/workflows/tianyan-daily-patrol.yml b/.github/workflows/tianyan-daily-patrol.yml new file mode 100644 index 00000000..3a01bd6c --- /dev/null +++ b/.github/workflows/tianyan-daily-patrol.yml @@ -0,0 +1,82 @@ +# .github/workflows/tianyan-daily-patrol.yml +# 天眼 · 每日自动巡检 + 修复 +# +# 功能: +# 1. 扫描注册表完整性(补齐缺失的 daily_checkin_required 字段) +# 2. 扫描 Workflow 文件健康度 +# 3. 扫描 persona-brain 目录健康度 +# 4. 自动提交修复 +# 5. 失败时创建 Issue 上报 + +name: "🦅 天眼 · 每日巡检" + +on: + schedule: + - cron: '30 0 * * *' # 北京时间 08:30,签到之后半小时跑 + workflow_dispatch: + +jobs: + patrol: + name: "🦅 天眼巡检" + runs-on: ubuntu-latest + permissions: + contents: write + issues: write + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '20' + + - name: 扫描注册表完整性 + run: node scripts/fix-registry-checkin.js + + - name: 扫描 Workflow 文件健康度 + run: | + echo "📋 当前 workflow 文件列表:" + ls -la .github/workflows/*.yml | wc -l + echo "---" + # 检查关键 workflow 是否存在 + for f in agent-checkin tianyan-daily-patrol; do + if [ -f ".github/workflows/$f.yml" ]; then + echo "✅ $f.yml 存在" + else + echo "❌ $f.yml 缺失" + fi + done + + - name: 扫描 persona-brain 健康度 + run: | + if [ -d ".github/persona-brain" ]; then + echo "✅ .github/persona-brain/ 存在" + ls -la .github/persona-brain/ + else + echo "❌ .github/persona-brain/ 不存在" + fi + if [ -f ".github/persona-brain/agent-registry.json" ]; then + TOTAL=$(node -e "const r=JSON.parse(require('fs').readFileSync('.github/persona-brain/agent-registry.json','utf8')); console.log(r.agents.length)") + REQUIRED=$(node -e "const r=JSON.parse(require('fs').readFileSync('.github/persona-brain/agent-registry.json','utf8')); console.log(r.agents.filter(a=>a.daily_checkin_required).length)") + echo "📊 注册 Agent 总数: $TOTAL" + echo "📊 需要签到 Agent: $REQUIRED" + fi + + - name: 提交修复(如有) + run: | + git config user.name "tianyan-bot" + git config user.email "tianyan@guanghulab.com" + git add -A + git diff --cached --quiet || git commit -m "🦅 天眼自动巡检修复 · $(date +%Y-%m-%d)" + git diff --cached --quiet || git push + + - name: 异常上报(创建Issue) + if: failure() + uses: actions/github-script@v7 + with: + script: | + await github.rest.issues.create({ + owner: context.repo.owner, + repo: context.repo.repo, + title: '🦅 天眼巡检异常 · ' + new Date().toISOString().split('T')[0], + body: '天眼每日巡检发现异常,请冰朔查看 Actions 日志。\n\n运行链接: ' + context.serverUrl + '/' + context.repo.owner + '/' + context.repo.repo + '/actions/runs/' + context.runId, + labels: ['tianyan', 'auto-report'] + }); diff --git a/scripts/agent-checkin.js b/scripts/agent-checkin.js index 6509b50f..f1e7da43 100644 --- a/scripts/agent-checkin.js +++ b/scripts/agent-checkin.js @@ -92,12 +92,19 @@ async function main() { } const registry = JSON.parse(fs.readFileSync(REGISTRY_PATH, 'utf8')); - // 2. 构建签到记录 + // 2. 构建签到记录(仅检查 daily_checkin_required === true 的 Agent) const records = []; let checkedIn = 0; const missingAgents = []; + let skipped = 0; for (const agent of registry.agents) { + // 跳过无需每日签到的 Agent(事件触发型、已暂停等) + if (agent.daily_checkin_required === false) { + skipped++; + continue; + } + console.log(` 🔍 检查 ${agent.id} (${agent.workflow})...`); const run = await getLatestRun(agent.workflow); @@ -135,6 +142,8 @@ async function main() { records.push(record); } + console.log(`\n📋 跳过 ${skipped} 个无需签到的 Agent`); + // 3. 构建签到板 const board = { board_version: 'v1.0', diff --git a/scripts/fix-registry-checkin.js b/scripts/fix-registry-checkin.js new file mode 100644 index 00000000..5959e82f --- /dev/null +++ b/scripts/fix-registry-checkin.js @@ -0,0 +1,49 @@ +/** + * scripts/fix-registry-checkin.js + * 铸渊修复脚本:给所有 Agent 补上 daily_checkin_required 字段 + * + * 根因:agent-registry.json 中 62 个 Agent 均缺少 daily_checkin_required 字段, + * 签到系统将所有 Agent 视为需要签到,导致事件触发型 Agent 被误报为缺席。 + * + * 修复策略:只有定时运行的核心系统 Agent 标记为 true,其余标记为 false。 + */ + +'use strict'; + +const fs = require('fs'); +const path = require('path'); + +const REGISTRY_PATH = path.resolve(__dirname, '..', '.github/persona-brain/agent-registry.json'); + +const registry = JSON.parse(fs.readFileSync(REGISTRY_PATH, 'utf8')); + +// 真正需要每日签到的 Agent 列表(核心系统 Agent,具备定时触发能力) +const MUST_CHECKIN = [ + 'AG-ZY-004', // 冰朔主控神经系统 + 'AG-ZY-007', // Bridge E · GitHub→Notion + 'AG-ZY-008', // 桥接心跳检测 + 'AG-ZY-013', // Daily Maintenance + 'AG-ZY-014', // 光湖开发日报 + 'AG-ZY-016', // CD 自动部署 + 'AG-ZY-017', // 广播分发 + 'AG-ZY-023', // 元看门狗 + 'AG-ZY-026', // Heartbeat Monitor + 'AG-ZY-028', // 工单轮询 + 'AG-ZY-029', // Agent 唤醒监听 + 'AG-ZY-053', // 更新系统公告区 + 'AG-ZY-054', // 图书馆目录更新 + 'AG-ZY-058', // 每日自检 +]; + +let fixed = 0; +registry.agents.forEach(agent => { + if (agent.daily_checkin_required === undefined) { + agent.daily_checkin_required = MUST_CHECKIN.includes(agent.id); + fixed++; + } +}); + +fs.writeFileSync(REGISTRY_PATH, JSON.stringify(registry, null, 2) + '\n'); +console.log(`✅ 修复完成:${fixed} 个 Agent 已补上 daily_checkin_required 字段`); +console.log(`📊 需要签到: ${registry.agents.filter(a => a.daily_checkin_required).length}`); +console.log(`📊 无需签到: ${registry.agents.filter(a => !a.daily_checkin_required).length}`);