Skip to content

6.2 插件 ​

本节目标

搞清楚 dsh 里管理插件的入口:侧栏插件页管安装、启停和配置,设置里的内置插件页看只读清单。

管理插件的入口在哪 ​

0.1.6-alpha.2 起,插件管理整体搬了家,记住两句话:

  • 要动手(装、关、开、配),去侧栏的插件页
  • 只想看(部署里随附了哪些插件),去设置的内置插件页

设置面板里的内置插件分区现在是纯只读清单:列出本部署随附的全部插件,让你核对有什么、状态正不正常,不能在这里改行为。

插件设置页

侧栏插件页:插件的「应用管理器」 ​

打开左侧栏的插件入口(它是全局页面,不属于某个会话),页面分两组:

  • 官方:排在前面。一类是安装随附、默认关闭的官方组合包,带实验性标签,比如智能体团队、自动授权审查(由模型在每次工具调用前判断是否授权的自动审查权限模式)、语音输入(本机 SenseVoice 转写,首次使用需安装依赖),0.2.0-rc.1 起还有自动化任务(定时提醒,见 4.11 节),开关一打就启用,但不提供卸载;另一类是开放了配置页的官方插件(终端、Agent 循环、子智能体、网页搜索),每张卡片点开就是它自己的配置表单
  • 已安装:当前 profile 里装着的组合包,按名称排序,可启停、可卸载(卸载要求确认)

每张卡片极简:名称、一句话简介、开关;点进组合包详情页能看到完整 npm 包名和它包含的插件行,每行有自己的开关。拨动开关会写入 profile 的组合包层或 cordis.patch.yml 的行覆盖:开了 HMR 的部署立即重组生效,页面不用刷新;没开 HMR 或被更高层覆盖的变更会弹 toast 说明。某个行被其他行依赖时,关掉它前会先问你。

有的组合包行上没有开关

0.2.0-rc.1 起,部分官方组合包(比如自动化任务)声明了行随组合包整体开关:它包含的插件行不再有各自的开关,组合包的开关就是唯一控制,详情页里这些行会标成随组合包启停、只读。看到行上没开关不是坏了,是它被设计成打包开关的。

在插件页配置官方插件 ​

原来散在设置里的插件配置区,现在以配置页的形式长在插件页里。部署组装了哪个插件,它的卡片就出现哪个,常见的是这四个:

插件控制什么可调参数
终端(bash)agent 跑命令的边界命令超时、命令输出上限
Agent 循环agent 一步能并行派发几个工具调用最大并行工具调用数
Subagent委派的深度与并发、子代理模型最大递归深度、并行数量上限、模型选择
网页搜索DeepSeek 搜索提供方API 密钥

逐个说关键的:

终端(bash):给 agent 的命令执行兜底,卡片里有两个参数:

  • 命令超时:单条命令最长执行多久,超过自动中断。默认 120000 毫秒(2 分钟)。跑长任务(构建、测试)时可以调大
  • 命令输出上限:一条命令的输出最多保留多少字节,防止输出刷屏把对话上下文撑爆。输出超出的部分会被截断

注意:它管理的是执行边界(超时和输出),不是命令白名单。agent 能跑什么命令由沙箱权限管(7.2 节)。

Agent 循环:控制 agent 一步内能并行派发多少个工具调用:最大并行工具调用数默认 10,即一步可以同时跑 10 个工具(比如并行读多个文件)。设成 1 就是串行,一个干完再干下一个,最稳但慢;调大更快但更激进。

Subagent:委派限制和模型选择放在同一页、共用一个保存按钮,详见 4.7 节。

网页搜索:DeepSeek 的搜索提供方,API 密钥默认复用你配置的 DEEPSEEK_API_KEY(1.1 节那个),一般不用动;想单独指定一个搜索专用密钥也可以在这里填。

配置页的编辑规则是草稿制:控件里改的都是暂存值,点保存才真正写入,离开页面草稿丢弃;保存失败会保留草稿让你改,不会悄悄覆盖别人的并发修改。

第三方插件的配置也在这

第三方组合包如果注册了配置页,配置就渲染在它自己的组合包详情页或行页面上,跟着组合包开关同生共死:关掉组合包,配置页一起消失。

安装一个新插件 ​

插件页点添加插件,输入框接受包名(可带版本)、Git 地址、压缩包或本地绝对路径。不知道填什么,展开输入框下方的**不知道该填什么?**有三种常见形式的示例,一键填入。

流程是先检查再安装:

  1. 点安装后 Host 先读出这个 spec 指向什么:名字重复、注册表查无此包、路径不对、包里没有组合包内容,都会以一句话打回输入框让你改
  2. 通过检查进入安装界面,显示读到的包名、简介和版本,pnpm 的命令和输出折叠在查看安装详情里
  3. 装完提供立即启用:一键启用新包并滚到列表里它的位置;直接关掉则保持已安装但未启用

出错也有交代:注册表不可达、包不存在、磁盘满、profile 不可写、pnpm 拦下构建脚本,各自有一句人话说明,重试就在手边;pnpm 因为依赖的安装脚本罢工时,可以点允许这些脚本并重试,授权会写进 profile 的 pnpm-workspace.yaml。安装过程中随时可以取消安装,Host 会把 profile 文件恢复原样。

从哪个 npm 源下载:0.1.7-alpha.2 起,安装流程里会问一步安装源,三选一:

  • 默认安装源:官方 npm 仓库 registry.npmjs.org
  • 中国大陆镜像源:registry.npmmirror.com,检测到中国大陆网络出口时默认选中它
  • 自定义地址:公司内网或私有 npm 源;需要登录的源,把凭据放在本机的 ~/.npmrc 里

GitHub 类安装失败时,也会提示改用镜像重试,不用自己折腾代理。多个注册表轮流询问,哪个先响应就用哪个,并记住你的选择。

不止市场里的插件

除了 9.1 节图形化市场里装的社区插件,dsh 还有一些官方可选 Profile 包不在市场货架上,比如把 Codex、Claude Code 接成子代理的能力包,装法和用法见 4.7 节。

插件和技能的关系 ​

你可能会问:插件和 4.3 节说的技能告诉 agent 如何完成某类任务的说明书,在会话里用斜杠命令调用。Skill/skɪl/(Skills)是一回事吗?

不完全一样,理解成两层:

  • 技能告诉 agent 如何完成某类任务的说明书,在会话里用斜杠命令调用。Skill/skɪl/是给 agent 用的"说明书",告诉它怎么完成某类任务
  • 插件是能力的"零件",技能、工具、界面组件都是通过插件装配起来的

技能在会话一次独立的对话记录,有自己的上下文,互不干扰。Session/ˈseʃn/里用斜杠 / 调用,插件在侧栏插件页管理,它们是 dsh 插件体系的两个侧面。技能怎么用、怎么装、怎么写,在 4.3 节专门讲。

常见问题 ​

问:插件装在哪、怎么装新的?

用侧栏插件页的添加插件装(见上文),或者命令行 dsh plugin --profile web add <包名>(7.1 节)。安装和编写插件属于进阶内容,Part 9 专门讲插件生态。

问:改插件配置有风险吗?

核心插件(终端、Agent 循环)改不好会影响 agent 的正常工作。新手建议先只看不动,熟悉了再调。

问:为什么我在插件页看不到某些随附插件?

插件页只管理组合包;profile 依赖里没有组合包内容的普通包不上页面,只读的完整清单去设置里的内置插件页看。

小结 ​

  • 0.1.6-alpha.2 起插件管理集中在侧栏插件页:官方组合包 + 已安装组合包,装、开、关、卸、配一站搞定
  • 设置里的内置插件页只保留只读清单
  • 官方插件配置页长在插件页里:终端、Agent 循环、Subagent、网页搜索,草稿制保存
  • 添加插件先检查后安装,pnpm 拦脚本可授权重试,装完一键启用
  • 技能是"说明书",插件是"零件",两者是插件体系的不同侧面

插件认识完了,下一节选一个 Agent 预设,让会话带角色干活。

发现错误?提交反馈 · 欢迎 提 PR 改进本书