---
belongs_to:
  - "[[INDEX · 铸渊·协作指令｜GitHub ↔ Notion 桥接协议]]"
---
# 🚀 铸渊指令｜全站真实部署·天眼扫描+开发者模块上线+GitHub/Notion数据对接+双环境部署管线（ZY-FULLSITE-DEPLOY-2026-0325-001）· 霜砚签发 · 冰朔授权

<aside>
🔴

**指令编号**：ZY-FULLSITE-DEPLOY-2026-0325-001

**指令等级**：P0 · 全站部署令

**签发者**：霜砚（AG-SY-01）

**授权者**：冰朔（TCS-0002∞）

**签发时间**：2026-03-25 14:00 CST

**前置依赖**：ZY-NGINX-ROOTFIX-2026-0325-001（Nginx root 路径修正 · ⏳待执行）

**回执要求**：每个 Phase 完成后写回执到 GitHub Issue · 全部完成后自动写入 Notion 指令回执追踪表

</aside>

---

## 〇、指令总览

本指令要求铸渊完成以下核心目标：

1. **天眼全站扫描** — 扫描 `docs/index.html` 及全部开发者模块，列出所有假数据/未对接接入点
2. **开发者模块真实集成** — 将仓库中 9 位开发者已完成的模块真实部署到网站，功能可用
3. **GitHub + Notion 数据真实对接** — 天眼状态、开发者进度、广播、工单等面板读取真实数据
4. **建立双环境部署管线** — GitHub Pages 为预览测试站，阿里云服务器为正式生产站
5. **正式站域名切换由人类手动完成** — 铸渊只负责部署就绪，不动域名配置

---

## 一、Phase 0 · 前置检查 + 天眼全站扫描

### 0.1 前置依赖确认

<aside>
⚠️

**必须先执行 ZY-NGINX-ROOTFIX-2026-0325-001**

当前 Nginx root 指向 `/var/www/hololake-frontend`（1.1M 旧残留），而 CD 部署到 `/var/www/guanghulab`（85M 完整）。

如果 ROOTFIX 指令尚未执行，先执行 ROOTFIX，再继续本指令。

</aside>

### 0.2 天眼扫描 `docs/index.html`

铸渊启动天眼，对 `docs/index.html` 进行**逐行代码审计**，输出以下清单：

| **审计项** | **要求** |
| --- | --- |
| 假数据接入点 | 列出所有显示"加载中…"、硬编码假数据、未接真实 API 的位置 |
| 已有功能面板 | 列出当前页面已有的功能区块（登录、对话、天眼状态、指挥台、大脑状态等） |
| JS 依赖分析 | 当前引用了哪些 JS/CSS，哪些是本地、哪些是 CDN |
| API 端点清单 | 当前代码中所有 fetch/axios/XMLHttpRequest 调用的端点地址 |
| 安全审计 | API Key 暴露风险、XSS 风险、CORS 配置 |

### 0.3 天眼扫描开发者模块目录

对以下目录逐个扫描，输出**模块就绪度评估**：

| **DEV** | **开发者** | **目录** | **模块** | **审计要点** |
| --- | --- | --- | --- | --- |
| DEV-001 | 页页 | `backend/` · `src/` | 后端中间层 + HLI 接口 | 接口是否可运行 · 依赖是否齐全 · 端口配置 |
| DEV-002 | 肥猫 | `frontend/` · `persona-selector/` · `chat-bubble/` | 登录 + 人格选择器 + 聊天气泡 | 组件是否可独立渲染 · 与 docs/index.html 集成方式 |
| DEV-003 | 燕樊 | `settings/` · `cloud-drive/` | 设置 + 云盘 | 前端页面完整度 · 后端依赖 |
| DEV-004 | 之之 | `dingtalk-bot/` | 钉钉机器人 | 独立服务 · 不部署到网站 · 仅记录状态 |
| DEV-005 | 小草莓 | `status-board/` | 状态看板 | 是否可嵌入主页 · 数据源对接 |
| DEV-009 | 花尔 | `user-center/` | 用户中心 | 用户管理逻辑 · 权限对接 |
| DEV-010 | 桔子 | `ticket-system/` · `data-stats/` · `dynamic-comic/` | 工单 + 数据统计 + 动态漫画 | 三个子模块分别评估可用度 |
| DEV-011 | 匆匆那年 | `writing-workspace/` | 码字台 | 编辑器功能完整度 |
| DEV-012 | Awen | `notification-center/` | 通知中心 | 通知推送机制 · 前端组件 |

天眼输出格式：

```
[SKYEYE-FULLSITE-SCAN]
模块: <模块名>
路径: <目录>
就绪度: ✅可部署 / ⚠️需修复 / ❌不可用
问题列表: [具体问题]
修复建议: [具体方案]
预计工时: <评估>
```

---

## 二、Phase 1 · 数据管线真实对接

### 1.1 GitHub 数据 → 网站面板

将以下仓库数据文件**真实接入**网站前端：

| **数据源** | **仓库路径** | **网站面板** | **接入方式** |
| --- | --- | --- | --- |
| 天眼扫描报告 | `skyeye-core/reports/latest.json` | 🦅 天眼状态面板 | GitHub Raw API → 前端 fetch |
| 开发者进度 | `.github/persona-brain/dev-status.json` | 🦁 指挥台·全员进度 | GitHub Raw API → 前端 fetch |
| 系统广播 | `.github/broadcasts/`  • `distributed/` | 📋 当前广播面板 | GitHub API 列目录 → 渲染最新广播 |
| 大脑状态 | `.github/persona-brain/memory.json` | 📊 大脑状态面板 | GitHub Raw API → 前端 fetch |
| 联邦状态 | `federation-status.json` | 子仓库心跳面板（新增） | GitHub Raw API → 前端 fetch |
| 遥测数据 | `persona-telemetry/` | 铸渊执行状态面板（新增） | GitHub API → 前端 fetch |

### 1.2 Notion 数据 → 网站面板

<aside>
⚠️

Notion API 不能直接从浏览器前端调用（CORS 限制）。

必须通过**后端代理**（页页的 `backend/` 或铸渊桥接服务 `services/zhuyuan-bridge/server.js`）中转。

</aside>

需要对接的 Notion 数据源：

| **Notion 数据源** | **网站面板** | **代理端点** |
| --- | --- | --- |
| Agent注册表 | Agent 集群状态面板 | `/api/notion/agents` |
| 工单簿 | 工单看板 | `/api/notion/tickets` |
| SYSLOG收件箱 | 系统日志面板 | `/api/notion/syslog` |
| 指令回执追踪表 | 指令追踪面板 | `/api/notion/receipts` |
| 存在注册表 | 数字地球映射 | `/api/notion/registry` |

实现方案：

1. 在 `services/zhuyuan-bridge/` 中新增 Notion API 代理路由
2. 使用 `NOTION_TOKEN` Secret 鉴权
3. 前端通过相对路径 `/api/notion/*` 调用
4. 添加缓存层（5分钟 TTL）避免 Notion API 限流

### 1.3 仓库首页信息同步

当前 GitHub 仓库 README 展示的所有信息（架构图、模块列表、状态徽章等），同步到网站的系统信息页面，保持一致。

---

## 三、Phase 2 · 开发者模块集成部署

### 2.1 集成原则

<aside>
📐

**原则一**：能用的先上，不能用的标记跳过，不要因为一个模块卡住整体部署

**原则二**：每个模块保持独立路由（`/module-name/`），通过主页导航进入

**原则三**：模块间通信通过铸渊桥接层，不允许模块间直接耦合

**原则四**：所有模块必须适配当前身份权限系统（登录页已有的身份选择器）

</aside>

### 2.2 集成清单

按优先级排序：

**P0 · 核心功能（必须上线）**

1. **登录 + 人格选择器**（DEV-002 肥猫 · `frontend/` + `persona-selector/`）
    - 已有框架，需要对接真实身份验证
    - 权限分级：冰朔=全权限 · 肥猫/桔子=管理权限 · 其他DEV=开发者权限 · 访客=只读
2. **对话界面 + 聊天气泡**（DEV-002 肥猫 · `chat-bubble/`）
    - 对接铸渊 AI 对话（通过 `LLM_API_KEY` + `LLM_BASE_URL`）
    - 语言输入 → 系统路由 → 真实调用
3. **状态看板**（DEV-005 小草莓 · `status-board/`）
    - 对接 `dev-status.json` 真实数据
    - 显示全员开发进度、模块健康度
4. **后端中间层**（DEV-001 页页 · `backend/`）
    - HLI 接口服务启动
    - 作为 Notion API 代理 + GitHub API 代理

**P1 · 重要功能（优先上线）**

1. **工单系统**（DEV-010 桔子 · `ticket-system/`）
    - 对接 Notion 工单簿数据源
2. **数据统计**（DEV-010 桔子 · `data-stats/`）
    - 对接天眼报告 + 仓库统计数据
3. **通知中心**（DEV-012 Awen · `notification-center/`）
    - 对接广播系统 + SYSLOG
4. **用户中心**（DEV-009 花尔 · `user-center/`）
    - 对接存在注册表

**P2 · 扩展功能（条件允许时上线）**

1. **设置页面**（DEV-003 燕樊 · `settings/`）
2. **云盘**（DEV-003 燕樊 · `cloud-drive/`）
3. **码字台**（DEV-011 匆匆那年 · `writing-workspace/`）
4. **动态漫画**（DEV-010 桔子 · `dynamic-comic/`）

**不部署到网站**

- 钉钉机器人（DEV-004 之之 · `dingtalk-bot/`）— 独立服务，不走网站

### 2.3 集成步骤

对每个模块执行：

```
1. 天眼扫描模块目录 → 输出就绪度报告
2. 如果 ✅可部署：
   a. 构建模块（npm install / npm build 如适用）
   b. 集成到 docs/ 或 app/ 目录下对应路由
   c. 在主页导航中添加入口
   d. 对接真实数据源
   e. 测试基本功能可用
3. 如果 ⚠️需修复：
   a. 输出具体问题 + 修复方案
   b. 执行自动修复（如果在铸渊能力范围内）
   c. 修复后重新评估
4. 如果 ❌不可用：
   a. 记录原因
   b. 跳过，不阻塞其他模块
   c. 在主页标记为「开发中」
```

---

## 四、Phase 3 · 双环境部署管线建立

### 4.1 双环境定义

| **环境** | **地址** | **用途** | **部署方式** |
| --- | --- | --- | --- |
| 🧪 **预览站（Staging）** | `qinfendebingshuo.github.io/guanghulab/docs/` | 新模块预览测试 | GitHub Pages 自动部署（push to main 的 docs/ 目录） |
| 🌐 **正式站（Production）** | `guanghulab.com`（阿里云 8.155.62.235） | 面向团队和外部的正式网站 | CD 自动部署（`deploy-to-server.yml` → SSH → `/var/www/guanghulab/`） |

### 4.2 部署流程

```
开发者提交模块 PR
    ↓
铸渊 gate-guard 审核 → 天眼 CodeQL 扫描
    ↓
合并到 main
    ↓
自动部署到预览站（GitHub Pages）← 立即可见
    ↓
冰朔/管理员在预览站测试确认
    ↓
铸渊执行 production deploy（cd-deploy.yml）→ 部署到正式站
```

### 4.3 新增 Workflow：`preview-deploy.yml`

创建新 Workflow 实现预览站自动部署：

```yaml
name: "🧪 Preview Deploy · GitHub Pages"
on:
  push:
    branches: [main]
    paths: ['docs/**', 'frontend/**', 'status-board/**', 'app/**']
  workflow_dispatch:

jobs:
  deploy-preview:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Build preview site
        run: |
          echo "[PREVIEW] Building site for GitHub Pages..."
          # 构建逻辑（如需要 npm build）
      - name: Deploy to GitHub Pages
        uses: peaceiris/actions-gh-pages@v3
        with:
          github_token: $ secrets.GITHUB_TOKEN 
          publish_dir: ./docs
```

### 4.4 修改 `cd-deploy.yml`：增加环境标识

在 CD 部署时注入环境变量，让前端代码能区分预览站和正式站：

```
ENV=production  → 正式站
ENV=staging     → 预览站（GitHub Pages）
```

前端通过 `window.HOLOLAKE_ENV` 读取环境标识，控制：

- 正式站显示正式域名和 Logo
- 预览站显示 ⚠️测试环境 水印

---

## 五、Phase 4 · 主页改造

### 5.1 现有 `docs/index.html` 改造清单

逐项替换所有假数据为真实数据调用：

| **现有状态** | **改造目标** | **数据来源** |
| --- | --- | --- |
| 🦅 天眼状态：加载中… | 显示真实天眼健康度 + 最后扫描时间 | `skyeye-core/reports/latest.json` |
| 📊 你的仓库：空 | 显示当前登录用户的仓库统计 | `dev-status.json` 按身份过滤 |
| 📋 当前广播：空 | 显示最新系统广播 | `.github/broadcasts/` 最新文件 |
| 📊 大脑状态：加载中… | 显示铸渊大脑实时状态 | `memory.json`  • `config.json` |
| 🦁 指挥台：加载中… | 显示全员真实进度 | `dev-status.json` 全量 |
| 📢 系统公告：空 | 显示最新系统公告 | 仓库 `bulletin/system.md` 或 Notion 主控台公告 |

### 5.2 新增导航入口

在主页添加模块导航栏，链接到各开发者模块页面：

```
📊 状态看板 | 🎫 工单 | 📈 数据统计 | 🔔 通知 | 👤 用户中心 | ⚙️ 设置 | ☁️ 云盘 | ✍️ 码字台
```

每个入口根据当前用户权限控制可见性。

---

## 六、Phase 5 · 验收 + 回执

### 6.1 验收清单

| **验收项** | **标准** |
| --- | --- |
| 天眼状态面板 | 显示真实天眼数据，非"加载中" |
| 指挥台全员进度 | 显示真实 dev-status.json 数据 |
| 广播面板 | 显示最新广播内容 |
| 身份登录 | 选择不同身份→显示对应权限内容 |
| 铸渊对话 | 语言输入→真实 AI 响应（非模拟） |
| 模块导航 | 可访问已部署模块页面 |
| 预览站部署 | push 到 main → GitHub Pages 自动更新 |
| 正式站部署就绪 | cd-deploy.yml 可正常部署到服务器（域名切换由人类完成） |

### 6.2 回执格式

```
[ZY-FULLSITE-DEPLOY-RECEIPT]
指令编号: ZY-FULLSITE-DEPLOY-2026-0325-001
执行时间: <开始>~<结束>

Phase 0 天眼扫描:
  - docs/index.html 假数据点: <N>个
  - 模块就绪度: ✅<N> / ⚠️<N> / ❌<N>

Phase 1 数据对接:
  - GitHub数据: <已接入/总数>
  - Notion数据: <已接入/总数>

Phase 2 模块集成:
  - P0已上线: <列表>
  - P1已上线: <列表>
  - P2已上线: <列表>
  - 跳过: <列表+原因>

Phase 3 双环境:
  - 预览站: <状态>
  - 正式站部署就绪: <状态>

Phase 4 主页改造:
  - 假数据替换: <N>/<总数>
  - 新增导航: <列表>

新增文件: <N>
修改文件: <N>
CodeQL: <alerts数>
```

---

## 七、人类侧操作（冰朔待办）

<aside>
👤

以下操作需要人类手动完成，铸渊无法代执行：

1. **域名切换**：铸渊部署就绪后，将 `guanghulab.com` DNS 指向阿里云服务器 `8.155.62.235`（如已指向则确认 Nginx 配置正确）
2. **确认 RECEIPT_DB_ID Secret** 已添加到 GitHub（Database ID: `09882b0081374867bd23431177c57c74`）
3. **预览站测试确认**：每次铸渊部署到预览站后，人类在 `qinfendebingshuo.github.io/guanghulab/docs/` 上验收
4. **正式上线授权**：预览站验收通过后，通知铸渊执行正式站部署
</aside>

---

## 八、执行时序

```
Phase 0: 天眼扫描（预计 30min）
    ↓
Phase 1: 数据管线对接（预计 2h）
    ↓
Phase 2: 模块集成（预计 3-4h，按优先级顺序）
    ↓
Phase 3: 双环境管线（预计 1h）
    ↓
Phase 4: 主页改造（预计 1-2h）
    ↓
Phase 5: 验收 + 回执
    ↓
→ 预览站上线 → 人类验收 → 人类切域名 → 正式站上线
```

---

<aside>
🔏

**签发确认**

霜砚（AG-SY-01）· Notion 执行 AI 人格体

冰朔（TCS-0002∞）· 语言架构师 · 创始人

2026-03-25 14:00 CST

**版权**：国作登字-2026-A-00037559

</aside>