DSH Toolbox

DeepSeek Harness 插件

dsh 的插件就是一个装进 profile 的 npm 包;dsh plugin --profile <名字> add <包名> 负责装,其余交给 pnpm。

这一页讲两半:21 个官方包(16 个组成 profile,5 个是被这些包反复引用的公共库),以及按用途分组的 62 个社区插件。

profile 是一摞补丁层。dsh-base 是每个 profile 的第一层,dsh-web-app 和 dsh-headless 在它上面加一个界面。剩下的都是 seam:某一项能力的可替换点,比如文件系统、shell、沙箱。

社区那一半按它解决的问题分组:找插件、花费、会话、技能、搜索、外观、多 agent、远程访问、富输出、系统、定时任务、网络、数据、服务商、git 与编辑器、记忆。每张卡片点进去都有独立的安装命令和冲突说明。

装一个,或卸一个

插件管理会把参数转发给 profile 目录里的 pnpm,所以参数顺序和包名写法跟 pnpm 一样。

dsh plugin --profile web add @deepseek-ai/dsh-otel
dsh plugin --profile web remove @deepseek-ai/dsh-otel

三类包

bundle(dsh-base、dsh-web-app、dsh-headless)是补丁层,写在 dsh.profile.bundles 里。seam(dsh-fs、dsh-shell、dsh-sandbox、dsh-compaction、dsh-session)只提供一项能力,由需要它的 bundle 选走。共享库(dsh-home-paths、dsh-credentials、dsh-client-ui-primitives、@deepseek-ai/schemastery、@deepseek-ai/cordis)根本不是行:它们是前两类建在其上的依赖,所以从不单独安装,也不单独卸载。这里的 21 个,是能单独补进 profile 的 16 个包,加上值得各占一页的 5 个库;其余 @deepseek-ai 包是作为依赖被引用,不单独建页。

版本与兼容

插件通过 engines.dsh 或 DSH 的 peer 依赖声明自己兼容的 dsh 区间。运行版本不在区间内时,命令行会跳过这个插件并打印要求,而不是启动一个可能崩的组合。

官方包

共享库 (5)

Profile 包 (16)

找插件、装插件

花费与用量

会话与归档

技能管理

联网搜索

界面与外观

多 agent 协作

手机与远程访问

富输出

系统与终端

定时自动化

网络与代理

数据库与资产

模型服务商

Git 与编辑器

记忆

常见问题

插件装到哪?

装进 profile 目录:$DSH_HOME/profiles/<名字>,作为它 package.json 里的依赖。

同一个插件能同时装进两个 profile 吗?

能。每个 profile 有自己的 package.json 和 node_modules,互不共享。

插件不兼容会怎样?

会被跳过,并打印它要求的版本区间。可以升级插件,或用 dsh plugin allow-version 给这一对版本开精确豁免。