--- belongs_to: - "[[INDEX · 铸渊·协作指令|GitHub ↔ Notion 桥接协议]]" --- # 🦅 铸渊指令|天眼全局扫描 + 签到系统修复 + 自动化巡检验证(2026-03-21 · 冰朔签发) --- ## 一、任务总览 | 阶段 | 任务 | 目标 | | --- | --- | --- | | **Phase 1** | 唤醒核心大脑 · 读取人格体注册表 | 确认全部 62 个 Agent 的注册信息和签到配置 | | **Phase 2** | 启动天眼系统 · 全仓库结构扫描 | 检查每个 Agent 的 workflow 文件、cron 配置、权限状态 | | **Phase 3** | 定位签到失败根因 · 分类修复 | 让 46 个缺席 Agent 恢复签到 | | **Phase 4** | 验证天眼自动巡检是否在跑 | 确认每日自动修复机制正常运转 | --- ## 二、Phase 1 · 唤醒核心大脑 ### 2.1 读取人格体注册表 ```bash # 读取 agent-registry.json,确认所有 Agent 的注册状态 cat .github/brain/agent-registry.json | jq '.agents | length' cat .github/brain/agent-registry.json | jq '.agents[] | {id: .agent_id, name: .name, daily_checkin_required: .daily_checkin_required}' ``` ### 2.2 核心检查项 - [ ] `agent-registry.json` 是否存在且格式正确 - [ ] 每个 Agent 是否都有 `daily_checkin_required` 字段 - [ ] `daily_checkin_required: false` 的 Agent 不应出现在缺席名单中 - [ ] 统计:实际需要签到的 Agent 数量 vs 报告中的 62 个 **关键问题**:如果大量 Agent 的 `daily_checkin_required` 字段缺失或为 `undefined`,签到系统会把它们当作需要签到但未签到,导致误报缺席。这是之前 `铸渊指令|修复签到系统误报` 要解决的问题,检查是否已修复生效。 --- ## 三、Phase 2 · 启动天眼系统 · 全仓库结构扫描 ### 3.1 扫描所有 workflow 文件 ```bash # 列出所有 workflow ls -la .github/workflows/ # 检查签到相关 workflow 是否存在 ls -la .github/workflows/daily-checkin.yml ls -la .github/workflows/tianyan-*.yml # 检查天眼扫描 workflow cat .github/workflows/tianyan-scan.yml 2>/dev/null || echo "❌ 天眼扫描 workflow 不存在" cat .github/workflows/tianyan-repair.yml 2>/dev/null || echo "❌ 天眼修复 workflow 不存在" ``` ### 3.2 检查 cron 调度是否正确 ```bash # 提取所有 workflow 的 cron 配置 grep -r "cron:" .github/workflows/ --include="*.yml" | sort # 关键检查: # - daily-checkin.yml 的 cron 是否正确(北京时间 08:00 = UTC 00:00) # - tianyan 系列的 cron 是否正确 # - 是否有 workflow 的 cron 写错导致从未触发 ``` ### 3.3 检查最近的 workflow 运行记录 打开 [https://github.com/qinfendebingshuo/guanghulab/actions](https://github.com/qinfendebingshuo/guanghulab/actions) 逐一检查以下 workflow 的运行历史: - [ ] `daily-checkin.yml` — 最近一次运行时间?成功还是失败? - [ ] `tianyan-scan.yml` — 最近一次运行时间?有没有在跑? - [ ] `tianyan-repair.yml` — 最近一次运行时间?有没有在跑? **如果某个 workflow 从未运行过**,检查: 1. 文件是否在 `main` 分支(不是在其他分支) 2. `on:` 触发条件是否正确 3. 是否有语法错误导致 GitHub 静默忽略 --- ## 四、Phase 3 · 定位签到失败根因 · 分类修复 ### 4.1 可能的根因(按概率排序) | 根因 | 症状 | 修复方式 | | --- | --- | --- | | **A. 注册表缺字段** | 大量 Agent 无 `daily_checkin_required` 字段,签到系统误判为需要签到 | 给所有非必要签到的 Agent 加上 `daily_checkin_required: false` | | **B. Workflow 从未触发** | Actions 历史里没有 daily-checkin 的运行记录 | 检查 cron 语法、分支、文件路径 | | **C. Workflow 跑了但报错** | Actions 历史里有运行但标红失败 | 查看失败日志,修复具体报错 | | **D. 签到脚本逻辑 bug** | Workflow 成功但签到结果不对 | 检查签到脚本的 Agent 遍历逻辑 | | **E. 天眼自动修复未部署** | 天眼 workflow 文件不存在或从未运行 | 部署天眼自动修复 workflow | ### 4.2 修复脚本 · 注册表批量补字段 如果根因是 A(最可能),执行以下修复: ```jsx // scripts/fix-registry-checkin.js // 铸渊修复脚本:给所有 Agent 补上 daily_checkin_required 字段 const fs = require('fs'); const REGISTRY_PATH = '.github/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.agent_id); fixed++; } }); fs.writeFileSync(REGISTRY_PATH, JSON.stringify(registry, null, 2)); 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}`); ``` 执行: ```bash node scripts/fix-registry-checkin.js git add .github/brain/agent-registry.json git commit -m "fix: 铸渊修复注册表签到字段 · 46个缺席Agent根因定位" git push origin main ``` --- ## 五、Phase 4 · 验证天眼自动巡检 ### 5.1 检查天眼系统是否在仓库中运行 ```bash # 检查天眼相关文件 ls -la .github/workflows/tianyan-* ls -la .github/brain/tianyan-* ls -la scripts/tianyan-* ``` ### 5.2 天眼应该具备的自动化能力 - [ ] **每日自动扫描**:cron 定时跑,扫描仓库结构异常 - [ ] **自动修复**:发现问题后自动修复(比如缺失文件、格式错误) - [ ] **异常上报**:修不了的问题自动创建 Issue 通知冰朔 - [ ] **签到兜底**:天眼检测到签到异常时自动重跑签到 ### 5.3 如果天眼不存在或没在跑 创建天眼自动巡检 workflow: ```yaml # .github/workflows/tianyan-daily-patrol.yml # 天眼 · 每日自动巡检 + 修复 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 -e " const fs = require('fs'); const reg = JSON.parse(fs.readFileSync('.github/brain/agent-registry.json','utf8')); const missing = reg.agents.filter(a => a.daily_checkin_required === undefined); if (missing.length > 0) { console.log('⚠️ 发现 ' + missing.length + ' 个Agent缺少签到配置字段'); missing.forEach(a => { a.daily_checkin_required = false; }); fs.writeFileSync('.github/brain/agent-registry.json', JSON.stringify(reg, null, 2)); console.log('✅ 已自动补齐'); } else { console.log('✅ 注册表完整'); } " - name: 扫描 Workflow 文件健康度 run: | echo "📋 当前 workflow 文件列表:" ls -la .github/workflows/*.yml | wc -l echo "---" # 检查关键 workflow 是否存在 for f in daily-checkin federation-bridge; do if [ -f ".github/workflows/$f.yml" ]; then echo "✅ $f.yml 存在" else echo "❌ $f.yml 缺失" fi done - name: 扫描 persona-brain 健康度 run: | if [ -d ".github/brain" ]; then echo "✅ .github/brain/ 存在" ls -la .github/brain/ else echo "❌ .github/brain/ 不存在" fi if [ -f ".github/brain/agent-registry.json" ]; then TOTAL=$(node -e "const r=JSON.parse(require('fs').readFileSync('.github/brain/agent-registry.json','utf8')); console.log(r.agents.length)") echo "📊 注册 Agent 总数: $TOTAL" fi - name: 提交修复(如有) run: | git config user.name "天眼 (TianYan)" 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 origin main - 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'] }); ``` --- ## 六、执行清单 - [ ] **Phase 1**:读取 `agent-registry.json`,统计实际需要签到的 Agent 数量 - [ ] **Phase 2**:`ls .github/workflows/` 列出所有 workflow,检查天眼文件是否存在 - [ ] **Phase 2**:打开 Actions 页面,检查 daily-checkin 和 tianyan 的运行历史 - [ ] **Phase 3**:根据诊断结果执行对应修复(大概率是根因 A:注册表缺字段) - [ ] **Phase 3**:运行 `fix-registry-checkin.js` 修复注册表 - [ ] **Phase 4**:检查天眼 workflow 是否存在。不存在就创建 `tianyan-daily-patrol.yml` - [ ] **Phase 4**:手动触发天眼巡检,验证能正常跑 - [ ] 提交所有修复,push 到 main - [ ] 次日检查签到报告,确认缺席数量大幅下降 ---