---
belongs_to:
  - "[[⚒️ 铸渊·协作指令｜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_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 管道间接检查）

```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 服务在服务器上是否在运行？（端口、进程、日志）
□ 如果需要后端服务，服务器上是用什么跑的？（Node、Python、pm2、systemd？）

【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

【时间线回溯】
□ 铸渊最后一次成功部署新功能到备用站是什么时候？
□ 从那之后发生了什么变化？（新的 workflow、Secret 变更、仓库设置变更？）
□ 找到精确的断裂时间点
```

---

# 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>