Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc [SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
4.6 KiB
4.6 KiB
GPU-SCOUT-001 · GPU自动发现+一键部署模块 · 铸渊开发任务单
HLDP://shuangyan/module/GPU-SCOUT-001 · 2026-05-12
├── 提出人: 之之·DEV-004
├── 记录人: 霜砚·ICE-SY-01
├── 开发人: 铸渊·ICE-ZY-01
└── 状态: ⏳ 待铸渊接单
一、为什么要做这个模块
之之原话(2026-05-12):
「要跑通deploy,需要GPU开机。但我们是共享GPU,关机后就被别人占。没有稳定GPU,就无法测试部署流程。与其被动等GPU,不如先造工具——自动发现可用GPU,随时主动抢占。」
根本矛盾: 部署流程依赖稳定GPU,但共享GPU随时消失
解法: GPU自动发现模块 → 被动变主动 → 随时知道哪台GPU可用 → 立即部署
二、模块功能定义
核心能力(MVP)
- 平台扫描:查询 AutoDL + compshare 账号下所有 GPU 实例状态
- 健康检测:SSH 连通性 + GPU 可用性验证
- 信息输出:返回可用实例的 Host / Port / User / 显存 / 平台
- 一键部署:选定实例后,自动更新 GitHub Secrets → 触发
guanghulab-coredeploy 工作流
后续扩展(非MVP)
- 多平台自动比价(AutoDL / compshare / 恒源云 / 智星云)
- 自动抢占:发现有货立即开机并部署
- 状态写回 Notion
- 定时轮询 + 通知
三、技术方案
3.1 API 文档
| 平台 | API 文档 | SDK |
|---|---|---|
| AutoDL | https://api.autodl.com · 容器实例Pro API |
无官方SDK · 直接HTTP |
| compshare | https://www.compshare.cn/docs/gpus/operationexample |
Python / Go / Java SDK |
AutoDL 关键接口:
- 获取实例列表:
GET /api/v1/dev/instance/list(需 Authorization token) - 查询GPU库存:
POST /api/v1/dev/machine/region/gpu_stock
compshare 关键接口:
- 参考 GitHub 示例:
github.com/ucloud/compshare-developer-examples - 需要 compshare API Key
3.2 仓库规划
- 仓库位置:Gitea(guanghulab.com · Forgejo)新建独立仓库
- 建议仓库名:
gpu-scout - 理由:模块独立、可大可小、后续可对接多平台
3.3 部署触发逻辑
gpu-scout 运行流程:
① 调 AutoDL API → 获取在线实例列表
↓ 没有在线实例
② 调 compshare API → 获取在线实例列表
↓ 找到可用实例
③ SSH 健康检测(连通 + python3 + GPU显存)
↓ 通过
④ 更新 guanghulab-core GitHub Secrets:
ZY_DEPLOY_SSH_SG_GPU_001_HOST
ZY_DEPLOY_SSH_SG_GPU_001_PORT
ZY_DEPLOY_SSH_SG_GPU_001_USER
ZY_DEPLOY_SSH_SG_GPU_001_PRIVATE_KEY
↓
⑤ 触发 guanghulab-core deploy 工作流
↓
⑥ 返回结果(成功 / 失败 + 原因)
四、铸渊开发说明
4.1 前置条件(之之需要提供)
| 所需信息 | 来源 | 状态 |
|---|---|---|
| AutoDL API Token | AutoDL控制台 → 账号设置 → API Token | ⏳ 之之获取中 |
| compshare API Key | compshare控制台 → API管理 | ⏳ 之之获取中(冰朔昨天注册了账号) |
| GitHub PAT(有repo权限) | 用于更新Secrets + 触发工作流 | ✅ 已有(ZY_GITHUB_PAT) |
| Gitea 新仓库 URL | guanghulab.com 上新建 gpu-scout |
⏳ 待建 |
4.2 MVP 交付物
gpu-scout/
├── src/
│ ├── autodl.js ← AutoDL API 查询封装
│ ├── compshare.js ← compshare API 查询封装
│ ├── health.js ← SSH 健康检测
│ ├── deploy.js ← 更新Secrets + 触发工作流
│ └── index.js ← 主入口(CLI)
├── config/
│ └── platforms.json ← 平台配置(API端点 + 认证方式)
├── .env.example
├── package.json
└── README.md
4.3 调用方式(目标)
# 扫描可用GPU
node index.js scan
# 扫描 + 自动部署
node index.js deploy --target autodl
# 只更新Secrets,不触发部署
node index.js update-secrets --host xxx --port xxx
五、当前阻塞项
- ⏳ AutoDL API Token — 之之去控制台获取
- ⏳ compshare API Key — 冰朔账号下获取
- ⏳ Gitea 新建
gpu-scout仓库 — 之之在 guanghulab.com 建 - ⏳ 铸渊接单 — 以上三项就绪后唤醒铸渊
六、关联页面
- 主控台:ZZ-DEPLOY-001
- 栖渊工作流仓库:
qinfendebingshuo/guanghulab-core - GPU信息记录:个人线系统恢复锚点(AutoDL SSH信息)
建档人:霜砚·ICE-SY-01 · 2026-05-12 · 之之提出 · 铸渊待接单