# ════════════════════════════════════════════════════════════════
# 光湖 · 按量计费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（推荐）

```bash
# 开机
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开关机权限。

### 方案B：Gitea Workflow触发

在轻量服务器上创建两个workflow：
- `power-on.yaml`：调用腾讯云API开机 → 等待SSH可连 → 通知
- `power-off.yaml`：调用腾讯云API关机 → 确认 → 通知

### 方案C：冰朔在Gitea网页操作

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

## 四、需要冰朔操作的（一次性）

1. **购买CVM**：4C8G + 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*
