guanghulab/.github/cvm-auto-power-plan.md
Guanghu Domestic Migration d1e47f4565
Some checks are pending
自动更新代码和重启 / update-and-restart (push) Waiting to run
CI检查 + 自动部署 / check (push) Waiting to run
CI检查 + 自动部署 / deploy (push) Blocked by required conditions
重启聊天服务 / restart (push) Waiting to run
chore: import sanitized domestic snapshot for REPO-002
Source snapshot: ca48d3ddf926d79aa138306164169baf764bb829
2026-07-17 15:54:41 +08:00

6.1 KiB
Raw Blame History

════════════════════════════════════════════════════════════════

光湖 · 按量计费CVM自动开关机方案

设计:铸渊 · ICE-GL-ZY001

需求来源:冰朔 TCS-0002∞ 2026-05-13

════════════════════════════════════════════════════════════════

冰朔原话:

"你是否能开发一个你需要开发你就自动去开机。

你开发完了今天我说结束了。你就自动把机子关了的

这个自动Agent工作流"

════════════════════════════════════════════════════════════════

一、按量计费更划算吗?

是的,对于开发用途。

模式 4C8G广州月费 适合场景
包年包月 ~200-300元/月 24/7运行
按量计费 ~0.4-0.6元/小时 每天用8小时 ≈ 100-150元/月

按量计费的关键:用的时候开机,不用的时候关机,关机不收计算费用(只收云盘费用)

铸渊的典型工作模式:

  • 冰朔和铸渊对话 → 开机
  • 铸渊开发+测试 → 保持开机
  • 冰朔说"今天结束了" → 关机
  • 深夜/无人时 → 自动关机(可选)

二、自动开关机架构

冰朔说"开始开发"              冰朔说"今天结束"
       │                            │
       ▼                            ▼
┌──────────────┐           ┌──────────────┐
│ 广州轻量服务器 │           │ 广州轻量服务器 │
│ (常驻2C2G)  │           │ (常驻2C2G)  │
│              │           │              │
│ ① 调用腾讯云API│           │ ③ 调用腾讯云API│
│   开机CVM    │           │   关机CVM    │
│              │           │              │
│ ② 等CVM启动  │           │ ④ 确认关机   │
│   通知铸渊   │           │   通知冰朔   │
└──────────────┘           └──────────────┘
       │                            ▲
       ▼                            │
┌──────────────────────────────────────────┐
│ 广州CVM按量计费4C8G+CBS云盘          │
│                                          │
│ 开机状态:                                │
│   Forgejo (代码仓库+Actions)              │
│   Runner (执行workflow)                   │
│   Vault (密钥管理)                        │
│   Terminal Watcher (状态监控)              │
│   Patrol Agent (自动巡检)                 │
│   对话Agent (冰朔问答)                    │
│                                          │
│ 关机状态:                                │
│   CBS云盘保留所有数据                      │
│   下次开机数据完整恢复                     │
└──────────────────────────────────────────┘

三、开关机实现方式

方案A腾讯云API推荐

# 开机
curl -s -X POST https://cvm.tencentcloudapi.com \
  -d '{"InstanceIds":["ins-xxxxx"]}' \
  -H "Authorization: TC3-HMAC-SHA256 ..." \
  -H "Action: StartInstances"

# 关机
curl -s -X POST https://cvm.tencentcloudapi.com \
  -d '{"InstanceIds":["ins-xxxxx"]}' \
  -H "Authorization: TC3-HMAC-SHA256 ..." \
  -H "Action: StopInstances"

需要在腾讯云创建一个子账号只给CVM开关机权限。

方案BGitea Workflow触发

在轻量服务器上创建两个workflow

  • power-on.yaml调用腾讯云API开机 → 等待SSH可连 → 通知
  • power-off.yaml调用腾讯云API关机 → 确认 → 通知

方案C冰朔在Gitea网页操作

最简单的方式冰朔在Gitea的Actions页面点"Run workflow"来开关机。

四、需要冰朔操作的(一次性)

  1. 购买CVM4C8G + 50GB CBS云盘广州地域按量计费
  2. 配置CBS云盘:挂载到 /data仓库数据全部存这里
  3. 创建腾讯云子账号只给CVM开关机权限密钥存入Vault
  4. 安装基础环境Node.js 20 + PM2 + Nginx + Forgejo

五、迁移计划

阶段1买服务器冰朔操作10分钟
  → 买4C8G CVM + 50GB CBS广州地域按量计费
  → 选择Ubuntu 22.04
  → 开机

阶段2基础环境冰朔执行一条命令15分钟
  → bash <(curl -fsSL 铸渊写的bootstrap脚本)
  → 自动安装Node.js + PM2 + Nginx + Forgejo

阶段3数据迁移铸渊通过Runner自动执行30分钟
  → 从广州轻量服务器rsync数据到CVM
  → 或从COS拉取备份
  → Forgejo仓库数据在CBS云盘上

阶段4域名切换冰朔在腾讯云DNS操作5分钟
  → guanghulab.com 指向CVM的IP
  → Nginx配置SSL

阶段5旧服务器降级铸渊自动执行
  → 广州2C2G变成测试机
  → 只保留Forgejo + Runner轻量级

阶段6自动开关机部署铸渊开发
  → 腾讯云API密钥入Vault
  → 开关机workflow上线
  → 冰朔在Gitea网页点按钮即可开关机

六、CVM购买建议

项目 建议
地域 广州(和轻量服务器同地域,内网互通免费)
配置 4C8G
系统盘 50GB SSD云硬盘
数据盘 50GB CBS高性能云盘挂载到/data
带宽 按流量计费1Mbps基础够用
计费 按量计费
安全组 开放22(SSH) + 80(HTTP) + 443(HTTPS) + 3001(Forgejo内网)

同地域的好处轻量服务器和CVM内网互通迁移数据走内网不花钱。


铸渊 · 按量计费CVM方案 v1.0 · 2026-05-13 ICE-GL-ZY001 · TCS-0002∞ · 国作登字-2026-A-00037559