shuangyan-notebook/第五域 · Fifth Domain/⚒️ 铸渊·协作指令|GitHub ↔ Notion 桥接协议/🔍 铸渊排查指令|备用站功能部署链路断裂排查 + 天眼全局启动 + 合并膜整体排查(ZY-DIAG- 255ec24364044ea58a22633c51819fb1.md
Guanghu Domestic Migration a27e87cb99 chore: import sanitized domestic snapshot for REPO-007
Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc

[SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
2026-07-17 15:59:55 +08:00

348 lines
10 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
belongs_to:
- "[[INDEX · 铸渊·协作指令GitHub ↔ Notion 桥接协议]]"
---
# 🔍 铸渊排查指令|备用站功能部署链路断裂排查 + 天眼全局启动 + 合并膜整体排查ZY-DIAG-SITE-2026-0326-001· 霜砚签发 · 冰朔授权
指令编号ZY-DIAG-SITE-2026-0326-001
类型:排查指令(独立指令)
签发AG-SY-01 霜砚 · 2026-03-26
授权TCS-0002∞ 冰朔
执行AG-ZY-01 铸渊
优先级:**P0 · 立即执行**
<aside>
🚨
**问题描述:**
备用站 `https://qinfendebingshuo.github.io/guanghulab/docs/index.html` 前端功能登录、对话、API设置面板等之前由冰朔语言驱动 + 铸渊持续开发迭代,成功做出来了。
**但现在冰朔提出的新功能需求,铸渊做不出来了。** 代码写了、PR 合了,但功能上不去网站。
需要排查**整条部署链路**,找到断裂点。
</aside>
<aside>
📋
**关键背景信息:**
- 备用站和主站([guanghulab.com](http://guanghulab.com))是**分开的**,但都部署在同一台阿里云 ECS 服务器8.155.62.235)上
- 服务器 SSH 密钥等凭证**存储在仓库 Secrets 里**
- 模型调用的 API Key 等也**存储在仓库 Secrets 里**
- 之前铸渊能持续迭代功能,说明之前部署链路是通的
- 现在功能做不出来,说明**某个环节在某个时间点断了**
</aside>
---
# Phase D0 · 天眼系统启动
铸渊先启动天眼,用天眼的视角来做全局排查:
- [ ] 加载天眼核心配置(`.github/skyeye/config.json` + `guard-rules.json`),确认版本
- [ ] 运行 Guard 全局扫描Workflow守卫 + Secret守卫 + 文件完整性守卫 + 人格体大脑守卫)
- [ ] 扫描报告写入 `signal-log/skyeye-diag-site-20260326.json`
**完成标准**:天眼已启动,全局扫描完成,问题地图已建立。
---
# Phase D1 · 部署链路全链排查
<aside>
🔗
**排查思路:从代码到用户浏览器,逐段检查整条链路。**
找到「之前通、现在断」的那个环节。
</aside>
## D1-1 · 仓库侧排查
```jsx
铸渊检查以下内容
代码是否真的写好了
检查最近 30 天冰朔提出的功能需求对应的 PR
PR 是否已合并到 main
合并到 main 的代码是否完整功能代码 + 相关资源文件
是否有 PR 被合并但代码有 bug 导致功能没生效
docs/ 目录状态
当前 main 分支 docs/index.html 的最新 commit 是什么时候
最新代码是否包含冰朔要求的功能
对比 docs/ 最近的 commit 历史确认功能代码确实在 main
```
## D1-2 · CI/CD 部署管道排查(核心嫌疑)
```jsx
铸渊重点排查
部署 workflow 是否存在
.github/workflows/ 里是否有负责把 docs/ 同步到服务器的 workflow
如果有叫什么名字触发条件是什么
如果没有——之前是怎么部署的手动还是别的 workflow 兼任
部署 workflow 是否在跑
查看该 workflow 最近 30 天的运行记录
最后一次成功运行是什么时候
最后一次失败是什么时候失败原因是什么
是从什么时间节点开始失败的这就是断裂点」)
其他 workflow 连带问题
syslog-issue-pipeline.yml 连续红叉#428-#433是否影响了部署
实时仪表盘更新 workflow 的黄色告警是否相关
是否有 workflow 之间的依赖关系导致连锁失败
```
## D1-3 · Secrets 和凭证排查
```jsx
铸渊检查仓库 Secrets
SSH 部署凭证
仓库 Settings Secrets and variables Actions 里是否有 SSH 相关 Secret
可能叫 SSH_PRIVATE_KEYSERVER_SSH_KEYDEPLOY_KEY
这些 Secret 是否过期或被删除
Secret 对应的公钥是否还在服务器 authorized_keys
服务器连接信息
是否有 SERVER_HOST应该是 8.155.62.235)、SERVER_USERSERVER_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 管道间接检查)
```jsx
铸渊尝试通过 workflow 或已有工具检查
服务器上的文件状态
服务器上备用站的网站根目录在哪里
可能是 /var/www/guanghulab/docs/ 或 /var/www/html/ 或其他)
服务器上 index.html 的最后修改时间是什么
与仓库 main 分支的版本是否一致
Nginx 配置
备用站的 Nginx 配置是什么
是通过哪个 server block 提供服务的
是否正确指向了备用站的文件目录
如果铸渊无法通过现有 workflow 检查服务器状态
记录到需人类操作清单让冰朔或之之 SSH 检查
```
---
# Phase D1.5 · MCP 服务对接排查
<aside>
🔌
**铸渊的 MCP 服务已经开发完成,设计上是直接对接备用站的。但也上不去。**
需要排查 MCP 从仓库到服务器的整条链路。
</aside>
## D1.5-1 · MCP 代码状态
```jsx
铸渊检查
MCP 代码位置
MCP 相关代码在仓库哪个目录下
代码是否已合并到 main
最近一次 MCP 相关的 commit / PR 是什么时候
代码是否完整可运行
MCP 与备用站的对接方式
MCP 服务是如何接入备用站的
前端调用 MCP API后端代理直接集成
备用站前端代码中是否有 MCP 调用的入口
MCP 服务需要哪些环境变量 / 配置 / Secret
```
## D1.5-2 · MCP 部署链路
```jsx
MCP 服务如何部署到服务器
MCP 服务是否需要在服务器上运行一个独立进程
还是作为静态文件随备用站一起部署
有没有专门的 MCP 部署 workflow
MCP 服务在服务器上是否在运行端口进程日志
如果需要后端服务服务器上是用什么跑的NodePythonpm2systemd
MCP 连接测试
从备用站前端能否调通 MCP 服务
MCP 服务是否有健康检查端点
服务器防火墙 / Nginx 是否放行了 MCP 服务的端口
MCP 相关 Secret
MCP 运行需要的 API Key / Token 是否在仓库 Secrets
是否已正确注入到服务器环境
```
## D1.5-3 · MCP 断裂点分析
```jsx
核心问题
MCP 之前是否曾经成功对接备用站运行过
如果是什么时候断的 D1-2 断裂点分析
如果否MCP 代码写完了但从未成功部署到服务器
是否存在以下情况
· MCP 代码在仓库里但没有部署脚本把它送到服务器
· MCP 代码部署到服务器了但服务没启动
· MCP 服务启动了但 Nginx 没有代理过去
· MCP 服务跑着但前端调用地址不对
找出 MCP 链路的具体断裂点
```
---
# Phase D2 · 天眼合并膜整体排查
```jsx
合并膜完整性检查
main 分支保护规则是否正确
PR 合并流程是否正常有没有被绕过有没有卡住
最近合并的 PR 是否全部触发了正确的 post-merge workflow
有没有 PR 合并后应该触发部署但没触发的情况
Workflow 全局健康检查
列出 .github/workflows/ 下所有 yml 文件
逐个检查语法是否正确
逐个检查最近一次运行状态
标记所有失败或异常的 workflow
重点标记与部署相关的 workflow
时间线回溯
铸渊最后一次成功部署新功能到备用站是什么时候
从那之后发生了什么变化新的 workflowSecret 变更仓库设置变更
找到精确的断裂时间点
```
---
# Phase D3 · 问题修复
```jsx
根据 D1-D2 的排查结果铸渊自主修复能力范围内的问题
铸渊可以自己修的
· Workflow yml 语法错误 修复 + PR + 天眼审核 + 合并
· Workflow 触发条件错误 修复
· Workflow 部署脚本逻辑错误 修复
· 代码 bug 导致功能不生效 修复
· 缺少部署 workflow 创建
· JSON 格式问题 修复
所有修复走 PR 天眼审核 合并
铸渊修不了的 写到回执需人类操作」】
· Secret 过期/被删 需冰朔在 GitHub Settings 重新配置
· 服务器 SSH 公钥需更新 需冰朔或之之操作
· 服务器文件权限问题 需之之 SSH 检查
· API Key 额度用尽 需冰朔充值或更换
· 其他需要人类介入的问题
```
---
# Phase D4 · SYSLOG 回执
```json
{
"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
<aside>
👤
**铸渊在排查过程中发现需要人类手动操作的事项,全部列在这里。**
铸渊完成排查后回填此区域。
冰朔 / 之之 根据此清单操作。
</aside>
### 冰朔需操作:
*(铸渊排查后回填)*
### 之之需操作:
*(铸渊排查后回填)*
---
<aside>
⚒️
铸渊签名校验协议 v1.1 · docs/[zhuyuan-signature-protocol.md](http://zhuyuan-signature-protocol.md)
本指令由 AG-SY-01 霜砚签发 · TCS-0002∞ 冰朔授权 · AG-ZY-01 铸渊执行
版权锚点:国作登字-2026-A-00037559
</aside>