feat: add Chinese service skill entries and sync workflow#32
Conversation
|
感谢贡献!这个 PR 的 我们已确立原则并落地(见 ADR-038 市场元数据注册表与两层技能模型): 已在 #33 把本 PR 的 10 个外部技能改写成纯 pointer 建议:关闭本 PR 或移除其中 vendored 的 |
|
@mashagua 非常感谢你这份贡献!🙏 你把外部技能引入市场、还专门设计了 为什么需要调整(客观原因)这个 PR 在 pointer 之外,同时把多个 MIT 上游的完整源码树
为此我们已确立并落地了一个原则(见 ADR-038 市场元数据注册表与两层技能模型):market 只放元数据、不放第三方内容。第三方/外部技能的正文放在各自上游,由客户端在安装时按需获取。 怎么改更好(具体指导)把每个外部技能从「vendored 源码」改成「一个
{
"id": "flyai-skill",
"name": "FlyAI",
"category": "productivity",
"tags": ["alibaba-flyai"],
"maintainer": { "name": "alibaba-flyai", "verified": false, "account": "alibaba-flyai" },
"stewardship": "partner", // official / partner / community / pointer
"license": "MIT",
"redistribution": "allowed", // allowed / source-pointer-only / verify-package-terms
"source": {
"kind": "git", // git / web / zip
"repoUrl": "https://github.com/alibaba-flyai/flyai-skill.git",
"repoBranch": "main",
"ref": "54277b27b68e53741954c08541faedba1d45cc7b" // 锁定 commit,可复现安装(来自你的 lock)
}
}
字段约束见客户端 schema 给你省点事我已在 #33 把你这 10 个外部技能按上面的方式全部转写成了 entry.json(保留了你的 license/redistribution 归类与 lock 里的 revision),并补了 所以你有两个选择,任选其一即可:
无论哪种都非常欢迎你后续继续贡献新技能~ 有任何疑问随时在这里 at 我,我帮你一起看。再次感谢!🎉 |
## 概述 / Summary 把 market 从「内容仓库」转型为「元数据注册表」的仓库侧改动,配合客户端 PR [desirecore/desirecore#919](desirecore/desirecore#919) 与 [ADR-038](https://github.com/desirecore/desirecore-docs/blob/main/技术/决策/ADR-038-市场元数据注册表与两层技能模型.md)。 原则:market 只放元数据、不放第三方内容;内置技能仍 bundled(有界例外)。每条第三方条目用 `entry.json`(元数据 + `source` 指针),正文放各自源仓库、安装时按需获取。 ## 改动 / Changes ### S10 — minimax 迁出为官方独立仓库 - `minimax-image-gen` / `minimax-tts`(均 `author=desirecore`)迁至新建的官方开源仓库 **[desirecore/skills-minimax](https://github.com/desirecore/skills-minimax)**(MIT,monorepo, 一仓多技能)。 - market 改用 `skills/<id>/entry.json` 的 pointer 引用(`source.path` 指入子目录,`ref` 锁定 commit `6e39eee`),删除内联 `SKILL.md`。 ### S11 — 许可署名合规 - 新增根 `LICENSE`(MIT)与 `THIRD_PARTY_NOTICES.md`。 - 标注 Anthropic **docx/pdf/pptx/xlsx 为 source-available(非开源、仅供演示参考)**、 frontend-design 等为 Apache-2.0;每条 entry 的 `license`/`redistribution` 为单条真相源。 ### S12 — 外部技能改为纯 pointer(取代 #32 的 vendoring) - 把 [#32](#32) 的 10 个外部技能写成 `entry.json` pointer(**不再 vendor 上游源码**): - MIT/MIT-0 → `partner`/`community` + `allowed` - 无声明许可(meituan / netease)→ `pointer` + `source-pointer-only` - luckin 打包产物 → `pointer` + `verify-package-terms`(`source.kind=zip`) ## 说明 / Notes - 外部条目的 `name`/`category` 为基于上游 URL 的合理初值,后续可随上游元数据完善。 - 客户端(#919)已支持 `entry.json` 读/装与体积守护栏;本 PR 合并后,主仓库需重新 `npm run sync-market` 重打包 `defaults/market.zip`。 > 注:`follow-builders`(zarazhangrui/follow-builders, MIT)是 #32 `external-skills.json` 外部技能集合中的一员,属本次迁移范畴,非额外引入。 Co-authored-by: yi-ge <jackyoncode@gmail.com>
Summary
Adds market entries for external Chinese service skills:
Also adds
scripts/vendor/sync-external-skills.mjsplus source and lock metadata so upstream revisions can be checked repeatedly. Source code is not vendored for projects without a declared license.Validation
node scripts/vendor/sync-external-skills.mjsuv run scripts/i18n/validate-i18n.pyuv run scripts/i18n/translate.py --check