第 7 周:Skill Hub、安装与部署
本周成果与 10-14 小时安排
在一台干净环境完成毕业演示:Web 在线运行、SSE 状态、Skill 下载校验与安装、远程 MCP、新版本发布回滚、GitLab MR 审核。
| 时段 | 用时 | 可见产物 |
|---|---|---|
| Day 1 | 2 小时 | 读Mini Emperor 综合项目,跑后端和前端测试 |
| Day 2 | 2 小时 | 构建 Skill Hub 页面和在线运行轨迹 |
| Day 3 | 2 小时 | 下载、校验、临时目录安装与更新 |
| Day 4 | 2 小时 | 远程 MCP、鉴权、超时和限流验证 |
| Day 5 | 2.5 小时 | 部署、健康检查、发布与回滚 |
| Day 6 | 1.5 小时 | 干净环境完成八项毕业演示并录屏 |
最终产品的三种消费者
四个入口共享同一份内核的完整设计见 Mini Emperor 综合项目:一个客服,四个入口,一份内核。本周毕业演示要覆盖其中三类消费者:
- 普通用户:在 Web 页面在线运行。
- Agent 用户:下载 ZIP 安装到 Codex、Claude、Cursor。
- Agent 开发者:通过 MCP 发现和调用远程工具。
Web 发布流程
标准层与平台层(skill.web.json)的分工见 Mini Emperor 综合项目:一个客服,四个入口,一份内核。
安全检查
- ZIP 路径穿越和绝对路径
- 符号链接逃逸
- SHA-256 不匹配
- 未批准、quarantined、deprecated 版本在线运行
- 未声明的工具、网络和密钥
- 前端构建产物中的 Secret
- SSE 重连导致重复执行
部署
前端:
- Cloudflare Pages
- Build:
npm run build - Output:
dist - 环境变量:
VITE_API_BASE_URL
后端:
- Render Docker Web Service
/health/live与/health/readyDEEPSEEK_API_KEY、MCP_API_KEY、DATABASE_URL- Render Postgres 执行
CREATE EXTENSION vector
生产 CORS 只允许真实前端域名。免费实例休眠只能用于演示,不用于持续 Goal。
干净环境演练
- 克隆项目并运行全部测试。
- 启动后端与前端。
- Web 运行客服 Skill。
- 下载 ZIP 并记录
X-Skill-Sha256。 - 用
mini-skills安装到临时目录。 - 验证
SKILL.md名称、目录和版本。 - 通过 MCP 调用。
- 发布候选版本并回滚。
- 演示 GitLab MR Gate。
课程入口与来源:
- 教材:综合项目与状态事件速查
- 视频回顾:01
[00:03:59-00:04:36]、07[00:09:04-00:09:48]、09[00:08:19-00:09:12] - CAE:用
step01-step12解释每项累计能力,不把 Goal 误称为 step13 - 书中实验:复跑 15 个必做实验中与你毕业演示直接相关的离线测试
- 工程:
api.py、skills.py、rag.py、mcp_server.py、evolution.py、review.py与 Vue 页面
Completion Gate
完成 MISSION.md 的八项毕业验收,并用 15 分钟讲清楚:
- 用户输入如何走到最终结果。
- 每个阶段在哪里观察状态。
- 哪些判断来自模型,哪些来自确定性代码。
- 一个失败如何被定位、修复、测试并沉淀为 Skill。
复习节奏
- 24 小时后:不启动项目,画出 Web Run、下载安装、MCP 三条消费路径。
- 7 天后:从空白终端重新完成一次干净环境演示。
- 30 天后:发布一个兼容旧输入的新 Skill patch 版本并演练回滚。
- 复习证据:录屏、版本与校验和、事件轨迹、部署健康检查和 MR 报告。