工作台市场验收规范

版本:2026-09-29 · 以官网版本为准,DSH Desktop 内附文档副本供离线取用。

官方地址:https://dshdesktop.com/workbench/docs/market-acceptance/

Markdown 原文(供 Agent 读取):https://dshdesktop.com/workbench/docs/market-acceptance.md

开发与投稿前可先看六步速览(Markdown 原文)。

本文只适用于想把工作台上架到工作台市场的情况。只在本地开发、自己使用的工作台,满足《工作台开发规范》(https://dshdesktop.com/workbench/docs/development/ )并在本机自测通过即可,不需要阅读本文,也不需要公开代码或上传任何资料。

上架流程与 DSH 插件市场相同:作者把代码放到自己的公开 GitHub 仓库,再向 awesome-dsh-workbench 提交一个收录 PR。简介、截图等资料只在这一步才需要准备。收录 YAML 与客户端索引的字段以该仓库的 catalog/README.md 和 schema/ 为准,本文只说明作者要满足什么、审核看什么,不重新定义字段。

规则分三级:必须(不满足就不能收录或安装)、建议、可选。

1. 上架前提

2. 上架流程

  1. 公开仓库:把代码提交到作者自己的公开 GitHub 仓库。
  2. 准备安装来源:发布 npm 包,或上传 GitHub Release 安装包,或确保仓库源码可以直接安装(见第 4 节)。
  3. 准备上架资料:名称、分类、中英文简介、截图(见第 5 节)。
  4. 提交收录 PR:向 awesome-dsh-workbench 新增一个 data/workbenches/<owner>__<repo>.yml。提交 PR 就是进入审核,进度以 GitHub 上的 PR 为准,本机不保存投稿状态。
  5. 审核:自动检查 + 首次人工阅读(见第 6 节)。根据意见修改,确认最新提交的检查通过。
  6. 上架:PR 合并、市场目录更新后,工作台出现在工作台市场中,用户可以直接安装。

只创建了 PR 时称为“已提交”;合并后称为“已合并,等待目录更新”;在市场中能看到条目后才称为“已上架”。

三条最短投稿路径

三条路径都须有《工作台开发规范》要求的包校验与本机安装实测证据;将最终可安装版本的真实界面截图放入作者仓库,再提交第 5 节的 YAML。任选一种来源:

路径最短步骤投稿前核对
仅源码公开仓库默认分支包含可直接安装的 package.json、入口、bundle patch 和构建产物 → 本机从该提交安装 → 提交 YAML安装固定到该提交;市场不会代跑构建
GitHub Releasepnpm pack → 上传 .tgz 到 Release → YAML 填 tarball → 本机从该下载地址安装下载地址可访问,包内版本与 Release 对应;latest/download 使用固定文件名
npmpnpm pack 核对内容 → 发布同一版本到 npm → 本机从该 npm 版本安装 → 提交 YAMLnpm 包的 repository 指回投稿仓库,版本和包名一致

提交 PR 后查看最新提交的所有检查及实际日志;只有检查确实执行并通过才能称“验收通过”。PR 已提交表示等待审核,已合并表示进入目录更新,Desktop 市场中实际可见且可安装才是市场可见。fork 投稿与上游分支投稿应受同一检查标准约束;检查跳过或找不到关联 PR 时记“未完成/失败”,不得当作通过。

3. 仓库与代码要求

与 DSH 插件市场的收录要求一致:

工作台市场的额外要求:

4. 包与安装来源

市场按 npm → GitHub Release 安装包 → GitHub 源码 的顺序选择来源,安装时锁定到具体版本或 commit,校验失败就报错,不会自动换来源。

来源作者要做什么
npm 包(建议)发布真实版本;package.json 的 name 与 npm 包名一致,repository 必须指回收录的仓库,否则市场不会采用 npm 来源
GitHub Release 安装包上传 pnpm pack 生成的 .tgz 或 .tar.gz,在收录 YAML 的 tarball 中填写地址。使用 releases/latest/download/<固定文件名> 时文件名不要带版本号;否则固定 tag
GitHub 源码默认分支包含可直接安装的入口、构建产物和 bundle patch

5. 上架资料

资料写在收录 YAML 里,格式以 awesome-dsh-workbench 的 catalog/README.md 为准:

url: https://github.com/owner/repo
name: 项目助手
category: productivity
description:
  zh: 帮助整理项目资料、跟进任务并生成工作报告。
  en: Organize project materials, track tasks, and generate work reports.
screenshots:
  - https://raw.githubusercontent.com/owner/repo/main/docs/images/overview.webp

这是三条路径共用的最小 YAML;仅 GitHub Release 路径额外加入 tarball: https://github.com/owner/repo/releases/latest/download/my-workbench.tgz。仅源码与 npm 路径不加该字段。旧包迁移才可能保留 workbenchId: wb-owner-repo,新投稿不要加。

资料级别要求
url必须仓库主页,与文件名 <owner>__<repo>.yml 一致
workbenchId可选,仅兼容旧包新投稿不填写。旧 ID 迁移时若填写,必须是仓库派生的 wb-<owner>-<repo>;它不代替仓库身份,也不要求新包填写 register({ id })
name必须市场展示名称,一行
category必须市场仓库 data/categories.json 中的分类之一
description.zh、description.en必须中英文都要,各一行;必须属实,会对照代码核对,不写夸大或营销用语
screenshots必须1–5 张,第一张为封面
tarball可选只在需要指定 Release 安装包时填写

截图要求:

不要在 YAML 里填写版本、npm 包名、校验值或作者 ID,这些由自动探测得到;不要修改市场仓库中生成的文件;只改自己的条目。

PR 描述写明:工作台用途、本机验收结果、验证过的 Desktop 版本和平台、安装来源,以及需要注意的外部依赖、网络访问和数据位置。

与 DSH 插件市场的不同之处

项目DSH 插件市场工作台市场
收录仓库awesome-dsh-plugindataelement/awesome-dsh-workbench
文件data/plugins/<owner>__<repo>.ymldata/workbenches/<owner>__<repo>.yml
分类23 个插件分类7 个工作台分类
简介en 必填,zh 可选zh 和 en 都必填
截图作者仓库的 screenshots.json,1–8 张写在收录 YAML 中,1–5 张
monorepo支持子包v1 暂不支持
额外检查—package.json 安装契约、客户端入口、包体积

6. 审核与验收

自动检查(PR 上运行):

检查因网络或配额没有完成时,结果是“未完成”,不能算作通过;合并前以最新提交的检查结果为准。 作者可以在市场仓库运行 npm run check 预检,再查看 PR 工作流日志,确认关联 PR 探测实际执行;“工作流成功但探测跳过”不算验收通过。

首次人工阅读:维护者对照代码核对描述是否属实、是否重复、有无明显异常行为、是否符合《工作台开发规范》的运行规则。这不是完整的安全审计。

验收清单(作者提交前自查,审核者据此核对):

7. 上架之后

参考