WorkBuddy 技能上架(合规打包 + 正确入口)
一、两个入口别混(最高频踩坑)
| 入口 | 位置 | 能力 | 典型现象 |
|---|---|---|---|
| 导入技能 | 客户端,弹「文件选择框」,按钮写「选择文件夹」 | 装到本机自己用;只列文件夹,zip 天然看不见 | 报「已存在名为 xxx 的技能,请勿重复导入」=本机已装(~/.workbuddy/skills/<name>/),无需再导 |
| 上架 / 发布技能 | 开放平台网页 open.workbuddy.cn(浏览器),左侧「发布管理 → 技能」,点右上角「+ 创建」 |
发到技能市场赚积分/分成 | 需先开发者入驻/认证(一般邮箱验证) |
> ⚠️ 客户端左侧【专家·技能·连接器】→【技能】→【技能市场】只是浏览/安装;右上角只有「添加技能 → 创建技能」,不是上架入口。
二、合规打包规范(官方 · open.workbuddy.cn/docs/skill)
- 格式:ZIP,≤ 3MB。
- 目录结构(最多两层):
{skill-name}/
├── SKILL.md # ★ 必须
├── references/ # 可选:SKILL.md 里用 @references/xxx.md 引用
├── scripts/ # 可选:脚本
└── templates/ # 可选
→ zip 根目录就是 {skill-name}/,别多套一层、别把文件散在根。
3. SKILL.md frontmatter 必填:description(含触发词)、description_zh、description_en、version、author。
可选:name、display_name、display_name_en、category、allowed-tools、disable-model-invocation、user-invocable。
4. 绝不打包:API Key/密码/Cookie/本机私密绝对路径(一律参数化成 <你的…路径>)、任何个人或内部资料。
5. 提交后解析失败 → 对齐上面结构与字段;仍失败则邮件 openworkbuddy@tencent.com。
三、打包脚本套路(Python,避免 zip 工具差异)
import os, shutil, zipfile
SRC = r"<源目录,内含 SKILL.md 与可选 scripts/>" # 目录名须等于 skill-name
STAGE = r"<暂存父目录>/_stage"
PKG = "my-skill" # skill-name
if os.path.isdir(STAGE):
shutil.rmtree(STAGE)
os.makedirs(os.path.join(STAGE, PKG))
shutil.copy2(os.path.join(SRC, "SKILL.md"), os.path.join(STAGE, PKG, "SKILL.md"))
if os.path.isdir(os.path.join(SRC, "scripts")):
shutil.copytree(os.path.join(SRC, "scripts"), os.path.join(STAGE, PKG, "scripts"),
ignore=shutil.ignore_patterns("__pycache__", "*.pyc"))
with zipfile.ZipFile("my-skill.zip", "w", zipfile.ZIP_DEFLATED) as z:
for root, dirs, files in os.walk(os.path.join(STAGE, PKG)):
dirs[:] = [d for d in dirs if d != "__pycache__"]
for f in files:
full = os.path.join(root, f)
z.write(full, os.path.relpath(full, STAGE).replace("\\", "/"))
# 自检:所有 namelist 必须以 "my-skill/" 开头 + 含 "my-skill/SKILL.md"
四、发布前自检清单
- 目录名 == frontmatter 的
name,且 zip 根就是这个目录。 - 五个必填字段齐全(
description / description_zh / description_en / version / author)。 - ZIP ≤ 3MB;无缓存目录(
__pycache__、.DS_Store)。 - 全局搜一遍:无 API Key、无 Cookie、无本机绝对路径、无公司/客户内部信息。
- 解压抽查一个,确认
SKILL.md头部 frontmatter 正常、能解析。
五、提交
浏览器打开 open.workbuddy.cn → 开发者入驻/认证 → 「发布管理 → 技能」→「+ 创建」→ 填名称/简介/上传 ZIP/选分类与可见性 → 提交 → 等 1–3 个工作日审核。
六、常见报错对照
| 报错 | 原因 | 处理 |
|---|---|---|
| 解析失败 / 无法识别技能 | frontmatter 缺必填字段,或 zip 多套了一层目录 | 补齐字段、让 {skill-name}/SKILL.md 位于 zip 根 |
| 已存在名为 xxx 的技能 | 本机已装过同名技能 | 那是本地导入报的,与上架无关;上架走网页 |
| 上传后不显示 | 还在审核中 / 未完成开发者认证 | 等 1–3 工作日,或先完成认证 |