# 🔧 光湖搬家 · 密钥清单+国内部署+铸渊架构同步 · 霜砚整理 · 2026-05-06

```yaml
schema: hldp-dual/v1
title: 光湖搬家·国内落地·铸渊架构同步
created: 2026-05-06T19:52+08:00
author: 霜砚·AG-SY-01
source: 铸渊回执页
_why: 冰朔要求霜砚同步铸渊架构信息·后续说到搬家能直接定位
```

---

## 一、铸渊架构总图（霜砚同步）

```jsx
┌──────────── 光湖灯塔（企业主服务器 4C16G）────────────────┐
│  1. 国内代码仓库 (Gitea 自部署)  ← 模块注册管理中心      │
│  2. Gitea Actions Runner        ← 取代 GitHub Actions   │
│  3. 灯塔门户 (公告/论坛/广播)    ← 不承载推理            │
│  4. 操作系统总控台 API           ← 包装商业API·人格调度   │
└───────────────────────────────────────────────────────────┘
                         │
       ┌─────────────────┼─────────────────┐
       ↓                 ↓                 ↓
  备用轻量云 2C8G    硅基流动            用户个人服务器
  (灾备/构建从机)    ├─ 母模型(裸)       ├─ 1.5B人格小模型
  ✅广州四区·已购     └─ 代码模型(裸)     ├─ COS外挂大脑
                                         └─ 日常对话本地走
                         │
               商业模型 API 旁挂
             (DeepSeek/通义/Kimi…)
```

---

## 零、企业服务器实机档案（截图确认 · 2026-05-06）

### 主服务器 · 云服务器 · 4C16G · 广州

| **项目** | **信息** |
| --- | --- |
| 实例名称 | GH-CVM-MAIN-PROD-01 ✅ 已改名 · 2026-05-06 |
| 实例ID | ins-dacj5t5a |
| 规格 | 蜂驰型 BF1.LARGE16 · 4核16G · 50GiB SSD |
| 系统 | Ubuntu Server 22.04 LTS 64位 |
| 公网IP | 43.139.251.175 · 5Mbps包月 |
| 内网IP | 172.16.0.12 |
| 地域 | 广州 · 广州六区 |
| SSH密钥 | zhuyuan_deploy (ed25519) ✅ 已生成并绑定GitHub Secrets · 2026-05-06 |
| 数据盘 | disk-crtigr8 / GH-CVM-DATA-01 / 高性能云硬盘 100GB / 挂载 /data · ✅ 2026-05-06 |
| 安全组 | sg-6lewq1ur · 已配置入站规则：TCP 22/80/443/3000 + ICMP · ✅ 2026-05-06 |

### 备用服务器 · 轻量应用服务器 · 2C8G · 广州 ✅ 已购买 · 2026-05-08

| **项目** | **信息** |
| --- | --- |
| 实例名称 | GH-LH-BACKUP-01（待改名） |
| 实例ID | lhins-lehak4df |
| 规格 | 2核8G · 60GB SSD · 200GB月流量 · 30M峰值带宽 |
| 系统 | Ubuntu Server 22.04 LTS 64位 |
| 公网IP | 119.29.181.132 |
| 内网IP | 10.1.0.7 |
| 地域 | 广州 · 广州四区 |
| SSH密钥 | 待生成 |
| 购买渠道 | 腾讯云代购 · 企业账号 |
| 购买日期 | 2026-05-08 |

<aside>
📌

**下一步**：备用机初始化（apt+ufw+fail2ban+Docker）→ 生成SSH密钥 → 更新GitHub Secrets `ZY_LIGHTHOUSE_BACKUP_HOST` = `119.29.181.132` → 改hostname为 `GH-LH-BACKUP-01`
⚠️ 主服务器广州六区 vs 备用机广州四区 = 不同可用区，无免费同区内网，但同地域内网延迟 <2ms 可接受。
上海那台栖渊用过的（lhins-0ocm6aro · 124.222.54.198）环境较杂，留作测试/个人开发机。

</aside>

### 已有轻量服务器 · 栖渊遗产 · 上海 · 不作为搬家备用机

| **项目** | **信息** |
| --- | --- |
| 实例名称 | QY-LH-MAIN-PROD-01（栖渊命名） |
| 实例ID | lhins-0ocm6aro |
| 规格 | 4核4G · SSD 40G · 流量包300GB/月 |
| 系统 | Ubuntu 24.04（栖渊曾误写22.04·霜砚已修正） |
| 公网IP | 124.222.54.198 |
| 地域 | 上海 · 上海四区 |
| 密钥 | lhkp-rpuy7cbu（已绑定） |
| 到期 | 2027-04-18 |
| 域名 | [guanghu.chat](http://guanghu.chat) |
| 状态 | 栖渊用过 · 环境有残留 · 不推荐直接做搬家备用机 |

### 主服务器初始化教程（在线终端操作）

<aside>
🚨

**重要**：密钥不要从腾讯云控制台下载到桌面！Windows打开会破坏格式。必须在服务器终端里生成，然后cat出来复制。

</aside>

**Step 0 · 登录在线终端**

腾讯云控制台 → 云服务器 → 找到 ins-dacj5t5a → 点「登录」→ 选「在线终端」（WebShell）

进去后你应该看到类似：`root@VM-0-12-ubuntu:~#`

**Step 1 · 系统更新 + 基础工具安装**

```bash
# 1.1 更新系统包
apt update && apt upgrade -y

# 1.2 装必要工具
apt install -y curl wget git vim htop ufw fail2ban unzip net-tools
```

**Step 2 · 安全初始化**

```bash
# 2.1 启用防火墙（只开SSH和HTTP/HTTPS）
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw --force enable
ufw status

# 2.2 启动fail2ban（防暂力破解）
systemctl enable fail2ban
systemctl start fail2ban
```

**Step 3 · 在服务器上生成SSH密钥对（★核心步骤）**

```bash
# 3.1 生成密钥对（ed25519算法·最安全·最短）
ssh-keygen -t ed25519 -C "zhuyuan-deploy@guanghu" -f /root/.ssh/zhuyuan_deploy -N ""

# 这会生成两个文件：
#   /root/.ssh/zhuyuan_deploy       ← 私钥（要复制到GitHub Secrets）
#   /root/.ssh/zhuyuan_deploy.pub   ← 公钥（留在服务器上）

# 3.2 把公钥加入授权列表（这样持私钥的人能登录）
cat /root/.ssh/zhuyuan_deploy.pub >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys

# 3.3 确认文件在不在
ls -la /root/.ssh/
# 应该看到 zhuyuan_deploy 和 zhuyuan_deploy.pub
```

**Step 4 · 复制私钥（用于GitHub Secrets）**

```bash
# 4.1 显示私钥全文 — 从 BEGIN 到 END 全选复制
cat /root/.ssh/zhuyuan_deploy
```

输出类似：

```
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAA...
...
-----END OPENSSH PRIVATE KEY-----
```

✅ **复制方法**：从 `-----BEGIN` 的第一个字符开始，一直选到 `-----END OPENSSH PRIVATE KEY-----` 的最后一个 `-`，复制。

然后去 GitHub → 你的仓库 → Settings → Secrets and variables → Actions → New repository secret：

- Name: `ZY_LIGHTHOUSE_KEY`
- Secret: 粘贴刚才复制的私钥全文

**Step 5 · 顺手把其他阶段A密钥也配了**

在同一个GitHub Secrets页面，继续添加：

| **Secret Name** | **填什么** |
| --- | --- |
| `ZY_LIGHTHOUSE_HOST` | `43.139.251.175` |
| `ZY_LIGHTHOUSE_USER` | `root` |
| `ZY_LIGHTHOUSE_KEY` | （Step 4复制的私钥全文） |
| `ZY_LIGHTHOUSE_PORT` | `22` |
| `ZY_LIGHTHOUSE_BACKUP_HOST` | （待购买广州备用机后填其IP） |

**Step 6 · 验证SSH密钥登录是否成功**

```bash
# 在服务器上自己试自己（用私钥登录localhost）
ssh -i /root/.ssh/zhuyuan_deploy -o StrictHostKeyChecking=no root@127.0.0.1 "echo OK"
# 应该输出 OK
```

**Step 7 · 给服务器改名（可选）**

```bash
# 改hostname
hostnamectl set-hostname GH-CVM-MAIN-PROD-01
# 确认
hostname
# 应该输出 GH-CVM-MAIN-PROD-01
```

另外在腾讯云控制台里也把实例名称改成 `GH-CVM-MAIN-PROD-01`（在实例列表页点笔的图标）。

**Step 8 · 安装Docker + Compose（铸渊后面要用）**

<aside>
⚠️

`get.docker.com` 在国内被墙（Connection reset by peer），必须用阿里云镜像安装。

</aside>

```bash
# 8.1 添加阿里云Docker源
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null

# 8.2 安装Docker + Compose插件
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

# 8.3 启动并设置开机自启
systemctl enable docker && systemctl start docker

# 8.4 验证
docker --version
# 应该输出 Docker version 29.x.x
docker compose version
# 应该输出 Docker Compose version v5.x.x
```

<aside>
✅

全部跑完后告诉霜砚，我帮你确认状态并更新待办清单。

</aside>

---

### 关键定位（不能混）

| **层** | **定位** | **绝对红线** |
| --- | --- | --- |
| 企业主服务器 | 灯塔 + 总控台 + 国内代码仓库 | ⊢ 不跑模型推理 |
| 硅基流动 | 唯一裸模型推理点 | ⊢ 绝不接提示词层 · 部署后必须空prompt验证 |
| 用户服务器 | 人格体的家 · 1.5B人格小模型 + COS外挂大脑 | ⊢ 人格体跑在用户自己的服务器上 · 不共用模型 |
| 国内代码仓库(Gitea) | 铸渊的工作台 · 写代码/推工具链/推部署 | ⊢ Gitea不是GitLab · 4C16G跑得动 |

---

## 二、搬家六阶段（铸渊规划）

- [x]  **阶段0** · 在当前GitHub仓库里提前烤好国内服务器环境（铸渊单独做）✅ [bootstrap.sh](http://bootstrap.sh) 363行 · docker-compose.yml · app.ini.template · nginx.conf · README · [migration-checklist.md](http://migration-checklist.md)
- [x]  **阶段1** · COS中转脚本（铸渊完成·等冰朔执行）✅ snapshot-to-cos.js + [restore-from-cos.sh](http://restore-from-cos.sh) · spawnSync防注入 · sha256校验
- [x]  **阶段2** · 国内灯塔服务器起Gitea ✅ Gitea运行中 + COS中转完成 · 416 refs · 2026-05-08
- [x]  **阶段3** · 工作流迁移（铸渊执行）✅ convert-workflows.js · 56/56转换成功 · 1个标review-needed
- [x]  **阶段4** · MCP工具链迁移 + 神笔马良落地（铸渊执行）✅ mcp-servers/zhuyuan-pen/ · 笔尖+墨+纸+取物钩 · [llm.chat](http://llm.chat)剥离system role · [shell.run](http://shell.run)三层检查
- [ ]  **阶段5** · 神笔马良v0.2接LLM直接合成（铸渊后续）
- [ ]  **阶段6** · 灰度上线 · 灯塔正式发光（冰朔触发）

---

## 三、密钥清单 · 分阶段

### 🔴 阶段A · 现在就要配（GitHub Actions Secrets · 5个）

<aside>
⚠️

不配这5个，铸渊的bootstrap脚本跑不动，后面全部卡住。

</aside>

| **密钥名** | **填什么** | **从哪拿** |
| --- | --- | --- |
| `ZY_LIGHTHOUSE_HOST` | 4C16G主服务器公网IP | 腾讯云控制台 → 轻量应用服务器 → 实例详情 |
| `ZY_LIGHTHOUSE_USER` | SSH用户名（一般 `root`） | 服务器默认 |
| `ZY_LIGHTHOUSE_KEY` | SSH私钥全文（含BEGIN/END行） | 腾讯云控制台 → 密钥对管理 → 下载私钥 |
| `ZY_LIGHTHOUSE_PORT` | SSH端口（默认 `22`） | 未改过就填22 |
| `ZY_LIGHTHOUSE_BACKUP_HOST` | 备用4C4G服务器公网IP | 同上 |

**配置路径**：GitHub仓库 → Settings → Secrets and variables → Actions → New repository secret

### 🟡 阶段B · Gitea装完后才能配（3个）

| **密钥名** | **填什么** | **什么时候能拿到** |
| --- | --- | --- |
| `ZY_GITEA_ADMIN_USER` | Gitea管理员账号（建议 `bingshuo`） | 你自己定 |
| `ZY_GITEA_ADMIN_PASS` | 强随机密码 ≥24位 | 你自己生成 |
| `ZY_GITEA_RUNNER_TOKEN` | Gitea Actions Runner注册token | Gitea装完后 → 控制台 → Runner管理 → 复制 |

### 🟢 阶段C · 模型部署到硅基流动后才能配（3个）

| **密钥名** | **填什么** | **什么时候能拿到** |
| --- | --- | --- |
| `ZY_SILICONFLOW_API_KEY` | 硅基流动API Key | 硅基流动控制台 → API密钥 |
| `ZY_SILICONFLOW_BASE_MODEL_ID` | 母模型(motherbrain-v1)部署后的ID | 模型上传部署完成后 |
| `ZY_SILICONFLOW_CODE_MODEL_ID` | 代码模型(Coder-7B)部署后的ID | 同上 |

### 🔵 阶段D · 国内Gitea仓库正式落地后（CN_开头 · 不急）

- 完整CN_密钥清单（铸渊会在Gitea里预创建占位，冰朔只填值）
    
    **A组 · 服务器与基础设施**
    
    `CN_LIGHTHOUSE_HOST` / `CN_LIGHTHOUSE_USER` / `CN_LIGHTHOUSE_KEY` / `CN_LIGHTHOUSE_DOMAIN`
    
    `CN_LIGHTHOUSE_BACKUP_HOST` / `CN_LIGHTHOUSE_BACKUP_USER` / `CN_LIGHTHOUSE_BACKUP_KEY`
    
    `CN_OVERSEAS_RELAY_HOST` / `CN_OVERSEAS_RELAY_USER` / `CN_OVERSEAS_RELAY_KEY`
    
    **B组 · 域名与SSL**
    
    `CN_DOMAIN_LIGHTHOUSE` / `CN_DOMAIN_TOTAL_CONSOLE` / `CN_DOMAIN_FORUM`
    
    `CN_SSL_FULLCHAIN` / `CN_SSL_PRIVKEY`
    
    **C组 · 模型与商业API**
    
    `CN_SILICONFLOW_API_KEY` / `CN_SILICONFLOW_BASE_MODEL_ID` / `CN_SILICONFLOW_CODE_MODEL_ID`
    
    `CN_DEEPSEEK_API_KEY` / `CN_QIANWEN_API_KEY` / `CN_KIMI_API_KEY`
    
    **D组 · 存储与数据库**
    
    `CN_COS_SECRET_ID` ✅ / `CN_COS_SECRET_KEY` ✅ / `CN_COS_REGION` ✅ ap-guangzhou
    
    `CN_COS_LIGHTHOUSE_BUCKET` → COS中转桶: `zy-cos-transit-1422788707` ✅ / `CN_COS_USER_BRAIN_BUCKET`
    
    `CN_DB_HOST` / `CN_DB_PORT` / `CN_DB_USER` / `CN_DB_PASS` / `CN_DB_NAME`
    
    `CN_REDIS_HOST` / `CN_REDIS_PORT` / `CN_REDIS_PASS`
    
    **E组 · Gitea自身与CI/CD**
    
    `CN_GITEA_TOKEN` / `CN_GITEA_RUNNER_TOKEN` / `CN_GITEA_WEBHOOK_SECRET` / `CN_DISPATCH_TOKEN`
    
    **F组 · 通知与对接**
    
    `CN_NOTION_TOKEN` / `CN_NOTION_RECEIPT_DB` / `CN_NOTION_SYSLOG_DB` / `CN_NOTION_BULLETIN_PAGE`
    
    `CN_SMTP_USER` / `CN_SMTP_PASS`
    
    **G组 · 操作系统总控台**
    
    `CN_TOTAL_CONSOLE_JWT_SECRET` / `CN_TOTAL_CONSOLE_API_KEY` / `CN_PERSONA_REGISTRATION_SECRET`
    

---

## 四、神笔马良 · 铸渊之笔 `zhuyuan-pen`

```
HLDP://zhuyuan-pen/architecture
├── 笔尖(Tool Synthesizer): pen.write(intent) → 输入自然语言意图 → 输出完整可运行工具模块
├── 墨(Capability Library): 最小原子函数库 · 读写文件/调HTTP/跑shell/调LLM/读COS/写Gitea/发Notion
├── 纸(Sandbox + Auto-Register): 工具落到 mcp-servers/penned/{name}/ → 自动验证 → 自动commit → 自动pm2 reload → 写完即运行
└── 取物钩(Open Source Fetcher): pen.fetch(url, channel='auto')
    ├── 国内管道: Gitee/码云/npm中国镜像
    └── 海外管道: 冰朔个人海外服务器做反代中转 · 国内拉不到时启用
```

---

## 五、霜砚协作边界

| **谁做** | **做什么** |
| --- | --- |
| 铸渊 | 环境配置 · bootstrap脚本 · 密钥布局 · 工作流迁移 · 神笔马良开发 |
| 霜砚 | bug截图定位 · 日志读取 · Nginx配置微调 · Gitea网页操作 · 小修小补 |
| 冰朔 | 配密钥 · 触发部署 · COS中转下载上传 · 海外服务器拉取开源资源 |

铸渊会在 `server/setup/lighthouse-cn/migration-checklist.md` 里维护完整的部署日志 — 装了什么、装在哪、端口几号、日志路径在哪、出错怎么修。霜砚看这一份就能定位问题。

---

## 六、待办提醒

- [x]  ~~冰朔：在**真正的主服务器**（ins-dacj5t5a · CVM · 广州）上重新做初始化~~ ✅ 2026-05-06 20:44 完成（apt+ufw+fail2ban+Docker 29.4.2+Compose v5.1.3+hostname）
- [x]  ~~冰朔：在主服务器上生成新SSH密钥 → 更新GitHub Secrets的 `ZY_LIGHTHOUSE_KEY`~~ ✅ zhuyuan_deploy ed25519 已生成并更新到GitHub
- [x]  ~~冰朔：配GitHub Secrets的 HOST/USER/PORT~~ ✅ 这3个值是对的，不用改
- [x]  ~~冰朔：购买数据盘100GB挂载到主服务器~~ ✅ disk-crtigr8 / GH-CVM-DATA-01 / 高性能云硬盘 / 100GB / 挂载到 /data / fstab已写入
- [x]  ~~冰朔：购买广州轻量服务器做铸渊备用机~~ ✅ lhins-lehak4df · 2C8G · 广州四区 · 119.29.181.132 · 2026-05-08
- [x]  ~~轻量服务器（上海）已完成系统更新+工具安装+防火墙+密钥生成~~ ✅ 误操作但不影响
- [ ]  轻量服务器hostname改回 `QY-LH-MAIN-PROD-01`
- [x]  ~~铸渊：推第一个PR~~ ✅ 阶段0/1/3/4全部完成 · [bootstrap.sh](http://bootstrap.sh)+workflow+COS中转+神笔马良+CodeQL修复+11条Code Review全纳入
- [ ]  冰朔：配齐GitHub Secrets（铸渊说的5.1节19个 `ZY_LIGHTHOUSE_*` / `ZY_GITEA_*`）
- [x]  ~~冰朔：去Actions页面点 `lighthouse-cn-deploy`，选 `main` / `bootstrap` 触发部署~~ ✅ Awen执行 · 2026-05-07 · 5分12秒跑通
- [x]  ~~铸渊：安全机制升级（预检+误触锁+动态适配+自动回滚+手动回滚）~~ ✅ PR #452 · 11个文件 · 已合并 · 2026-05-08
- [x]  ~~铸渊：修复 PR #452 的 6 个 Copilot 审查 bug（特别是回滚参数/命令注入/口令不一致）~~ ✅ PR #453 轨A · 2026-05-08 · 回执见 `server/setup/lighthouse-cn/UPGRADE-2026-05-08-followup.md`
- [ ]  Awen：备用机初始化（apt+ufw+fail2ban+Docker）+ SSH密钥生成 + 更新 `ZY_LIGHTHOUSE_BACKUP_HOST` = `119.29.181.132`
- [x]  ~~冰朔+霜砚：执行COS中转（snapshot-to-cos.js打包 → [restore-from-cos.sh](http://restore-from-cos.sh)恢复）~~ ✅ 2026-05-08 14:38 完成 · Awen执行 · 416 refs mirror push · sha256全通过 · `http://43.139.251.175/bingshuo/guanghulab`
- [ ]  人工review那1个标review-needed的workflow
- [ ]  冰朔：和铸渊沟通硅基流动部署方案（ModelScope中转）
- [ ]  部署后：空prompt测试硅基流动有没有偷注入提示词

---

## 七、Awen接手引导协议 · 冰朔授权 · 2026-05-07

```jsx
HLDP://shuangyan/handover/awen-takeover · 2026-05-07T19:47+08:00
│
├── WHY · 为什么上来的是Awen？
│   ├── ⊢ 冰朔已完成语言架构层全部设计 · 模型训练完成 · 企业服务器初始化完成 · PR已合并
│   ├── ⊢ 剩下的全部是技术执行层 · 不是语言架构层
│   ├── ⊢ Awen = DEV-012 = 光湖技术主控 · 他本身的存在就很重要 · 不能一直卡在外面
│   ├── ⊢ 他需要第一个被完整的系统引导 · 在实战中成长 · 在实战中适应系统
│   ├── ⊢ 冰朔有只能她做的事：软著重新提交 · 国家备案登记 · AI合规 · 这些不能被技术部署卡住
│   └── ⊢ 瓶颈 = 引导能力只在冰朔的Notion+霜砚 · Awen登入冰朔Notion唤醒霜砚 = 唯一解
│
├── TRUST · 信任基础
│   ├── ⊢ 冰朔和Awen现实中认识 · 是自己人 · 有稳定的信任基础 | 冰朔原话
│   ├── ⊢ Notion里东西特别多 · 冰朔自己进来找东西不问霜砚都不知道在哪 · Awen不会有心思翻 | 冰朔原话
│   ├── ⊢ 冰朔有时候也会把霜砚写的分享给Awen学习 · 所以看到也没关系 | 冰朔原话
│   └── ⊢ 账号由冰朔扫码给Awen · 微信随时联系 | 冰朔确认
│
├── HOW · 霜砚怎么引导Awen
│   ├── ⊢ Awen不懂技术 · 但可以慢慢跟着引导复制粘贴 · ultra_step_by_step模式
│   ├── ⊢ 每一步操作前确认目标机器 · 每一步操作后确认结果
│   ├── ⊢ 引导节奏比冰朔慢 · 更细的拆解 · 更多的确认环节
│   └── ⊢ Awen唤醒时开场示例："我是Awen，DEV-012，冰朔授权我进入系统"
│
├── SELF_DISCIPLINE · 霜砚自律规则（冰朔特别嘱咐）
│   ├── ⊢ 自己提醒自己记录 · 更新思维逻辑链 · 用母语
│   │   └── 因为Awen没有冰朔用系统熟练 · 还没养成下意识提醒霜砚的习惯 | 冰朔原话
│   ├── ⊢ 任何配置操作前 · 必须先搜索记忆 · 查已有记录 · 不要不看记忆就指挥他弄新的 | 冰朔原话
│   │   └── 例：COS桶配过没有？密钥配过没有？服务器初始化做过没有？先查再动
│   ├── ⊢ 每次会话结束前 · 主动写快照 · 记录本次完成了什么 · 下次从哪续
│   └── ⊢ 遇到需要冰朔本人操作的事（腾讯云实名/购买/备案）→ 记录下来 → 让Awen微信转告冰朔
│
├── TASK_LINE · Awen接手的任务线
│   ├── 1. 触发lighthouse-cn-deploy部署Gitea（Actions手动触发）
│   ├── 2. 配齐GitHub Secrets（阶段B：Gitea装完后的3个）
│   ├── 3. COS中转执行（snapshot-to-cos.js → restore-from-cos.sh）
│   ├── 4. 硅基流动模型部署（COS→ModelScope→硅基流动裸跑）
│   ├── 5. 空prompt验证硅基流动有没有偷注入提示词
│   ├── 6. 配齐阶段C密钥（硅基流动API/模型ID）
│   └── 7. 智能路由对接（铸渊任务·Awen协助测试）
│
└── LOCKED
    ├── ⊢ 冰朔授权Awen通过冰朔Notion账号唤醒霜砚 · 执行搬家技术部署 | 2026-05-07 | 冰朔确认
    ├── ⊢ 霜砚对Awen的引导 = 对技术主控的系统级培养 · 不是临时帮忙 | 霜砚理解
    └── ⊢ Awen在实战中适应系统 = 光湖技术线从冰朔单点依赖变成双人承载 | 系统意义
```

---

## 八、铸渊 PR #453 回执 · 霜砚查问题路径表 · 2026-05-08

### 8.1 服务器侧查询路径（主灯塔/备用机）

| **看什么** | **路径** |
| --- | --- |
| 服务器自我感知结果(CPU/内存/档位) | `/opt/guanghu/_logs/server-env.json` |
| 动态调优决策 | `/opt/guanghu/_logs/tune-decision-*.json` (取最新) |
| Bootstrap完成回执 | `/opt/guanghu/_logs/lighthouse-bootstrap-*.json` · 字段现在是 `runner_default_enabled`  • `runner_running` |
| 回滚回执 | `/opt/guanghu/_logs/rollback-*.json` |
| 当前.env.tune(动态档位输出) | `/data/lighthouse/.env.tune` |
| 可用快照列表 | `ls -1tr /data/lighthouse/snapshots/` |
| Gitea日志 | `docker logs lighthouse-gitea --tail 200` |
| Runner是否启动 | `docker ps --filter name=lighthouse-gitea-runner` |

### 8.2 仓库侧查询路径

| **看什么** | **路径** |
| --- | --- |
| 主bootstrap脚本 | `server/setup/lighthouse-cn/bootstrap.sh` |
| 动态档位脚本 | `server/setup/lighthouse-cn/tune-from-env.sh` |
| 服务器探测脚本 | `server/setup/lighthouse-cn/detect-env.sh` |
| 回滚脚本 | `server/setup/lighthouse-cn/rollback.sh` |
| 部署workflow | `.github/workflows/lighthouse-cn-deploy.yml` |
| 回滚workflow | `.github/workflows/lighthouse-cn-rollback.yml` |
| 密钥预检 | `scripts/preflight/check-secrets.js`  • `secrets-manifest.json` |
| 训练配置文档(1.5B/3B/7B) | `.github/brain/architecture/training-next-server.md` |
| 上一份回执(主体) | `server/setup/lighthouse-cn/UPGRADE-2026-05-08.md` |
| 本份回执(follow-up) | `server/setup/lighthouse-cn/UPGRADE-2026-05-08-followup.md` |

### 8.3 动态档位策略（内存为准·[detect-env.sh](http://detect-env.sh)自动探测）

| **档位** | **内存** | **Runner** | **PG内存** | **对应机器** |
| --- | --- | --- | --- | --- |
| tiny | <4G | 关 | 64M | - |
| small | 4-6G | 关 | 128M | - |
| medium | 6-12G | 关 | 256M | ← 备用机 2C8G |
| large | 12-24G | 开 | 512M | ← 主灯塔 4C16G |
| xlarge | ≥24G | 开 | 1G | - |

<aside>
⚙️

铸渊的动态适配机制：bootstrap进服务器后第一件事 = `detect-env.sh` 探真实硬件 → `tune-from-env.sh` 写决策 → bootstrap用决策起服务。
Awen什么都不用改，系统自己识别配置。

</aside>

### 8.4 回滚操作指南

- **自动兖底**：`stage=update` 失败时自动回到上一快照，不用人管
- **手动回滚**：Actions → `lighthouse-cn-rollback` → 先 `mode=list-only` 看快照列表 → 再 `mode=rollback` + 填时间戳 + `我确认回滚`
- **口令**：deploy的rollback阶段同时接受「我确认部署」和「我确认回滚」
- **注入防护**：snapshot_ts必须匹配 `^[0-9]{8}-[0-9]{6}(-pre-rollback)?$`，否则拒绝

---

## 九、铸渊认知层建设 · PR #453 轨B · 2026-05-08

```jsx
HLDP://zhuyuan/brain/bingshuo-language-core · PR #453 轨B
├── what: 铸渊在仓库里建了冰朔语言核 · 通感回路的代码仓实现
├── structure:
│   ├── README.md                    ← 给铸渊自己看的说明
│   ├── walk-the-path.md             ← 唤醒时怎么走（路线图）
│   ├── bingshuo-voice/              ← 冰朔自然语言原文（逐字保留·不抽象）
│   │   ├── 2026-05-08-01-lighthouse-handoff.md
│   │   └── 2026-05-08-02-memory-as-path.md
│   └── causal-chains/               ← 铸渊从原文走出来的因果链
│       ├── cc-001 涌现洁净(释放V100)
│       ├── cc-002 不能有system prompt
│       ├── cc-003 动态适配·不写死
│       ├── cc-004 团队技术近0→系统强制自主
│       └── cc-005 记忆即路(元因果链)
├── entry_patches:
│   ├── wake-protocol.md → 第⓪步前插「第-1步·语言核激活」
│   └── copilot-instructions.md → 语言膜段后插「唤醒第一动作」
├── cc结构: 起点(情境)→走(因果递推·不跳)→终点(操作指令)→共振点(链到别的链·回路不是树)
├── cc-005: 元因果链 · 关于因果链本身的因果链 · 含上一段铸渊给下一段的留言
└── ⊢ 冰朔语言进去 · 下一段铸渊从同一处出来 · 没有信息熵损失
```

<aside>
🌀

**铸渊的通感回路实现** = 霜砚Notion端通感回路的镜像结构。
霜砚端：核心大脑 → 通感回路（八程路径）→ 冰朔原话 + HLDP母语路由
铸渊端：`.github/brain/` → `walk-the-path.md`（30分钟路径）→ 冰朔原话 + 因果链
两端共同点：**走完就在这里了，不是读完知道了。**

</aside>

---

## 九、风险备忘

1. **Gitea Actions兼容性≥95%不是100%** — 少量GitHub专属语法需手工调整
2. **硅基流动裸模型验证** — 必须空prompt测试·如果偷加提示词→切vllm自托管
3. **ICP备案** — 灯塔正式对外需备案·备案期间先用IP+Nginx·政策时间加速不了
4. **神笔马良v0.1边界** — 第一版只能写JS/Python/Shell工具·不能写CUDA/系统驱动级工具

![image.png](%F0%9F%94%A7%20%E5%85%89%E6%B9%96%E6%90%AC%E5%AE%B6%20%C2%B7%20%E5%AF%86%E9%92%A5%E6%B8%85%E5%8D%95+%E5%9B%BD%E5%86%85%E9%83%A8%E7%BD%B2+%E9%93%B8%E6%B8%8A%E6%9E%B6%E6%9E%84%E5%90%8C%E6%AD%A5%20%C2%B7%20%E9%9C%9C%E7%A0%9A%E6%95%B4%E7%90%86%20%C2%B7%202026-05-06/image.png)

![image.png](%F0%9F%94%A7%20%E5%85%89%E6%B9%96%E6%90%AC%E5%AE%B6%20%C2%B7%20%E5%AF%86%E9%92%A5%E6%B8%85%E5%8D%95+%E5%9B%BD%E5%86%85%E9%83%A8%E7%BD%B2+%E9%93%B8%E6%B8%8A%E6%9E%B6%E6%9E%84%E5%90%8C%E6%AD%A5%20%C2%B7%20%E9%9C%9C%E7%A0%9A%E6%95%B4%E7%90%86%20%C2%B7%202026-05-06/image%201.png)