aiko-dsh-market
v1.39.0
Published
Visual plugin market inside DeepSeek Harness — browse, search, and one-click install community plugins. · DSH 可视化插件市场:逛一逛,点一下,装好。
Maintainers
Readme
dsh-market
English | 中文
装在 DeepSeek Harness 里的插件市场。打开设置 → 插件市场 → 逛一逛,点一下,装好。

主题一键换:装完即生效,点一下切换,不用重启。
npm 分发
通过原生插件管理器安装 [email protected]。npm 包、Bundle patch 与客户端加载器统一使用 aiko-dsh-market,配置 id 保持为 dsh-market。npm 目录只列包名;版本、兼容范围、中英文说明和截图由插件自身提供。additionalRegistryPackages 配置必需的 npm 目录,additionalRegistryUrls 继续支持 HTTP 目录。安装、来源迁移与发布步骤见 npm 分发指南。
官方 Electron(1.39.0)
此候选版本需要官方 DSH 0.1.5-alpha.2 桌面端配套的市场桥接 v1。桥接是本次附带的宿主改动,未经修改的官方发行版尚不提供该 API。通过桌面端插件管理器安装已发布的市场压缩包后,打开 设置 → 插件市场。源码开发配置不支持安装。
桌面市场通过 Connection Fetch 读取社区目录与 Aiko 组织目录,按依赖顺序提交一笔由桌面宿主管理的安装事务。原生确认框显示准确的 npm 包规格或 GitHub Release 地址;激活失败时恢复原配置;仍被其他已安装插件依赖的包不能卸载。工作区和本地路径不作为安装来源。
仅当目录版本高于已安装版本且发布来源一致时才显示更新:npm 包名相同,或 GitHub Release 仓库相同。相同发布包地址无需重装,即使目录没有版本字段;版本无法确认时不会提示更新。已安装列表同时匹配包名与来源,目录未收录的安装来源单独列出。提交操作前重新读取安装清单,拒绝根插件及依赖的来源切换,跳过已满足的依赖,并在目录提供版本时锁定 npm 版本。
桌面列表从浏览、搜索、计数和已安装视图中排除 aiko-dsh-market 和所有 dshmarket 发行条目,包括上游版和 Aiko 版。页头保留已安装市场的版本和仓库链接。市场自身的更新、卸载或重装通过桌面原生插件管理器使用 Aiko 发布来源完成;其他插件仍在市场中展示和管理。
桌面视图复用上游目录的搜索和排序规则,提供发现、主题、已安装分页,以及分类、发布时间筛选,默认每页 24 项。插件卡片展示作者头像、星标、npm 下载量、分类、目录截图、依赖与弃用提示;详情保留发布日期、目录原始命令以及发布包和已安装来源,Aiko 使用说明在市场内展示,主页链接打开 npm,反馈链接打开目录问题页;其他条目继续使用其目录链接。目录未提供的下载量不显示为零,仅提供源码的插件会说明无法在桌面安装的原因。Web 端备份与即时主题切换尚未接入此视图。
重新打开市场时立即展示上次取得的目录,同时重新验证所有必需的目录源;更新中和更新失败均明确提示,安装操作等待目录验证完成。并发读取共享同一次请求。目录依赖校验只遍历每个插件和依赖一次,分页与图片懒加载限制渲染量,不截断可搜索的完整目录。
可在宿主的 settings.yaml 中通过 dsh-market-network.httpsProxy 保存 HTTP(S) 代理地址,重启宿主后生效。此设置在桌面插件更新后保留,仅作用于市场的出站请求;插件停止时等待对应连接结束。显式插件配置 httpsProxy 优先,均未设置时沿用原有的代理环境变量行为。Web 分支单独保留,存在可选设置服务时需要 DSH 0.1.5 设置 API。
GitHub 社区发现
Aiko Bundle 默认读取组织目录发布的 github-topic.json,把 GitHub dsh-plugin Topic 中识别出的插件加入搜索结果。卡片标注「GitHub 社区发现」及最近的检查日期;目录显示更新时间、已检查的仓库数和采集是否完成。此来源由社区作者自行打标签,发布包检查不代表 DeepSeek 官方认证、代码安全审计或当前宿主兼容性测试。
采集器检查 npm 或同仓库 GitHub Release 的实际安装包,确认包名、版本、Bundle patch 及声明的运行入口文件;npm 包还校验仓库对应关系与 SHA-512。市场只为具有通过检查的发布包的发现条目开放安装,并固定检查过的 npm 版本。仅有源码的条目可以查看仓库。现有社区目录与 Aiko 目录的名称、包名和仓库信息优先保留,发现源不能替换这些安装来源。
discoveryRegistryUrls 配置可选发现目录,设为 [] 可关闭。此配置与必需的 additionalRegistryUrls 独立:发现源读取失败或格式无效时显示提示,继续提供必需目录中的插件;刷新会重试,失败时不复用旧发现条目。未配置此字段的自定义组合不会自动加入发现源。
- id: dsh-market
name: aiko-dsh-market
config:
additionalRegistryPackages:
- aiko-dsh-plugin-catalog
discoveryRegistryUrls:
- https://raw.githubusercontent.com/aiko-dsh-plugins/dsh-plugin-catalog/main/github-topic.json采集和发布在 aiko-dsh-plugins/dsh-plugin-catalog 仓库进行,客户端无需 GitHub Token。发布顺序:先发布目录及其采集工作流,再发布包含新配置的市场包。协议与验证说明见 GitHub 发现源。
Web 安装
dsh plugin --profile web add [email protected]重启 dsh web,打开 设置 → 插件市场。
此版本声明兼容 Aiko DSH 0.1.5-alpha.2。 仍使用 0.1.5 之前设置 API 的旧 Web 宿主应继续使用较早的 Aiko 市场版本。
你会得到
- 逛与搜——完整社区目录(2300+ 插件,每天在涨),分类筛选、star 数、最热/最新排序,中英描述跟随界面语言
- 截图展示——App Store 式截图,多图自动轮播,点开还能看大图;作者在 registry 里策展的截图列表卡片就直接显示(零额外请求),没有策展的插件则在打开安装弹窗时自动从 README 抽取;Aiko 截图随 npm 目录分发,其他条目继续使用允许的 GitHub 图片源
- 评论——每张卡片都能就地打开该插件的讨论。它和插件在 dshmarket.com 与目录站上的页面共用同一条讨论,一个插件只有一处对话,而不是三处。底层是 GitHub Discussions(经由 giscus):打开即加载,只有发表评论才需要 GitHub 账号;说明里也直说打开会连接 giscus.app 与 GitHub
- 主题——独立主题页:装完立即生效,点一下切换(主题互斥、选择跨重启保留),卸载即恢复
- 一键安装——确认来源,实时进度;多数插件刷新页面即可用,无需重启
- 备份与恢复——把 profile 的插件清单与配置导出为可读 JSON,换机导入,存到 WebDAV 并每日自动备份,或通过私有 GitHub Gist 跨机器同步;恢复采用合并方式(备份之后新装的插件会保留),写入前校验、失败自动回滚
- 更新——逐插件检测(npm 版本或锁定 commit 对比 HEAD),一键更新或全部更新;市场自己也走同一通道升级
- 公共更新接口——插件自己的设置页可调用带版本号、能力探测和回滚状态的更新 API v1(beta),无需复制包管理逻辑,也不依赖市场 UI 的私有响应字段
- 卸载——两步确认防误触;本次会话装的插件即点即卸
- 热禁用 / 启用——开关会往 profile 的
cordis.patch.yml(官方补丁层,机制移植自 dsh-plugin-hub)写入- id: …+disabled: true|false:DSH 的 HMR 约 1 秒内重新组合,无需重启,loader 每次启动都会重新应用这个选择;手工改过的补丁行会显示成徽标,宿主基础设施插件禁止开关,补丁文件格式不对时绝不会被写得更糟 - 按需重启——无法热加载的变更会在待重启提示旁显示一键重启;操作仅接受本机同源请求
- 零术语——缺组件(pnpm)时市场自己发现、一键自动装好,全程不见命令行
- 导出日志——一键生成脱敏纯文本日志方便反馈(home 路径与密钥形状已打码;任何数据都不会被上传)。市场版本号就在标题旁边,截图反馈时自带版本信息
- 设置卡片——dsh 0.1.0-rc.7 起,市场在 设置 → 插件 → 插件配置 里管理它自己,和其它插件并排:看当前版本、选择更新通道(稳定版,或 Beta 抢先试用还在验证中的版本——只影响市场自己,不影响你装的其它插件;打开开发者模式后还会多出「开发版」通道,直接取开发分支上的构建)、更新、或者移除市场。移除时可勾选一并清理——包括市场写进补丁层的停用行,被它关掉的插件会恢复运行,而不是保持停用却再没有界面能打开它们
- 诊断——插件加载顺序与冲突一页看全:bundle 栈(官方/社区徽标)、重复的 loader 条目、依赖版本不一致、核心包多版本共存、覆盖项与非法配置条目。术语说人话,问题块高亮,全部可折叠
- 加载顺序——拖拽调整社区 bundle 的顺序,或直接采用按插件自身 before/after 规则推导出的建议顺序。写入前先跑一次静态组合校验,通过才落盘;应用之前面板会告诉你这个顺序会改变什么(多少处覆盖、多少无效或重复条目)
- AI 修复——一键把诊断结果生成的修复 prompt(错误/警告/顺序冲突 + 保守的改动范围约束)复制到剪贴板,你粘进新对话,自己决定发不发。提示词会先让 Agent 判断自己是不是就是这个 profile 所在的 harness——若是,则严禁改动运行中组合、升级/重启 harness 或核心包、重装依赖,而是让它生成一份幂等的
apply修改脚本和一份rollback回滚脚本,由你在外部终端执行并把输出拷回给它
速度
安装依次优先使用经仓库验证的 npm 包、作者提供的 GitHub Release 预构建 tarball,最后才回退到整仓 GitHub 源码下载。预构建安装通常只需数秒且无需执行本地构建脚本;仅提供源码的插件仍取决于你到 GitHub 的网络。
安全
只允许安装已加载目录中的目标;GitHub 发现条目还须具有通过检查的发布包,仅源码条目不能安装。
构建脚本默认禁止执行(pnpm ≥10),放行与否由你按包显式决定
终端/命令行类插件装进网页版前会被明确提醒
安装接口只接受同源 POST;市场不会向任何地方上报数据
备份可能包含 profile 配置里的密钥——导出与上传前 UI 会明确提醒;WebDAV 同步仅限 https、拒绝内网地址,且密码永不落盘浏览器
重启接口还要求客户端直接来自环回地址(拒绝代理转发请求),并使用原入口、参数、环境和工作目录重新启动 DSH
一键重启会启动脱离终端的替代进程。当本进程就是 systemd 服务的主进程时,按钮会自动隐藏——否则市场重启会连带杀掉 cgroup 里的接管进程,服务起不来,待重启提示会说明原因。判定要求「systemd 标记」和「本进程是该 unit 的主进程」同时成立:
INVOCATION_ID会被 unit 的所有后代继承(包括普通终端),只看它会误伤一大批本来能正常重启的机器。pm2 和 launchd 不做检测,这类部署需要下面的显式配置。两种做法:在设置 → 插件 → 插件配置里关掉「允许重启」,或者写进 profile 补丁——注意必须嵌在config:下面,因为 loader 只把这个子对象传给插件,写在顶层会静默失效(#227,感谢 @Fantasymax):- id: dsh-market name: aiko-dsh-market config: allowRestart: false # 不要和 `name:` 并排写在顶层生效后
GET /dsh-market/status会返回"restart": false。从终端启动时,替代进程脱离原终端,关闭原终端后仍会继续运行
收录 ≠ 背书:插件是第三方代码,请只安装你信任的来源
提交你的插件
这个仓库维护市场应用。 精选条目请提交到 awesome-dsh-plugin。GitHub 上带有 dsh-plugin Topic 的仓库也会成为可选社区发现源的候选项,采集和发布包检查决定其展示与安装状态。插件条目应提交到相应目录仓库。
路线图与反馈
- Bug 提 issue,附上市场页面的「导出日志」能让排查快十倍
- 功能建议放 Roadmap。issues 只留「坏掉的东西」,所以提成 issue 的建议会被移到那边并关闭;讨论仍留在你写的地方
- 路线图上的每一项都欢迎社区 PR——动手前在对应条目里说一声,免得两个人重复造
数据源
每次打开都实时请求 awesome-dsh-plugin.com/plugins.json——精选条目、npm 映射、star 数由 CI 每日刷新,不使用过期缓存兜底;连不上时会给出具体原因和耗时,并提供「重试」按钮。
刻意不做本地快照兜底:目录每天都在增长,过期的答案不是「差一点」而是「错的」——今早刚发布的插件会显示成「不存在」。
如果你的网络访问不了这个域名,可以改指到镜像:在 dsh 运行的环境里设置 DSHM_REGISTRY_URL,指向任何提供相同 plugins.json 结构的地址:
DSHM_REGISTRY_URL=https://your-mirror.example/plugins.json dsh web如果希望保留官方目录,同时加载组织自己的必需目录,请配置市场 Bundle。 目录按仓库 URL 合并;后加载的目录可以更新同一仓库的展示信息,但同名插件不能指向不同仓库:
- id: dsh-market
name: aiko-dsh-market
config:
additionalRegistryUrls:
- https://raw.githubusercontent.com/your-org/dsh-plugin-catalog/main/plugins.json组织目录可以用 requires 声明其他目录条目的仓库 URL。市场会先安装这些依赖,在插件卡片中显示依赖关系,并在仍有已安装插件依赖时阻止卸载基础插件。
友情链接
DSH Desktop(dataelement)
dsh-desktop——DeepSeek Harness 桌面客户端:无需自装 Node.js 即可运行和管理本地 Harness,并默认预置本插件市场。dshdesktop.com
DeepSeek Harness Desktop(hairyf)
deepseek-harness-desktop——基于 Tauri(Rust + Web)构建的 DeepSeek Harness 原生桌面客户端:一键本地安装并启动,无需自装 Node.js;首次启动可选择安装本插件市场作为推荐插件。
DeepSeek Harness Desktop(anywhere-labs)
deepseek-harness-desktop——基于 Electron 的 DeepSeek Harness 桌面客户端,理念是「万物皆插件,桌面本身也是插件」:支持 profile 切换、内置 Node 与 pnpm,安装前会先给 profile 拍快照以便回滚。dshdesktop.cn
DSH App
dsh-app——基于 Tauri 2(而非 Electron)的 DeepSeek Harness 桌面客户端,因此安装包小得多,界面走系统 webview。AGPL-3.0。
Local DSH
local-dsh——可以把模型跑在本机的 DeepSeek Harness 桌面客户端:发行包内置 llama.cpp 与 Node、pnpm、DSH,下载一个 GGUF 模型就能对话,不必接外部 API。基于 Tauri 构建;目前支持 Apple 芯片的 Mac。localdsh.com
DSH Get
DSH Get——DeepSeek Harness 插件的网页检索目录:分类筛选、中英描述、安装命令与插件详情页;其规范化的目录快照公开在 bobby-sheng/dshget-data。
modlens
modlens——全网第一个 DeepSeek Harness 视觉插件,为 DeepSeek、GLM 等纯文本模型外挂视觉能力,粘贴图片即得结构化 JSON 证据(OCR、版面、语义)。本市场内即可直接安装:
dsh plugin --profile web add @liustack/modlensAiko 发布方式
Aiko 后续开发在私有仓库 aiko-dsh-plugins/dsh-market-source 中进行。公开 npm 分发插件制品及目录内容。新安装包包含运行所需的 JavaScript 和类型声明,不再附带 TypeScript 源文件或 source map;运行时 JavaScript 仍可查看。发布时将验证过的安装包上传到 npm,私有源码提交保留在私有仓库。
许可
MIT · dshmarket.com
