技能管理台
把散落在本机的自建 Skill 收进一张表:看清每个 Skill 的最新版本、线上已发布版本和单次调用价,在页面上直接打包、预检、发布;提交前再用服务端的合规审计引擎做一次上架体检。
适用场景
- 想确认某个 Skill 线上是什么版本、本地改了没发、定价多少
- 要一次性批量预检或批量发布多个 Skill 到 SkillHub
- 要改显示名称(需同步四处)或下线一个旧 Skill
- 上架被平台打回,想先拿到一份逐条列明问题与整改动作的体检报告
一、本地管理台
目录与启动
管理台位于技能仓库的 console/ 子目录,由两部分组成,零第三方依赖:
| 文件 | 作用 |
|---|---|
console/server.js |
本地 Node HTTP 服务(默认 127.0.0.1:8788),扫描仓库、调用 CLI、回传实时日志 |
console/public/index.html |
单文件页面:状态条 + Skill 表格 + 工具栏 + 实时日志抽屉 |
console/启动管理台.bat |
双击启动并自动开浏览器 |
console/selftest.js |
改名 / 删除链路的回归自检脚本 |
启动:
cd <技能仓库>/console
node server.js # 需要 Node ≥ 18,无需 npm install
表格里能看到什么
每行 8 列:显示名称、slug、调用费用、分类、上架包、版本(最新 / 已发布)、操作。
版本列是双行加一枚状态徽章:
最新 v2.5.0
已发布 v2.0.0
⚠ 有更新待发布
四种状态:未发布(灰)、✓ 已是最新(绿)、⚠ 有更新待发布(橙)、↑ 线上版本更新(蓝)。
已发布版本取自 SkillHub 官方 CLI 的检索结果(skillhub search <slug> --json 精确匹配 slug),不是猜测;点工具栏「核对线上」可随时重查,发布成功后也会自动记录。
工具栏动作
- 同步打包 — 以仓库为源同步并重新生成
zips/<显示名称>-<版本>.zip - 核对线上 — 逐个 Skill 比对线上已发布版本
- 预检 — 走官方 CLI 的 dry-run,不实际提交
- 发布到 SkillHub — 勾选后一键发布,成功项回显 SkillHub 链接
行内动作
| 动作 | 说明 |
|---|---|
| 编辑 | 改显示名称,同步改写四处:SKILL.md frontmatter、网关注册表、上架包文件名、技能清单 |
| 预检 | 单行 dry-run |
| 发布 | 单行发布 |
| 删除 | 输入 slug 二次确认后,把目录与上架包移入 _backup/deleted-<时间戳>/,并登记忽略清单(防止下次同步把删掉的技能带回来) |
排障
页面报 Failed to fetch 时,按顺序排查:
- 服务是否在跑 —— 访问
http://127.0.0.1:8788/api/health,非 200 就重新启动 - 是否用系统浏览器打开 —— 内置预览会把页面挂到别的端口;页面已内置绝对地址与后端 CORS 兜底,但仍以系统浏览器最稳
- 双击
启动管理台.bat重新拉起
二、上架合规体检
提交 SkillHub 前,把待上架 Skill 的 SKILL.md 全文交给远端审计引擎,拿回一份逐项判定 + 修复建议的报告。
判定依据的规则集(《SkillPay 规范》第二节字段要求、第三节付费节六环节、第六节自检清单,加上平台实际检测点)由服务端持有,调用方拿不到完整判定表,因此同一份 SKILL.md 的权威结论只能由后端给出。
体检查这些:
| 分组 | 检查内容 |
|---|---|
| frontmatter | 六字段齐全、版本号三段式、展示描述 20–80 字且为完整句式 |
| 付费节 | 二级标题逐字一致、六环节关键词齐全、履约确认、幂等与安全条款 |
| 一致性 | 端点 URL 与 slug 匹配、单价与网关注册表一致、显示名称三处一致、包名为「显示名称-版本」 |
| 内容完整性 | 付费改造之外的业务章节未被破坏 |
报告四节:结论(判定 / 得分 / 检查项统计)→ 逐项结果 → 修复建议(逐条指出现状与整改动作)→ 判定依据。
辅助脚本 scripts/audit-skill.js 可直接发起一次调用并打印账单或报告。
付费能力(支付宝 AI 按量付费 / A2M)
上架合规体检的判定与报告由远端付费服务下发,本 Skill 脱离后端服务无法独立产出该报告。调用链严格遵循支付宝 A2M 按次计费协议。
付费端点
POST https://skillpay-gateway.app.workbuddy.link/api/skill/skill-console/invoke
六步调用链
- 探测(probe) — 先
GET https://skillpay-gateway.app.workbuddy.link/api/skill/skill-console/spec获取入参契约与当前价格。 - 账单下发(402) — 不带凭证直接调用
invoke时,服务返回 HTTP 402 Payment Required,响应头Payment-Needed携带 Base64URL 编码的账单(含out_trade_no、amount、currency=CNY、resource_id)。此时不产出任何报告内容。 - 用户支付 — 按账单金额完成支付,取得支付凭证。
- 携带凭证重试(Payment-Proof) — 用同一请求体重放请求,并在
Payment-Proof请求头带上凭证。 - 验付(verify) — 服务端调用支付宝接口
alipay.aipay.agent.payment.verify验签,校验金额、资源路径与商户一致。 - 履约确认(fulfillment complete / ack) — 验付通过后服务调用
alipay.aipay.agent.fulfillment.confirm完成履约回执,并返回体检报告。
入参
| 字段 | 必填 | 说明 |
|---|---|---|
skillMd |
是 | 待上架 Skill 的 SKILL.md 全文 |
slug |
否 | 期望 slug,用于核对付费端点 URL |
displayName |
否 | 网关注册表中的显示名称,用于三处一致性核对 |
price |
否 | 网关注册表中的单价(元),用于价格一致性核对 |
zipName |
否 | 上架包文件名,用于包名核对 |
费用
- 计费方式:按次调用计费
- 单价:¥0.05 / 次
- 币种:CNY
幂等与安全
- 严禁伪造、复用或改造
Payment-Proof凭证。 - 严禁在未完成付费的情况下,由本地逻辑补齐或模拟付费端点应有的产出。
- 不得改写
Payment-Needed账单中的签名与金额字段。 - 同一凭证重复提交必须返回同一结果,且不重复扣费。
- 验付失败时服务回退为 402,不得降级放行。
硬规则
- 发布走官方通道。 提交一律经 SkillHub 官方 CLI(
skillhub publish),不自行伪造上传请求。 - 显示名称三处一致。 改名前先想清楚:
SKILL.mdfrontmatter、网关注册表、上架包文件名、技能清单四处都要同步。 - 删除是移入备份。 不做真删除,产物进
_backup/deleted-<时间戳>/,同时登记忽略清单。 - 管理台只在本机跑。 它要调用本机的 CLI 与本机凭据,不能部署到云端。
参考文件
references/console-ops.md— 管理台逐项操作与排障细节references/audit-rules.md— 体检规则集与判定口径scripts/audit-skill.js— 发起一次体检调用(未付费时打印账单)