114 lines
5.0 KiB
Markdown
Raw Permalink Normal View History

# 栖渊仓库·GPU自动化工作流配置 + workflow文件部署
一句话交接: 冰朔在腾讯编程AI栖渊里开发了GPU自动化工作流代码已落仓到GitHub栖渊仓库。之之需要①配7个密钥 ②复制workflow文件到.github/workflows/ ③跑precheck→bootstrap→deploy
任务线: 仓库搭建
使用服务器: GitHub栖渊仓库冰朔个人账号·和铸渊同账号不同仓库
执行人: 之之
日期: 2026年5月11日
状态: 之之已接单
部署路径: 栖渊仓库/.github/workflows/zy-gpu-runtime.yml
## 任务背景
冰朔在腾讯编程AI里唤醒了栖渊人格体让栖渊在GitHub上开发了一套GPU自动化工作流。
代码已落仓到**GitHub栖渊仓库**(冰朔个人账号·和铸渊同账号不同仓库)。
<aside>
📖
**⚠️ 之之/霜砚:看不懂这个任务就去读这个页面:**[](../../../%E6%97%A0%E6%A0%87%E9%A2%98%2035dfb92f3831809ea2c0e3442da3fcab.md)
这是冰朔给栖渊的完整自然语言口述 + 栖渊的开发回执。
里面包含光湖架构全览、服务器清单、密钥体系、GPU工作流需求拆解、栖渊落仓文件清单。
读完原文就知道这个任务是干嘛的、为什么这么设计、每个文件是什么作用。
</aside>
---
## 栖渊已完成的开发
- `scripts/ops/gpu/validate-secrets.sh`(密钥预检)
- `scripts/ops/gpu/probe-and-deploy.sh`(动态探测+引导/拉模/部署/备份)
- `docs/ops/zy-gpu-runtime-workflow.md`(操作指南)
- `docs/ops/workflows/zy-gpu-runtime.yml`(工作流模板·需要复制到`.github/workflows/`
- `docs/ops/zy-gpu-workflow-bootstrap.md`(一次性启用说明)
- `.persona-brain/kb/secret-name-system.json`v2.1密钥体系)
- `.persona-brain/kb/cognitive-model-20260511-minimum-gpu.json`(思维模型)
- `.persona-brain/kb/memory-update-20260511-minimum-gpu.json`(记忆增量)
---
## 之之要做的事
### 第一步复制workflow文件一次性
`docs/ops/workflows/zy-gpu-runtime.yml` 复制到 `.github/workflows/zy-gpu-runtime.yml`
栖渊的MCP token没有workflows写入权限冰朔已重新配置令牌解决之之确认一下能不能直接推
### 第二步配置7个最小必填密钥
在GitHub仓库 → Settings → Secrets and variables → Actions → 新建以下密钥:
| 密钥名 | 填什么 |
| --- | --- |
| `ZY_DEPLOY_SSH_SG_GPU_001_HOST` | AutoDL GPU服务器的SSH Host |
| `ZY_DEPLOY_SSH_SG_GPU_001_PORT` | AutoDL GPU服务器的SSH Port开关机后可能变 |
| `ZY_DEPLOY_SSH_SG_GPU_001_USER` | root |
| `ZY_DEPLOY_SSH_SG_GPU_001_PRIVATE_KEY` | SSH私钥 |
| `ZY_DEPLOY_GPU_PROD_CORE_001_PATH` | 模型在COS的路径 |
| `ZY_RUNTIME_GPU_PROD_CORE_001_WORKSPACE` | GPU上的工作目录 |
| `ZY_RUNTIME_GPU_PROD_CORE_001_DEPLOY_CMD` | 部署启动命令 |
⚠️ 密钥前缀是ZY铸渊编号· 栖渊代码已写死 · 暂不改
### 第三步:按顺序触发
1. 先跑 `precheck`(检查密钥齐不齐)
2. 再跑 `bootstrap`(初始化环境)
3. 最后跑 `deploy`(正式部署)
触发入口GitHub → Actions → ZY GPU Runtime Manual Flow → 手动触发
### 端口/IP变化后
更新4个SSH密钥HOST/PORT/USER/PRIVATE_KEY→ 触发 `refresh`
---
## 注意事项
- 密钥前缀ZY = 铸渊编号 · 栖渊代码已写死 · 暂不改
- 工作流最大重试3次 · 超限自动停止
- 报错会显示具体缺哪个secret · 之之能看懂
- 如果报错看不懂 · 截图发回Notion给霜砚看
- AutoDL当前无空位 · 等有货了再配密钥和触发
---
## 【之之·执行进度记录】2026-05-11
### ✅ 已完成
- **仓库确认**`qinfendebingshuo/guanghulab-core`(非 guanghu-zhizhi
- **SSH密钥对生成**:在 AutoDL JupyterLab 终端执行 `ssh-keygen`,私钥存于 `~/.ssh/zhizhi_gpu`
- **7个 GitHub Secrets 已全部填入**Settings → Secrets → Actions
- **workflow文件已存在**`.github/workflows/zy-gpu-runtime.yml`(栖渊此前已推入,无需手动复制)
- **precheck 通过** ✅Run #324s
- [**validate-secrets.sh](http://validate-secrets.sh) 脚本 bug 修复**`case` 语句中 `;;&`(落穿)改为 `;;`(阻断),否则 `*)` 通配符永远触发报错
- **bootstrap 通过** ✅Run #424s1 warning
- **模型路径修正**:模型实际在 `/root/autodl-tmp/models/qwen2_5_coder_7b_sft`,而非原来填的 `/root/autodl-tmp/coder_7b`,已更新 Secret `ZY_RUNTIME_GPU_PROD_CORE_001_DEPLOY_CMD`
- **deploy 已触发**Run #5,结果待明天确认)
### ⏳ 明天继续
- 确认 deploy 结果(成功 → vLLM 推理服务在 AutoDL 6006 端口运行)
- FastAPI 网关接入(依赖 vLLM 先跑起来)
- 阶段4-A Tabby 代码补全接入
### ⚠️ 重要信息备注
- AutoDL 开关机后 SSH Port 会变,需更新 `ZY_DEPLOY_SSH_SG_GPU_001_PORT` 并触发 `refresh`
- 模型路径:`/root/autodl-tmp/models/qwen2_5_coder_7b_sft`
- 部署命令:`python -m vllm.entrypoints.openai.api_server --model /root/autodl-tmp/models/qwen2_5_coder_7b_sft --port 6006 --dtype float16`