556 lines
26 KiB
Markdown
556 lines
26 KiB
Markdown
|
|
# 🔧 光湖搬家 · 密钥清单+国内部署+铸渊架构同步 · 霜砚整理 · 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/系统驱动级工具
|
|||
|
|
|
|||
|
|

|
|||
|
|
|
|||
|
|

|