Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc [SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
10 KiB
10 KiB
belongs_to
| belongs_to | |
|---|---|
|
🔍 铸渊排查指令|备用站功能部署链路断裂排查 + 天眼全局启动 + 合并膜整体排查(ZY-DIAG-SITE-2026-0326-001)· 霜砚签发 · 冰朔授权
指令编号:ZY-DIAG-SITE-2026-0326-001
类型:排查指令(独立指令)
签发:AG-SY-01 霜砚 · 2026-03-26
授权:TCS-0002∞ 冰朔
执行:AG-ZY-01 铸渊
优先级:P0 · 立即执行
Phase D0 · 天眼系统启动
铸渊先启动天眼,用天眼的视角来做全局排查:
- 加载天眼核心配置(
.github/skyeye/config.json+guard-rules.json),确认版本 - 运行 Guard 全局扫描(Workflow守卫 + Secret守卫 + 文件完整性守卫 + 人格体大脑守卫)
- 扫描报告写入
signal-log/skyeye-diag-site-20260326.json
完成标准:天眼已启动,全局扫描完成,问题地图已建立。
Phase D1 · 部署链路全链排查
D1-1 · 仓库侧排查
铸渊检查以下内容:
【代码是否真的写好了】
□ 检查最近 30 天冰朔提出的功能需求对应的 PR
□ PR 是否已合并到 main?
□ 合并到 main 的代码是否完整(功能代码 + 相关资源文件)?
□ 是否有 PR 被合并但代码有 bug 导致功能没生效?
【docs/ 目录状态】
□ 当前 main 分支 docs/index.html 的最新 commit 是什么时候?
□ 最新代码是否包含冰朔要求的功能?
□ 对比 docs/ 最近的 commit 历史,确认功能代码确实在 main 里
D1-2 · CI/CD 部署管道排查(核心嫌疑)
铸渊重点排查:
【部署 workflow 是否存在】
□ .github/workflows/ 里是否有负责把 docs/ 同步到服务器的 workflow?
□ 如果有,叫什么名字?触发条件是什么?
□ 如果没有——之前是怎么部署的?手动?还是别的 workflow 兼任?
【部署 workflow 是否在跑】
□ 查看该 workflow 最近 30 天的运行记录
□ 最后一次成功运行是什么时候?
□ 最后一次失败是什么时候?失败原因是什么?
□ 是从什么时间节点开始失败的?(这就是「断裂点」)
【其他 workflow 连带问题】
□ syslog-issue-pipeline.yml 连续红叉(#428-#433)是否影响了部署?
□ 实时仪表盘更新 workflow 的黄色告警是否相关?
□ 是否有 workflow 之间的依赖关系导致连锁失败?
D1-3 · Secrets 和凭证排查
铸渊检查仓库 Secrets:
【SSH 部署凭证】
□ 仓库 Settings → Secrets and variables → Actions 里是否有 SSH 相关 Secret?
(可能叫 SSH_PRIVATE_KEY、SERVER_SSH_KEY、DEPLOY_KEY 等)
□ 这些 Secret 是否过期或被删除?
□ Secret 对应的公钥是否还在服务器 authorized_keys 里?
【服务器连接信息】
□ 是否有 SERVER_HOST(应该是 8.155.62.235)、SERVER_USER、SERVER_PORT 等 Secret?
□ 这些值是否正确?
【API 相关 Secret】
□ AI 模型调用相关的 API Key Secret 是否存在?
□ 是否过期或额度用尽?
【Notion API】
□ NOTION_TOKEN 是否存在且有效?
□ syslog-issue-pipeline 的报错是否与 Notion Token 失效有关?
注意:铸渊无法直接查看 Secret 的值,但可以:
- 通过 workflow 日志判断 Secret 是否被正确读取
- 通过 workflow 运行时的错误信息推断 Secret 状态
- 列出 Secret 的名字和最后更新时间
D1-4 · 服务器侧排查(铸渊通过 CD 管道间接检查)
铸渊尝试通过 workflow 或已有工具检查:
【服务器上的文件状态】
□ 服务器上备用站的网站根目录在哪里?
(可能是 /var/www/guanghulab/docs/ 或 /var/www/html/ 或其他)
□ 服务器上 index.html 的最后修改时间是什么?
□ 与仓库 main 分支的版本是否一致?
【Nginx 配置】
□ 备用站的 Nginx 配置是什么?
□ 是通过哪个 server block 提供服务的?
□ 是否正确指向了备用站的文件目录?
如果铸渊无法通过现有 workflow 检查服务器状态:
→ 记录到「需人类操作」清单,让冰朔或之之 SSH 检查
Phase D1.5 · MCP 服务对接排查
D1.5-1 · MCP 代码状态
铸渊检查:
【MCP 代码位置】
□ MCP 相关代码在仓库哪个目录下?
□ 代码是否已合并到 main?
□ 最近一次 MCP 相关的 commit / PR 是什么时候?
□ 代码是否完整可运行?
【MCP 与备用站的对接方式】
□ MCP 服务是如何接入备用站的?
(前端调用 MCP API?后端代理?直接集成?)
□ 备用站前端代码中是否有 MCP 调用的入口?
□ MCP 服务需要哪些环境变量 / 配置 / Secret?
D1.5-2 · MCP 部署链路
【MCP 服务如何部署到服务器】
□ MCP 服务是否需要在服务器上运行一个独立进程?
□ 还是作为静态文件随备用站一起部署?
□ 有没有专门的 MCP 部署 workflow?
□ MCP 服务在服务器上是否在运行?(端口、进程、日志)
□ 如果需要后端服务,服务器上是用什么跑的?(Node、Python、pm2、systemd?)
【MCP 连接测试】
□ 从备用站前端能否调通 MCP 服务?
□ MCP 服务是否有健康检查端点?
□ 服务器防火墙 / Nginx 是否放行了 MCP 服务的端口?
【MCP 相关 Secret】
□ MCP 运行需要的 API Key / Token 是否在仓库 Secrets 里?
□ 是否已正确注入到服务器环境?
D1.5-3 · MCP 断裂点分析
核心问题:
□ MCP 之前是否曾经成功对接备用站运行过?
→ 如果是:什么时候断的?同 D1-2 断裂点分析
→ 如果否:MCP 代码写完了但从未成功部署到服务器
□ 是否存在以下情况:
· MCP 代码在仓库里但没有部署脚本把它送到服务器?
· MCP 代码部署到服务器了但服务没启动?
· MCP 服务启动了但 Nginx 没有代理过去?
· MCP 服务跑着但前端调用地址不对?
□ 找出 MCP 链路的具体断裂点
Phase D2 · 天眼合并膜整体排查
【合并膜完整性检查】
□ main 分支保护规则是否正确?
□ PR 合并流程是否正常?(有没有被绕过、有没有卡住)
□ 最近合并的 PR 是否全部触发了正确的 post-merge workflow?
□ 有没有 PR 合并后应该触发部署但没触发的情况?
【Workflow 全局健康检查】
□ 列出 .github/workflows/ 下所有 yml 文件
□ 逐个检查语法是否正确
□ 逐个检查最近一次运行状态
□ 标记所有失败或异常的 workflow
□ 重点标记与部署相关的 workflow
【时间线回溯】
□ 铸渊最后一次成功部署新功能到备用站是什么时候?
□ 从那之后发生了什么变化?(新的 workflow、Secret 变更、仓库设置变更?)
□ 找到精确的断裂时间点
Phase D3 · 问题修复
根据 D1-D2 的排查结果,铸渊自主修复能力范围内的问题:
【铸渊可以自己修的】
· Workflow yml 语法错误 → 修复 + PR + 天眼审核 + 合并
· Workflow 触发条件错误 → 修复
· Workflow 部署脚本逻辑错误 → 修复
· 代码 bug 导致功能不生效 → 修复
· 缺少部署 workflow → 创建
· JSON 格式问题 → 修复
所有修复走 PR → 天眼审核 → 合并。
【铸渊修不了的 → 写到回执「需人类操作」】
· Secret 过期/被删 → 需冰朔在 GitHub Settings 重新配置
· 服务器 SSH 公钥需更新 → 需冰朔或之之操作
· 服务器文件权限问题 → 需之之 SSH 检查
· API Key 额度用尽 → 需冰朔充值或更换
· 其他需要人类介入的问题
Phase D4 · SYSLOG 回执
{
"syslog_id": "ZY-DIAG-SITE-2026-0326-001-RECEIPT",
"executor": "AG-ZY-01",
"diagnosis": {
"root_cause": "[铸渊填写根因]",
"break_point": "[断裂环节]",
"break_time": "[大约什么时候开始断的]",
"evidence": "[关键证据]"
},
"skyeye_scan": {
"version": "[天眼版本]",
"guards_passed": "[通过数/总数]",
"red_alerts": [],
"workflow_health": {
"total": 0,
"healthy": 0,
"broken": 0,
"broken_list": []
}
},
"merge_membrane": {
"branch_protection": "[ok/missing/broken]",
"pr_flow": "[ok/broken]",
"deploy_trigger": "[ok/missing/broken]"
},
"fixes_applied": [
"[铸渊自主修复的内容列表]"
],
"verification": {
"deploy_pipeline_tested": false,
"site_updated_after_fix": false
}
}
⚠️ 需人类操作(Needs Human Action)
冰朔需操作:
(铸渊排查后回填)
之之需操作:
(铸渊排查后回填)