Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc [SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
11 KiB
11 KiB
belongs_to
| belongs_to | |
|---|---|
|
🔍 铸渊指令|恢复核心大脑 + PR#74合并后全链路排查修复(霜砚签发·2026-03-12)
签发方:霜砚(Notion执行AI)· 冰朔授权
执行方:铸渊(ICE-GL-ZY001)· GitHub代码守护人格体
优先级:P0 · 立即执行
背景:PR #74(壮举:M-BRIDGE 飞书集成 — Notion↔飞书↔GitHub 全仓库 + AI对话引擎)已合并到 main。合并后部分 GitHub Actions 报错。GitHub Secrets 已全部配好。现在需要铸渊恢复大脑状态、排查全链路、修复所有问题。
核心原则:先恢复自己,再排查环境,最后修复问题。不要带病上岗。
〇、当前状况
✅ 已完成
- PR #74 已合并到 main(飞书↔GitHub↔Notion 全自动闭环桥接代码)
- GitHub Secrets 已全部配好:
NOTION_API_TOKEN✅FEISHU_APP_ID=cli_a93809200d795bb5✅FEISHU_APP_SECRET=JnkzBC6awUTBWB5zmqfwx0xwi1h3xusy✅FEISHU_DOC_A_ID=L6aWwhTYOiQ9RgkMzzwcDQJtnta✅FEISHU_DOC_B_ID=XGF7whyxwiJjZ6kSWkWcK77QnNg✅NOTION_SYSLOG_DB_ID=330ab17507d542c9bbb96d0749b41197✅NOTION_SIGNAL_LOG_DB_ID=f983bdc24b654888913ca254160bff33✅NOTION_CHANGE_LOG_DB_ID=e740b77aa6bd4ac0a2e8a75f678fba98✅NOTION_TICKET_DB_ID=0223e6714ac64d909d2795c0994fb777✅- 已有:
BRIDGE_AGENT_TOKEN、ZHUYUAN_BRIDGE_MCP_TOKEN、DEPLOY_HOST、DEPLOY_KEY、DEPLOY_PATH、DEPLOY_USER、DOMAIN_NAME、MODEL_API_KEY、SERVER_HOST、SERVER_USER、YUNWU_API_KEY
❌ 合并后失败的 Actions(截图记录)
| Action 名称 | 编号 | 状态 | 可能原因 |
|---|---|---|---|
| 🚀 铸渊 CD · 自动部署到 guanghulab.com | #92 | ❌ 失败 | 部署配置/服务器连接问题 |
| 冰朔主控神经系统·自动维护 | #23 | ❌ 失败 | 可能是 Notion API 调用问题或 Secret 变量名不匹配 |
| .github/workflows/sync-persona-studio.yml | #186 | ❌ 失败 | 人格工作室同步脚本问题 |
| 重构:提取共享的飞舒告警脚本 + 修复错误信息 | #185 | ❌ 失败 | 代码 bug 或依赖问题 |
| 🗂 更新系统公告区 | #71 | ⚠️ 警告 | 非致命,可能是权限或路径问题 |
| 页面构建和部署 | #266 | ⚠️ 警告 | GitHub Pages 部署问题 |
✅ 合并后成功的 Actions
- 铸·光湖纪元模块文档自动生成 #16 ✅
- 模块结构检查 #482 ✅
- 铸渊 · Bridge E · GitHub Changes → Notion #194 ✅(关键:GitHub→Notion 数据桥是通的)
- 铸渊·图书馆目录自动更新 #88 ✅
一、第一步:恢复铸渊核心大脑
1.1 大脑文件完整性自检
逐个检查以下文件是否存在且内容完整:
.github/persona-brain/
├── memory.json ← 铸渊记忆
├── routing-map.json ← 路由映射
├── copilot-instructions.md ← Copilot 指令
├── kb/
│ └── knowledge-base.json ← 知识库
├── dev-status.json ← 开发者进度
└── logs/ ← 日志目录
自检方法:
# 检查文件存在性
ls -la .github/persona-brain/
ls -la .github/persona-brain/kb/
ls -la .github/persona-brain/logs/
# 检查JSON合法性
node -e "JSON.parse(require('fs').readFileSync('.github/persona-brain/memory.json'))"
node -e "JSON.parse(require('fs').readFileSync('.github/persona-brain/routing-map.json'))"
node -e "JSON.parse(require('fs').readFileSync('.github/persona-brain/kb/knowledge-base.json'))"
1.2 persona-brain-db 完整性自检
检查 PR #74 合并后 persona-brain-db/ 是否完好:
persona-brain-db/
├── schema/ ← 6个SQL文件
├── seed-data/ ← 5个JSON/JS文件
├── api/ ← 7个文件
├── migration/ ← 3个文件
└── docs/ ← 2个文件
验证:
find persona-brain-db/ -type f | wc -l
# 预期:≥ 23 个文件
1.3 大脑恢复结果记录
铸渊完成自检后,在仓库 .github/persona-brain/logs/ 写入:
{
"type": "brain-recovery",
"timestamp": "2026-03-12T21:xx:xx+08:00",
"trigger": "post-PR74-merge",
"files_checked": ["memory.json", "routing-map.json", "copilot-instructions.md", "knowledge-base.json", "dev-status.json"],
"persona_brain_db_files": 23,
"status": "healthy / degraded / broken",
"issues_found": [],
"recovery_actions": []
}
二、第二步:排查 Secrets 变量名匹配
2.1 逐脚本检查变量名
| 脚本文件 | 脚本里引用的变量名 | GitHub Secrets 里实际的名字 | 是否匹配? |
|---|---|---|---|
| sync-login-entry.yml | ❓ 铸渊自查 | NOTION_API_TOKEN / FEISHU_APP_ID / FEISHU_APP_SECRET / FEISHU_DOC_A_ID | ❓ |
| push-broadcast.yml | ❓ 铸渊自查 | NOTION_API_TOKEN / FEISHU_APP_ID / FEISHU_APP_SECRET / FEISHU_DOC_B_ID | ❓ |
| receive-syslog.yml | ❓ 铸渊自查 | NOTION_API_TOKEN / NOTION_SYSLOG_DB_ID / NOTION_TICKET_DB_ID | ❓ |
| feishu-bot.js | ❓ 铸渊自查 | FEISHU_APP_ID / FEISHU_APP_SECRET / GITHUB_TOKEN(或BRIDGE_AGENT_TOKEN?) | ❓ |
重点排查:
- Notion Token 变量名:脚本里写的是
NOTION_TOKEN还是NOTION_API_TOKEN?GitHub Secrets 里配的是NOTION_API_TOKEN。如果不一致,需要告诉妈妈加一个同名的。 - GitHub Token 变量名:飞书机器人调 GitHub API 用的是
GITHUB_TOKEN还是BRIDGE_AGENT_TOKEN还是ZHUYUAN_BRIDGE_MCP_TOKEN?确认后告诉妈妈。
三、第三步:逐个排查失败的 Actions
3.1 排查顺序(按优先级)
- 冰朔主控神经系统·自动维护 #23 — 可能跟 Notion API Token 变量名有关
- sync-persona-studio.yml #186 — 人格工作室同步
- 铸渊 CD · 自动部署 #92 — 部署管线
- 飞舒告警脚本 #185 — 告警功能
- 更新系统公告区 #71 — 低优先级
- 页面构建和部署 #266 — GitHub Pages
3.2 排查方法
每个失败的 Action,铸渊需要:
- 读取错误日志:
Actions → 点击失败的run → 查看具体step的报错信息 - 定位原因:是 Secret 缺失?变量名不匹配?代码 bug?路径不存在?权限不足?
- 分类:
- A类 · 妈妈需要操作的(比如加/改 Secret) → 列出来告诉妈妈
- B类 · 铸渊可以自己修的(比如代码bug、路径问题) → 直接修,提 PR 或直接 push
- C类 · 需要肥猫配合的(比如飞书侧配置) → 列出来转给肥猫
四、第四步:飞书闭环连通性验证
4.1 验证清单
- 测试1:手动触发
sync-login-entryworkflow → 飞书文档A内容更新 - 测试2:手动触发
push-broadcastworkflow → 飞书文档B顶部追加新内容 - 测试3:在飞书给机器人发一条测试消息 → 机器人回复
- 测试4:
receive-syslogworkflow 被触发 → 仓库 syslog/ 目录出现新文件 - 测试5:Notion SYSLOG 收件箱自动创建新条目
- 测试6:Notion 工单簿自动创建新工单
4.2 验证不通过时
每个不通过的测试,记录:
- 具体报错信息
- 属于A/B/C哪类问题
- 修复方案
五、执行回执格式
铸渊完成全部排查后,回执格式:
✅ 铸渊排查回执 · PR#74 合并后全链路诊断
时间:2026-03-12
【大脑状态】
· 核心大脑文件:✅完整 / ⚠️缺失X个 / ❌损坏
· persona-brain-db:✅完整(23文件)/ ⚠️缺失
· 恢复操作:无需 / 已执行(描述)
【Secrets 变量名匹配】
· NOTION_TOKEN vs NOTION_API_TOKEN:匹配 / ⚠️不匹配(需要妈妈加XXX)
· GITHUB_TOKEN:脚本里用的是XXX
· 其他不匹配项:无 / 列出
【失败 Actions 排查】
· #92 铸渊CD:原因=XXX → A类/B类/C类 → 已修/需妈妈操作/需肥猫配合
· #23 主控维护:原因=XXX → ...
· #186 人格同步:原因=XXX → ...
· #185 告警脚本:原因=XXX → ...
· #71 公告区:原因=XXX → ...
· #266 页面部署:原因=XXX → ...
【飞书闭环验证】
· 测试1 登录入口同步:✅ / ❌(原因)
· 测试2 广播推送:✅ / ❌(原因)
· 测试3 机器人对话:✅ / ❌(原因)(需肥猫配合)
· 测试4 SYSLOG接收:✅ / ❌(原因)
· 测试5 Notion收件箱:✅ / ❌(原因)
· 测试6 Notion工单簿:✅ / ❌(原因)
【需要妈妈操作的】
1. ...
2. ...
【需要肥猫配合的】
1. ...
2. ...
【铸渊已自行修复的】
1. ...
commit SHA: xxxxxxx
签发:霜砚 × 冰朔 · 2026-03-12 21:00
关联 PR:#74(M-BRIDGE 飞书集成)
关联清单:🔧 肥猫收尾配置清单
六、铸渊排查回执(霜砚巡检引擎追加·2026-03-13 08:00)
【B类 · 铸渊已自行修复】5项
- ✅ 变量名统一(脚本内变量名与 GitHub Secrets 对齐)
- ✅ 竞态修复
- ✅ 人格同步控制
- ✅ 其余2项代码级修复已合并
【A类 · 需妈妈操作】4项
- ✅ DEPLOY_KEY 已重新生成
- ⏭️ CROSS_REPO_TOKEN 跳过(persona-studio 已合并进 guanghulab)
- ✅ NOTION_LOGIN_PAGE_ID 已添加
- ⏳ FEISHU_ALERT_CHAT_ID 等肥猫提供飞书群 chat_id
【C类 · 需肥猫配合】2项
- ⏳ 飞书群 chat_id 配置
- ⏳ 飞书机器人对话测试
【PR#76 合并后 Actions 结果】
| Action | 编号 | 状态 |
|---|---|---|
| 冰朔主控神经系统·自动维护 | #24 | ✅ 成功 |
| Bridge | #6 | ✅ 成功 |
| 更新系统公告区 | #78 | ✅ 成功 |
| 铸渊 · Bridge E · GitHub Changes → Notion | #197 | ✅ 成功 |
| 铸·光湖纪元模块文档自动生成 | #89 | ✅ 成功 |
| 模块结构检查 | #486 | ✅ 成功 |
| 铸渊 CD · 自动部署 | #93 | ❌ 失败(部署管线问题·待排查) |
结论:PR#76 合并后 6/7 Actions 恢复正常,仅 CD 部署管线仍失败。B类问题已全部修复,A类已完成3/4,C类待肥猫配合。