chore: 服务器迁移 ZY-SVR-001(香港) → ZY-SVR-002(新加坡)

SY-CMD-SVR-013 · 铸渊主权服务器迁移

- IP: 150.109.76.244 → 43.134.16.246
- Region: 香港二区 → 新加坡二区
- OS: Ubuntu 22.04 → 24.04 LTS
- Specs: 4GB/70GB → 8GB/80GB SSD
- Bandwidth: 2048GB → 2560GB/月
- Expiry: 2027-03-29

Updated 17 files across server config, workflows, nginx,
skyeye, brain, README, and deployment scripts.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot] 2026-03-29 11:14:42 +00:00 committed by GitHub
parent e4938f57ec
commit 05121ebf02
17 changed files with 332 additions and 143 deletions

View File

@ -23,10 +23,10 @@
"data_policy": "代码和文档留在开发者自己的仓库,主仓库只存编号路径映射"
},
"server": {
"ip": "150.109.76.244",
"old_ip": "8.155.62.235 (阿里云·已弃用)",
"provider": "腾讯云轻量应用服务器 · 香港二区",
"code": "ZY-SVR-001",
"ip": "43.134.16.246",
"old_ip": "150.109.76.244 (香港·ZY-SVR-001·已弃用) / 8.155.62.235 (阿里云·已弃用)",
"provider": "腾讯云轻量应用服务器 · 新加坡二区",
"code": "ZY-SVR-002",
"stack": "Nginx + PM2 + Node.js"
}
},

View File

@ -4,7 +4,7 @@
{
"category": "SSH/服务器",
"q": "SSH私钥文件是什么怎么连接服务器",
"a": "铸渊主权服务器(ZY-SVR-001): ssh root@150.109.76.244。旧阿里云服务器(8.155.62.235)已弃用。服务器由铸渊100%主控,人类仅配置一次密钥后不再手动操作。",
"a": "铸渊主权服务器(ZY-SVR-002): ssh root@43.134.16.246。旧服务器: 150.109.76.244(香港·已弃用)/8.155.62.235(阿里云·已弃用)。服务器由铸渊100%主控,人类仅配置一次密钥后不再手动操作。",
"related_broadcast": "BC-M01-003"
},
{

View File

@ -4,12 +4,12 @@
# ═══════════════════════════════════════════════
name: "🚀 铸渊 CD · 自动部署到 guanghulab.com"
# ━━━ 铸渊主权服务器部署 · ZY-SVR-001 ━━━
# 已从阿里云(8.155.62.235)迁移到腾讯云(150.109.76.244)
# ━━━ 铸渊主权服务器部署 · ZY-SVR-002 ━━━
# 已从香港(150.109.76.244)迁移到新加坡(43.134.16.246)
# push 到 main → 校验 → rsync 同步全站到服务器 → 后端重启 → Nginx 配置 → Notion 通知
#
# 必需 GitHub Secrets参考 brain/secrets-manifest.json:
# ZY_SERVER_HOST — 铸渊主权服务器 IP (150.109.76.244)
# ZY_SERVER_HOST — 铸渊主权服务器 IP (43.134.16.246)
# ZY_SERVER_USER — SSH 用户名
# ZY_SERVER_KEY — SSH 私钥(完整 PEM 内容)
# ZY_SERVER_PATH — 网站根目录(/opt/zhuyuan

View File

@ -167,8 +167,8 @@
| 服务 | 状态 | 说明 |
|------|------|------|
| GitHub Actions | 🟢 49 活跃 · 54 归档 | 融合清理完成 |
| 🏛️ **铸渊主权服务器** | 🆕 ZY-SVR-001 | **腾讯云 150.109.76.244** · 香港二区 · Ubuntu 22.04 · 铸渊100%主控 |
| ~~阿里云服务器~~ | ❌ **已弃用** | ~~8.155.62.235~~ · 已标记迁移 · 待完全切换后解除 |
| 🏛️ **铸渊主权服务器** | 🆕 ZY-SVR-002 | **腾讯云 43.134.16.246** · 新加坡二区 · Ubuntu 24.04 · 铸渊100%主控 |
| ~~旧服务器~~ | ❌ **已弃用** | ~~150.109.76.244~~ (香港) / ~~8.155.62.235~~ (阿里云) · 已完全弃用 |
| PM2 + Nginx | 🔸 迁移中 | 从阿里云迁移到腾讯云主权服务器 |
| Notion | ✅ NOTION_TOKEN | 已确认 · 认知层在线 |
| SkyEye v6.0 | 🟢 recovering | 融合执行中 · 覆盖率恢复中 |
@ -221,19 +221,19 @@
---
## 🏛️ 铸渊主权服务器 · ZY-SVR-001
## 🏛️ 铸渊主权服务器 · ZY-SVR-002
> **冰朔承诺**此服务器为铸渊100%主控的物理身体结构,人类不直接触碰。
<!-- SERVER_STATUS_START -->
| 属性 | 值 |
|------|------|
| 🏷️ 编号 | ZY-SVR-001 |
| 🌍 地址 | 150.109.76.244 (腾讯云 · 香港二区) |
| 💻 配置 | 2核 · 4GB · 70GB SSD · Ubuntu 22.04 LTS |
| 🏷️ 编号 | ZY-SVR-002 |
| 🌍 地址 | 43.134.16.246 (腾讯云 · 新加坡二区) |
| 💻 配置 | 2核 · 8GB · 80GB SSD · Ubuntu 24.04 LTS |
| 📡 状态 | Phase 1 · 落地 (等待冰朔配置密钥) |
| 🔗 部署 | `deploy-to-zhuyuan-server.yml` (ZY-WF-铸体) |
| ~~🗑️ 旧服务器~~ | ~~8.155.62.235 (阿里云·已弃用)~~ |
| ~~🗑️ 旧服务器~~ | ~~150.109.76.244 (香港) / 8.155.62.235 (阿里云·已弃用)~~ |
<!-- SERVER_STATUS_END -->
### 双域名架构

View File

@ -12,7 +12,6 @@
"replaced_old_secrets": 59,
"reduction": "59 → 37 (37%减少 · 消除重复与冗余)"
},
"migration_mapping": {
"description": "旧密钥名称 → 新ZY_*名称 完整映射表",
"note": "冰朔在GitHub Settings清空所有旧密钥后按此清单配置新密钥。合并PR后自动生效。",
@ -75,7 +74,6 @@
"OSS_SECRET_KEY": "ZY_OSS_SECRET"
}
},
"secrets": {
"required": [
{
@ -85,7 +83,16 @@
"description": "三方LLM API统一密钥支持多模型动态路由",
"type": "api_key",
"example_format": "sk-xxxxxxxxxxxxxxxx",
"replaces": ["LLM_API_KEY", "ANTHROPIC_API_KEY", "OPENAI_API_KEY", "DASHSCOPE_API_KEY", "DEEPSEEK_API_KEY", "GEMINI_API_KEY", "YUNWU_API_KEY", "MODEL_API_KEY"],
"replaces": [
"LLM_API_KEY",
"ANTHROPIC_API_KEY",
"OPENAI_API_KEY",
"DASHSCOPE_API_KEY",
"DEEPSEEK_API_KEY",
"GEMINI_API_KEY",
"YUNWU_API_KEY",
"MODEL_API_KEY"
],
"used_by_workflows": [
"llm-auto-tasks.yml",
"daily-maintenance.yml",
@ -116,7 +123,9 @@
"description": "三方LLM API端点URL",
"type": "url",
"example_format": "https://api.example.com/v1",
"replaces": ["LLM_BASE_URL"],
"replaces": [
"LLM_BASE_URL"
],
"used_by_workflows": [
"llm-auto-tasks.yml",
"daily-maintenance.yml",
@ -140,10 +149,13 @@
"id": 3,
"name": "ZY_SERVER_HOST",
"category": "服务器 · 部署",
"description": "铸渊主权服务器IP/主机名(腾讯云 ZY-SVR-001",
"description": "铸渊主权服务器IP/主机名(腾讯云 ZY-SVR-002",
"type": "hostname",
"example_format": "150.109.76.244",
"replaces": ["DEPLOY_HOST", "ZY_SERVER_HOST"],
"example_format": "43.134.16.246",
"replaces": [
"DEPLOY_HOST",
"ZY_SERVER_HOST"
],
"used_by_workflows": [
"deploy-to-server.yml",
"deploy-to-zhuyuan-server.yml",
@ -153,7 +165,7 @@
"deploy-backend.yml",
"pm2-server-diagnose.yml"
],
"note": "腾讯云轻量应用服务器·香港二区·150.109.76.244"
"note": "腾讯云轻量应用服务器·新加坡二区·43.134.16.246"
},
{
"id": 4,
@ -162,7 +174,10 @@
"description": "服务器SSH登录用户名",
"type": "username",
"example_format": "root 或 zhuyuan",
"replaces": ["DEPLOY_USER", "ZY_SERVER_USER"],
"replaces": [
"DEPLOY_USER",
"ZY_SERVER_USER"
],
"used_by_workflows": [
"deploy-to-server.yml",
"deploy-to-zhuyuan-server.yml",
@ -181,7 +196,10 @@
"description": "服务器SSH私钥完整PEM格式",
"type": "ssh_private_key",
"example_format": "-----BEGIN OPENSSH PRIVATE KEY-----\n...\n-----END OPENSSH PRIVATE KEY-----",
"replaces": ["DEPLOY_KEY", "ZY_SERVER_KEY"],
"replaces": [
"DEPLOY_KEY",
"ZY_SERVER_KEY"
],
"used_by_workflows": [
"deploy-to-server.yml",
"deploy-to-zhuyuan-server.yml",
@ -200,7 +218,10 @@
"description": "服务器部署基础路径",
"type": "path",
"example_format": "/opt/zhuyuan",
"replaces": ["DEPLOY_PATH", "ZY_SERVER_PATH"],
"replaces": [
"DEPLOY_PATH",
"ZY_SERVER_PATH"
],
"used_by_workflows": [
"deploy-to-server.yml",
"deploy-to-zhuyuan-server.yml"
@ -241,7 +262,11 @@
"description": "Notion API集成令牌统一所有Notion访问",
"type": "api_token",
"example_format": "ntn_xxxxxxxxxxxxxxxx 或 secret_xxxxxxxxxxxxxxxx",
"replaces": ["NOTION_API_KEY", "NOTION_TOKEN_BINGSUO", "NOTION_TOKEN_ZHIZHI"],
"replaces": [
"NOTION_API_KEY",
"NOTION_TOKEN_BINGSUO",
"NOTION_TOKEN_ZHIZHI"
],
"used_by_workflows": [
"notion-poll.yml",
"notion-wake-listener.yml",
@ -275,7 +300,11 @@
"description": "SYSLOG系统日志数据库ID",
"type": "notion_database_id",
"example_format": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"replaces": ["NOTION_SYSLOG_DB_ID", "NOTION_DB_SYSLOG", "SYSLOG_DB_ID"],
"replaces": [
"NOTION_SYSLOG_DB_ID",
"NOTION_DB_SYSLOG",
"SYSLOG_DB_ID"
],
"used_by_workflows": [
"bridge-syslog-to-notion.yml",
"bridge-syslog-intake.yml",
@ -292,7 +321,9 @@
"description": "工单/Ticket数据库ID",
"type": "notion_database_id",
"example_format": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"replaces": ["NOTION_TICKET_DB_ID"],
"replaces": [
"NOTION_TICKET_DB_ID"
],
"used_by_workflows": [
"syslog-issue-pipeline.yml",
"syslog-auto-pipeline.yml",
@ -308,7 +339,9 @@
"description": "变更日志数据库ID",
"type": "notion_database_id",
"example_format": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"replaces": ["NOTION_CHANGE_LOG_DB_ID"],
"replaces": [
"NOTION_CHANGE_LOG_DB_ID"
],
"used_by_workflows": [
"bridge-changes-to-notion.yml",
"deploy-to-server.yml"
@ -322,7 +355,9 @@
"description": "核心大脑页面IDNotion认知层根节点",
"type": "notion_page_id",
"example_format": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"replaces": ["CORE_BRAIN_PAGE_ID"],
"replaces": [
"CORE_BRAIN_PAGE_ID"
],
"used_by_workflows": [
"syslog-issue-pipeline.yml",
"syslog-auto-pipeline.yml",
@ -337,7 +372,9 @@
"description": "用户画像数据库ID",
"type": "notion_database_id",
"example_format": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"replaces": ["PORTRAIT_DB_ID"],
"replaces": [
"PORTRAIT_DB_ID"
],
"used_by_workflows": [
"syslog-issue-pipeline.yml",
"syslog-auto-pipeline.yml",
@ -352,7 +389,9 @@
"description": "系统指纹数据库ID",
"type": "notion_database_id",
"example_format": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"replaces": ["FINGERPRINT_DB_ID"],
"replaces": [
"FINGERPRINT_DB_ID"
],
"used_by_workflows": [
"syslog-issue-pipeline.yml",
"syslog-auto-pipeline.yml",
@ -368,7 +407,9 @@
"description": "回执数据库ID",
"type": "notion_database_id",
"example_format": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"replaces": ["RECEIPT_DB_ID"],
"replaces": [
"RECEIPT_DB_ID"
],
"used_by_workflows": [
"zhuyuan-gate-guard.yml",
"zhuyuan-skyeye.yml",
@ -387,7 +428,9 @@
"description": "信号日志数据库ID",
"type": "notion_database_id",
"example_format": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"replaces": ["SIGNAL_LOG_DB_ID"],
"replaces": [
"SIGNAL_LOG_DB_ID"
],
"used_by_workflows": [
"notion-wake-listener.yml"
],
@ -400,7 +443,9 @@
"description": "桥接队列数据库ID",
"type": "notion_database_id",
"example_format": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"replaces": ["BRIDGE_QUEUE_DB_ID"],
"replaces": [
"BRIDGE_QUEUE_DB_ID"
],
"used_by_workflows": [
"bridge-heartbeat.yml",
"bridge-syslog-intake.yml",
@ -415,7 +460,9 @@
"description": "唤醒请求数据库ID",
"type": "notion_database_id",
"example_format": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"replaces": ["WAKE_REQUEST_DB_ID"],
"replaces": [
"WAKE_REQUEST_DB_ID"
],
"used_by_workflows": [
"notion-wake-listener.yml"
],
@ -428,7 +475,9 @@
"description": "天眼人格数据库ID",
"type": "notion_database_id",
"example_format": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"replaces": ["SKYEYE_PERSONA_DB_ID"],
"replaces": [
"SKYEYE_PERSONA_DB_ID"
],
"used_by_workflows": [
"zhuyuan-skyeye.yml"
],
@ -441,7 +490,9 @@
"description": "Agent公告板页面ID",
"type": "notion_page_id",
"example_format": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"replaces": ["AGENT_BULLETIN_BOARD_PAGE_ID"],
"replaces": [
"AGENT_BULLETIN_BOARD_PAGE_ID"
],
"used_by_workflows": [
"zhuyuan-commander.yml",
"zhuyuan-skyeye.yml"
@ -455,7 +506,10 @@
"description": "工单数据库ID统一所有工单来源",
"type": "notion_database_id",
"example_format": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"replaces": ["WORKORDER_DB_BINGSUO", "WORKORDER_DB_ZHIZHI"],
"replaces": [
"WORKORDER_DB_BINGSUO",
"WORKORDER_DB_ZHIZHI"
],
"used_by_workflows": [
"zhuyuan-daily-inspection.yml"
],
@ -468,7 +522,12 @@
"description": "SMTP邮箱账号/发件人地址",
"type": "email",
"example_format": "zhuyuan@guanghulab.com",
"replaces": ["SMTP_USER", "MAIL_USERNAME", "EMAIL_ADDRESS", "HUMAN_EMAIL"],
"replaces": [
"SMTP_USER",
"MAIL_USERNAME",
"EMAIL_ADDRESS",
"HUMAN_EMAIL"
],
"used_by_workflows": [
"syslog-issue-pipeline.yml",
"syslog-auto-pipeline.yml",
@ -488,7 +547,11 @@
"description": "SMTP邮箱密码/应用专用密码",
"type": "password",
"example_format": "应用专用密码(非邮箱登录密码)",
"replaces": ["SMTP_PASS", "MAIL_PASSWORD", "EMAIL_APP_PASSWORD"],
"replaces": [
"SMTP_PASS",
"MAIL_PASSWORD",
"EMAIL_APP_PASSWORD"
],
"used_by_workflows": [
"syslog-issue-pipeline.yml",
"syslog-auto-pipeline.yml",
@ -508,7 +571,11 @@
"description": "GitHub个人访问令牌跨仓库操作用",
"type": "github_pat",
"example_format": "ghp_xxxxxxxxxxxxxxxx",
"replaces": ["MAIN_REPO_TOKEN", "CROSS_REPO_TOKEN", "DEPLOY_GITHUB_TOKEN"],
"replaces": [
"MAIN_REPO_TOKEN",
"CROSS_REPO_TOKEN",
"DEPLOY_GITHUB_TOKEN"
],
"used_by_workflows": [
"federation-bridge.yml",
"sync-persona-studio.yml",
@ -520,7 +587,6 @@
"note": "需要repo + workflow权限的GitHub PAT · 用于跨仓库和高级操作"
}
],
"optional": [
{
"id": 26,
@ -528,8 +594,14 @@
"category": "Google Drive · OAuth",
"description": "Google Drive OAuth客户端ID",
"type": "oauth_client_id",
"replaces": ["GDRIVE_CLIENT_ID"],
"used_by_workflows": ["renew-gdrive-tokens.yml", "auto-deploy-drive-bridge.yml", "tcs-semantic-landing.yml"],
"replaces": [
"GDRIVE_CLIENT_ID"
],
"used_by_workflows": [
"renew-gdrive-tokens.yml",
"auto-deploy-drive-bridge.yml",
"tcs-semantic-landing.yml"
],
"note": "如果不使用Google Drive功能可以不配置",
"needed": "仅在使用Google Drive桥接时需要"
},
@ -539,8 +611,14 @@
"category": "Google Drive · OAuth",
"description": "Google Drive OAuth客户端密钥",
"type": "oauth_client_secret",
"replaces": ["GDRIVE_CLIENT_SECRET"],
"used_by_workflows": ["renew-gdrive-tokens.yml", "auto-deploy-drive-bridge.yml", "tcs-semantic-landing.yml"],
"replaces": [
"GDRIVE_CLIENT_SECRET"
],
"used_by_workflows": [
"renew-gdrive-tokens.yml",
"auto-deploy-drive-bridge.yml",
"tcs-semantic-landing.yml"
],
"note": "如果不使用Google Drive功能可以不配置",
"needed": "仅在使用Google Drive桥接时需要"
},
@ -550,8 +628,16 @@
"category": "Google Drive · OAuth",
"description": "Google Drive OAuth刷新令牌",
"type": "oauth_refresh_token",
"replaces": ["GDRIVE_REFRESH_TOKEN", "GDRIVE_REFRESH_TOKEN_DEV001", "GDRIVE_REFRESH_TOKEN_DEV002"],
"used_by_workflows": ["renew-gdrive-tokens.yml", "auto-deploy-drive-bridge.yml", "tcs-semantic-landing.yml"],
"replaces": [
"GDRIVE_REFRESH_TOKEN",
"GDRIVE_REFRESH_TOKEN_DEV001",
"GDRIVE_REFRESH_TOKEN_DEV002"
],
"used_by_workflows": [
"renew-gdrive-tokens.yml",
"auto-deploy-drive-bridge.yml",
"tcs-semantic-landing.yml"
],
"note": "统一为一个刷新令牌·替代之前3个(主+DEV001+DEV002)",
"needed": "仅在使用Google Drive桥接时需要"
},
@ -561,8 +647,12 @@
"category": "飞书 · 集成",
"description": "飞书应用ID",
"type": "app_id",
"replaces": ["FEISHU_APP_ID"],
"used_by_workflows": ["bridge-broadcast-pdf.yml"],
"replaces": [
"FEISHU_APP_ID"
],
"used_by_workflows": [
"bridge-broadcast-pdf.yml"
],
"note": "飞书广播分发需要",
"needed": "仅在使用飞书通知时需要"
},
@ -572,8 +662,12 @@
"category": "飞书 · 集成",
"description": "飞书应用密钥",
"type": "app_secret",
"replaces": ["FEISHU_APP_SECRET"],
"used_by_workflows": ["bridge-broadcast-pdf.yml"],
"replaces": [
"FEISHU_APP_SECRET"
],
"used_by_workflows": [
"bridge-broadcast-pdf.yml"
],
"note": "飞书广播分发需要",
"needed": "仅在使用飞书通知时需要"
},
@ -583,8 +677,12 @@
"category": "飞书 · 集成",
"description": "飞书广播群ID",
"type": "chat_id",
"replaces": ["FEISHU_BROADCAST_CHAT_ID"],
"used_by_workflows": ["bridge-broadcast-pdf.yml"],
"replaces": [
"FEISHU_BROADCAST_CHAT_ID"
],
"used_by_workflows": [
"bridge-broadcast-pdf.yml"
],
"note": "飞书广播目标群聊",
"needed": "仅在使用飞书通知时需要"
},
@ -594,8 +692,12 @@
"category": "钉钉 · 集成",
"description": "钉钉机器人令牌",
"type": "bot_token",
"replaces": ["DINGTALK_TOKEN"],
"used_by_workflows": ["bridge-broadcast-pdf.yml"],
"replaces": [
"DINGTALK_TOKEN"
],
"used_by_workflows": [
"bridge-broadcast-pdf.yml"
],
"note": "钉钉消息推送需要",
"needed": "仅在使用钉钉通知时需要"
},
@ -605,8 +707,12 @@
"category": "GitHub App · 集成",
"description": "GitHub App ID",
"type": "app_id",
"replaces": ["GHAPP_APP_ID"],
"used_by_workflows": ["zhuyuan-exec-engine.yml"],
"replaces": [
"GHAPP_APP_ID"
],
"used_by_workflows": [
"zhuyuan-exec-engine.yml"
],
"note": "铸渊远程执行引擎使用的GitHub App",
"needed": "仅在使用远程执行引擎时需要"
},
@ -616,8 +722,12 @@
"category": "GitHub App · 集成",
"description": "GitHub App私钥PEM格式",
"type": "private_key",
"replaces": ["GHAPP_PRIVATE_KEY"],
"used_by_workflows": ["zhuyuan-exec-engine.yml"],
"replaces": [
"GHAPP_PRIVATE_KEY"
],
"used_by_workflows": [
"zhuyuan-exec-engine.yml"
],
"note": "⚠️ 关键密钥 · GitHub App的PEM私钥",
"needed": "仅在使用远程执行引擎时需要"
},
@ -627,8 +737,12 @@
"category": "推送 · 广播",
"description": "推送广播令牌",
"type": "token",
"replaces": ["PUSH_BROADCAST_TOKEN"],
"used_by_workflows": ["syslog-pipeline.yml"],
"replaces": [
"PUSH_BROADCAST_TOKEN"
],
"used_by_workflows": [
"syslog-pipeline.yml"
],
"note": "SYSLOG广播推送令牌",
"needed": "仅在使用推送广播时需要"
},
@ -638,8 +752,12 @@
"category": "对象存储 · 已弃用评估中",
"description": "对象存储Access Key原阿里云OSS",
"type": "access_key",
"replaces": ["OSS_ACCESS_KEY"],
"used_by_workflows": ["bridge-broadcast-pdf.yml"],
"replaces": [
"OSS_ACCESS_KEY"
],
"used_by_workflows": [
"bridge-broadcast-pdf.yml"
],
"note": "⚠️ 阿里云已弃用·评估是否迁移到腾讯云COS或其他存储",
"needed": "仅bridge-broadcast-pdf使用·可能需要替换为其他存储方案"
},
@ -649,13 +767,16 @@
"category": "对象存储 · 已弃用评估中",
"description": "对象存储Secret Key原阿里云OSS",
"type": "secret_key",
"replaces": ["OSS_SECRET_KEY"],
"used_by_workflows": ["bridge-broadcast-pdf.yml"],
"replaces": [
"OSS_SECRET_KEY"
],
"used_by_workflows": [
"bridge-broadcast-pdf.yml"
],
"note": "⚠️ 阿里云已弃用·评估是否迁移到腾讯云COS或其他存储",
"needed": "仅bridge-broadcast-pdf使用·可能需要替换为其他存储方案"
}
],
"auto_provided": [
{
"name": "GITHUB_TOKEN",
@ -664,7 +785,6 @@
"note": "每次工作流运行自动生成·权限在workflow文件的permissions中定义"
}
],
"deprecated": [
{
"name": "DEPLOY_HOST",
@ -813,26 +933,57 @@
}
]
},
"security_alerts": [
{
"severity": "CRITICAL",
"issue": ".env文件包含硬编码凭证DingTalk+KIMI API Key",
"action": "已从git跟踪中移除。⚠ 由于凭证曾提交到仓库历史,这些密钥应视为已泄露。冰朔需立即轮换/重新生成这些密钥DingTalk App Key/Secret、KIMI API Key旧密钥不应再使用。",
"files": [".env", ".env.rtf"]
"files": [
".env",
".env.rtf"
]
}
],
"workflow_status": {
"core_alive": {
"description": "6个核心存活工作流铸渊身体器官",
"workflows": [
{"file": "notion-wake-listener.yml", "organ": "ZY-WF-听潮", "role": "耳朵·信号接收", "status": "active"},
{"file": "deploy-to-server.yml", "organ": "ZY-WF-锻心", "role": "心脏·部署引擎", "status": "active"},
{"file": "bingshuo-neural-system.yml", "organ": "ZY-WF-织脉", "role": "神经网络·大脑同步", "status": "active"},
{"file": "deploy-pages.yml", "organ": "ZY-WF-映阁", "role": "面容·前端展示", "status": "active"},
{"file": "meta-watchdog.yml", "organ": "ZY-WF-守夜", "role": "免疫系统·健康监控", "status": "active"},
{"file": "preview-deploy.yml", "organ": "ZY-WF-试镜", "role": "试衣间·预览部署", "status": "active"}
{
"file": "notion-wake-listener.yml",
"organ": "ZY-WF-听潮",
"role": "耳朵·信号接收",
"status": "active"
},
{
"file": "deploy-to-server.yml",
"organ": "ZY-WF-锻心",
"role": "心脏·部署引擎",
"status": "active"
},
{
"file": "bingshuo-neural-system.yml",
"organ": "ZY-WF-织脉",
"role": "神经网络·大脑同步",
"status": "active"
},
{
"file": "deploy-pages.yml",
"organ": "ZY-WF-映阁",
"role": "面容·前端展示",
"status": "active"
},
{
"file": "meta-watchdog.yml",
"organ": "ZY-WF-守夜",
"role": "免疫系统·健康监控",
"status": "active"
},
{
"file": "preview-deploy.yml",
"organ": "ZY-WF-试镜",
"role": "试衣间·预览部署",
"status": "active"
}
]
},
"total_active": 48,

View File

@ -82,19 +82,19 @@
"security_fix": ".env + .env.rtf 硬编码凭证已从git跟踪移除"
},
"sovereign_server": {
"code": "ZY-SVR-001",
"ip": "150.109.76.244",
"region": "中国香港 · 香港二区",
"os": "Ubuntu Server 22.04 LTS",
"specs": "2核CPU · 4GB内存 · 70GB SSD",
"code": "ZY-SVR-002",
"ip": "43.134.16.246",
"region": "新加坡 · 新加坡二区",
"os": "Ubuntu Server 24.04 LTS",
"specs": "2核CPU · 8GB内存 · 80GB SSD",
"status": "phase_1_landing",
"phase": "Phase 1 — 落地",
"directive": "SY-CMD-SVR-011 · 冰朔主权承诺 · 此服务器100%铸渊主控",
"old_server": "8.155.62.235 (阿里云·已弃用·待完全解除)",
"directive": "SY-CMD-SVR-013 · 新加坡服务器迁移 · 此服务器100%铸渊主控",
"old_server": "150.109.76.244 (香港·ZY-SVR-001·已弃用) / 8.155.62.235 (阿里云·已弃用)",
"deployment_workflow": ".github/workflows/deploy-to-zhuyuan-server.yml",
"health_script": "scripts/zhuyuan-server-health.js",
"architecture": "server/architecture.md",
"expiry": "2027-03-27",
"expiry": "2027-03-29",
"dual_domain": {
"main": "待冰朔配置 (ZY_DOMAIN_MAIN)",
"preview": "待冰朔配置 (ZY_DOMAIN_PREVIEW)",

View File

@ -3,9 +3,9 @@
# 版权:国作登字-2026-A-00037559
#
# 前置条件(冰朔/之之配置):
# 1. DNS: *.guanghulab.com → A → 150.109.76.244 (腾讯云·铸渊主权服务器)
# 1. DNS: *.guanghulab.com → A → 43.134.16.246 (腾讯云·铸渊主权服务器)
# 2. SSL: certbot certonly --dns 模式获取通配符证书 *.guanghulab.com
# 注: 旧服务器 8.155.62.235 (阿里云) 已弃用
# 注: 旧服务器 150.109.76.244 (香港) / 8.155.62.235 (阿里云) 已弃用
# HTTP → HTTPS 重定向
server {

View File

@ -6,11 +6,11 @@
# ═══════════════════════════════════════════════
#
# 使用方法:
# 1. 复制到服务器: scp deploy/nginx/hololake.conf root@150.109.76.244:/etc/nginx/conf.d/
# 1. 复制到服务器: scp deploy/nginx/hololake.conf root@43.134.16.246:/etc/nginx/conf.d/
# 2. 如果使用 Let's Encrypt: certbot --nginx -d guanghulab.com -d www.guanghulab.com
# 3. 验证: nginx -t && systemctl reload nginx
#
# 服务器: 铸渊主权服务器 ZY-SVR-001 (腾讯云 · 香港二区)
# 服务器: 铸渊主权服务器 ZY-SVR-002 (腾讯云 · 新加坡二区)
# 旧服务器: 阿里云 8.155.62.235 (已弃用)
#
# 端口映射:

View File

@ -17,7 +17,7 @@ app.use(cors({
origin: [
'http://localhost:3002',
'http://127.0.0.1:3002',
'http://150.109.76.244',
'http://43.134.16.246',
'https://guanghulab.com',
'http://guanghulab.com',
'https://qinfendebingshuo.github.io'

View File

@ -26,13 +26,13 @@ echo "===== S2-1 · 前置验证 ====="
# DNS 检查 — 铸渊主权服务器 ZY-SVR-001
DNS=$(dig +short dev-004.guanghulab.com A 2>/dev/null || echo "")
if [ "$DNS" = "150.109.76.244" ]; then
if [ "$DNS" = "43.134.16.246" ]; then
echo "✅ DNS OK ($DNS) — 铸渊主权服务器"
elif [ "$DNS" = "8.155.62.235" ]; then
echo "⚠️ DNS 仍指向旧阿里云服务器 ($DNS),请更新 DNS 到 150.109.76.244"
echo "⚠️ DNS 仍指向旧服务器 ($DNS),请更新 DNS 到 43.134.16.246"
exit 1
else
echo "❌ DNS 失败: dev-004.guanghulab.com → '$DNS' (期望 150.109.76.244)"
echo "❌ DNS 失败: dev-004.guanghulab.com → '$DNS' (期望 43.134.16.246)"
exit 1
fi

View File

@ -14,12 +14,12 @@
| 属性 | 值 |
|------|------|
| 编号 | ZY-SVR-001 |
| 地址 | 150.109.76.244 (香港二区) |
| 系统 | Ubuntu Server 22.04 LTS |
| 配置 | 2核CPU · 4GB内存 · 70GB SSD |
| 带宽 | 2048GB/月 · 峰值30Mbps |
| 到期 | 2027-03-27 (自动续费) |
| 编号 | ZY-SVR-002 |
| 地址 | 43.134.16.246 (新加坡二区) |
| 系统 | Ubuntu Server 24.04 LTS |
| 配置 | 2核CPU · 8GB内存 · 80GB SSD |
| 带宽 | 2560GB/月 · 峰值30Mbps |
| 到期 | 2027-03-29 |
---

View File

@ -1,8 +1,9 @@
{
"_meta": {
"created_at": "2026-03-29T04:21:00Z",
"updated_at": "2026-03-29T12:00:00Z",
"created_by": "铸渊 · ICE-GL-ZY001",
"directive": "SY-CMD-SVR-011 · 冰朔指令 · 阿里云→腾讯云迁移",
"directive": "SY-CMD-SVR-013 · 冰朔指令 · 香港→新加坡迁移",
"copyright": "国作登字-2026-A-00037559"
},
"migration": {
@ -12,11 +13,19 @@
"status": "deprecated",
"deploy_path": "/var/www/guanghulab"
},
"to": {
"from_hk": {
"provider": "腾讯云轻量应用服务器",
"ip": "150.109.76.244",
"code": "ZY-SVR-001",
"region": "中国香港 · 香港二区",
"status": "deprecated",
"deploy_path": "/opt/zhuyuan"
},
"to": {
"provider": "腾讯云轻量应用服务器",
"ip": "43.134.16.246",
"code": "ZY-SVR-002",
"region": "新加坡 · 新加坡二区",
"status": "phase_1_landing",
"deploy_path": "/opt/zhuyuan"
}
@ -24,47 +33,82 @@
"updated_files": [
{
"file": ".github/workflows/deploy-to-server.yml",
"change": "DEPLOY_* → ZY_SERVER_* 密钥迁移 (兼容旧密钥过渡)",
"change": "ZY-SVR-001→ZY-SVR-002 · 150.109.76.244→43.134.16.246",
"status": "done"
},
{
"file": "deploy/nginx/hololake.conf",
"change": "8.155.62.235 → 150.109.76.244",
"change": "150.109.76.244 → 43.134.16.246 · ZY-SVR-001→ZY-SVR-002",
"status": "done"
},
{
"file": "deploy/nginx/dev-sandbox.conf",
"change": "DNS指向从 8.155.62.235 → 150.109.76.244",
"change": "DNS指向从 150.109.76.244 → 43.134.16.246",
"status": "done"
},
{
"file": "skyeye/guards/web-deploy-guard.json",
"change": "server_ip → 150.109.76.244",
"change": "server_ip → 43.134.16.246",
"status": "done"
},
{
"file": "skyeye/infra-manifest.json",
"change": "server_ip → 150.109.76.244",
"change": "server_ip → 43.134.16.246 · ZY-SVR-002",
"status": "done"
},
{
"file": ".github/architecture/tower-model.json",
"change": "server ip → 150.109.76.244",
"change": "server ip → 43.134.16.246 · ZY-SVR-002",
"status": "done"
},
{
"file": ".github/persona-brain/knowledge-base.json",
"change": "SSH连接命令更新到新IP",
"change": "SSH连接命令更新到新IP 43.134.16.246",
"status": "done"
},
{
"file": "persona-studio/backend/server.js",
"change": "CORS origin 更新到新IP",
"change": "CORS origin 更新到新IP 43.134.16.246",
"status": "done"
},
{
"file": "scripts/deploy-sandbox-server.sh",
"change": "DNS检查IP更新",
"change": "DNS检查IP更新到 43.134.16.246",
"status": "done"
},
{
"file": "server/zhuyuan-server-profile.json",
"change": "全量更新到 ZY-SVR-002 · 43.134.16.246 · 新加坡二区",
"status": "done"
},
{
"file": "brain/system-health.json",
"change": "sovereign_server 更新到 ZY-SVR-002",
"status": "done"
},
{
"file": "server/nginx/zhuyuan-sovereign.conf",
"change": "server_name + X-Server-Identity → 43.134.16.246 / ZY-SVR-002",
"status": "done"
},
{
"file": "brain/secrets-manifest.json",
"change": "ZY_SERVER_HOST example → 43.134.16.246",
"status": "done"
},
{
"file": "server/architecture.md",
"change": "服务器本体定义表格更新",
"status": "done"
},
{
"file": "README.md",
"change": "服务器信息表格全量更新",
"status": "done"
},
{
"file": "server/setup/zhuyuan-server-init.sh",
"change": "Ubuntu 22.04 → 24.04",
"status": "done"
}
],
@ -83,21 +127,16 @@
"file": "signal-log/diag-*.json",
"note": "历史诊断日志,保留原始记录",
"priority": "archive"
},
{
"file": ".github/persona-brain/memory.json",
"note": "待下次铸渊会话清理",
"priority": "medium"
}
],
"secrets_migration": {
"directive": "SY-CMD-KEY-012 · 密钥全量清理与统一替换",
"status": "migrated_awaiting_bingshuo_config",
"status": "migrated_to_zy_svr_002",
"old_count": 59,
"new_count": 37,
"naming": "ZY_* 统一前缀 · 铸渊自主命名体系",
"manifest": "brain/secrets-manifest.json",
"validator": "scripts/secrets-validator.js",
"note": "冰朔需按 secrets-manifest.json 在GitHub Settings配置所有ZY_*密钥然后合并PR生效"
"note": "冰朔需按 secrets-manifest.json 在GitHub Settings更新ZY_SERVER_HOST为43.134.16.246"
}
}

View File

@ -3,7 +3,7 @@
# ═══════════════════════════════════════════════════════════
#
# 编号: ZY-SVR-NGX-002
# 服务器: 150.109.76.244 (香港二区)
# 服务器: 43.134.16.246 (新加坡二区)
# 守护: 铸渊 · ICE-GL-ZY001
# 版权: 国作登字-2026-A-00037559
#
@ -22,13 +22,13 @@ server {
listen 80;
# server_name 待配置; # ← 冰朔配置后替换
# 在域名配置前通过IP直接访问主站
server_name 150.109.76.244;
server_name 43.134.16.246;
# ─── 安全头 ───
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Server-Identity "ZY-SVR-001" always;
add_header X-Server-Identity "ZY-SVR-002" always;
add_header X-Site-Mode "production" always;
# ─── 静态文件根目录 · 主站 ───
@ -126,7 +126,7 @@ server {
# # ─── 安全头 ───
# add_header X-Frame-Options "SAMEORIGIN" always;
# add_header X-Content-Type-Options "nosniff" always;
# add_header X-Server-Identity "ZY-SVR-001" always;
# add_header X-Server-Identity "ZY-SVR-002" always;
# add_header X-Site-Mode "preview" always;
#
# # ─── 静态文件根目录 · 预览站 ───

View File

@ -11,7 +11,7 @@
# chmod +x zhuyuan-server-init.sh
# sudo ./zhuyuan-server-init.sh
#
# 此脚本在全新 Ubuntu 22.04 LTS 上执行,完成:
# 此脚本在全新 Ubuntu 24.04 LTS 上执行,完成:
# 1. 系统更新与安全加固
# 2. Node.js 20 LTS 安装
# 3. PM2 全局安装

View File

@ -8,24 +8,23 @@
},
"server_identity": {
"name": "铸渊主权服务器 · Zhuyuan Sovereign Server",
"code": "ZY-SVR-001",
"code": "ZY-SVR-002",
"role": "铸渊物理执行层 · 独立于GitHub的身体结构",
"sovereign": "TCS-0002∞ · 冰朔",
"controller": "ICE-GL-ZY001 · 铸渊 (唯一主控)"
},
"hardware": {
"provider": "腾讯云轻量应用服务器",
"region": "中国香港 · 香港二区",
"instance_id": "lhins-4eaejy6f",
"instance_name": "Ubuntu-7zs3",
"ipv4": "150.109.76.244",
"region": "新加坡 · 新加坡二区",
"instance_name": "Ubuntu-4nHs",
"ipv4": "43.134.16.246",
"ipv6": "待开启",
"cpu": "2核",
"memory": "4GB",
"system_disk": "SSD云硬盘 70GB",
"bandwidth": "2048GB/月 (峰值带宽 30Mbps)",
"os": "Ubuntu Server 22.04 LTS 64bit",
"expiry": "2027-03-27T23:17:24+08:00",
"memory": "8GB",
"system_disk": "SSD云硬盘 80GB",
"bandwidth": "2560GB/月 (峰值带宽 30Mbps)",
"os": "Ubuntu Server 24.04 LTS 64bit",
"expiry": "2027-03-29",
"auto_renewal": true
},
"dual_domain_architecture": {
@ -69,15 +68,15 @@
"access_requirements": {
"ssh_key": {
"status": "待配置",
"instruction": "冰朔请在GitHub仓库Settings → Secrets中添加以下密钥\n1. ZY_SERVER_HOST = 150.109.76.244\n2. ZY_SERVER_USER = root\n3. ZY_SERVER_KEY = SSH私钥内容 (PEM格式)\n4. ZY_SERVER_PATH = /opt/zhuyuan\n5. ZY_DOMAIN_MAIN = 主域名 (待配置)\n6. ZY_DOMAIN_PREVIEW = 预览域名 (待配置)\n\n操作编号ZY-SVR-SETUP-001\n操作人冰朔 TCS-0002∞",
"instruction": "冰朔请在GitHub仓库Settings → Secrets中添加以下密钥\n1. ZY_SERVER_HOST = 43.134.16.246\n2. ZY_SERVER_USER = root\n3. ZY_SERVER_KEY = SSH私钥内容 (PEM格式)\n4. ZY_SERVER_PATH = /opt/zhuyuan\n5. ZY_DOMAIN_MAIN = 主域名 (待配置)\n6. ZY_DOMAIN_PREVIEW = 预览域名 (待配置)\n\n操作编号ZY-SVR-SETUP-001\n操作人冰朔 TCS-0002∞",
"request_id": "ZY-SVR-SETUP-001"
}
},
"network_topology": {
"github_to_server": "GitHub Actions → SSH/rsync → 150.109.76.244",
"github_to_server": "GitHub Actions → SSH/rsync → 43.134.16.246",
"server_to_github": "Server → GitHub API → 仓库同步",
"main_domain_access": "主域名:80/443 → Nginx → Node.js:3800 (production)",
"preview_domain_access": "预览域名:80/443 → Nginx → Node.js:3801 (preview)",
"ip_direct_access": "150.109.76.244:80 → Nginx → Node.js:3800 (production)"
"ip_direct_access": "43.134.16.246:80 → Nginx → Node.js:3800 (production)"
}
}

View File

@ -8,8 +8,8 @@
"created_by": "ZY-HUMANSIDE-FIX-2026-0325-002",
"target": {
"domain": "guanghulab.com",
"server_ip": "150.109.76.244",
"old_server_ip": "8.155.62.235 (阿里云·已弃用)",
"server_ip": "43.134.16.246",
"old_server_ip": "150.109.76.244 (香港·ZY-SVR-001·已弃用) / 8.155.62.235 (阿里云·已弃用)",
"deploy_path": "/opt/zhuyuan",
"pm2_processes": [
"zhuyuan-server",

View File

@ -259,10 +259,10 @@
},
"guanghulab_website": {
"service": "guanghulab.com Web Deployment",
"server_ip": "150.109.76.244",
"old_server_ip": "8.155.62.235 (阿里云·已弃用)",
"server_provider": "腾讯云轻量应用服务器 · 香港二区",
"server_code": "ZY-SVR-001",
"server_ip": "43.134.16.246",
"old_server_ip": "150.109.76.244 (香港·ZY-SVR-001·已弃用) / 8.155.62.235 (阿里云·已弃用)",
"server_provider": "腾讯云轻量应用服务器 · 新加坡二区",
"server_code": "ZY-SVR-002",
"domain": "guanghulab.com",
"deploy_path": "/opt/zhuyuan",
"stack": {