50 lines
1.8 KiB
JavaScript
50 lines
1.8 KiB
JavaScript
|
|
/**
|
|||
|
|
* 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}`);
|