description: "dsh Web 客户端的「插件」设置分区:功能自有的标签页、可配置宿主平面插件卡片,以及 settings.plugin.item 扩展点。"
English | 中文
使用插件设置分区可以配置当前部署公开的插件,也可以打开插件功能自己的页面。插件配置标签页会为每个受支持的插件展示一张可展开卡片,标明用户覆盖过哪些值,并允许用户将它们重置为部署默认值。卡片会在本地保留修改,直到用户保存。如果配置在卡片加载后发生变化,保存会被拒绝,而不会覆盖较新的值。
打开设置中的「插件」分区并选择插件配置标签页,即可编辑本部署所组装的宿主平面插件。卡片依次为 shell 执行器(bash)、agent loop(智能体循环)的工具调用并行度(agent-loop)、subagent 模型选择(subagent-model-selection)以及 DeepSeek 搜索提供方(web-search-deepseek)。
标签页读取 Host 服务了哪些 settings 命名空间,并为每个命名空间派发一个 slot 键,因此渲染出来的是两份账本的交集:存活 Host 插件注册的命名空间,以及注册在这些键上的卡片。被服务却无人认领的命名空间什么都不渲染;命名空间未被本部署服务的卡片根本不会被派发。空态文案要等 Host 的第一次答复,因此一次尚未答复的读取绝不会被读成「本部署没有可配置的插件」。
卡片暂存用户输入,只有用户保存时才写入。每个控件渲染的都是暂存文本,因此屏幕上所见即保存后所存;放弃修改丢弃这些草稿,持有未保存修改的卡片即使收起也会在标题上标明。保存成功后,卡片会在回读确认写入后收起;保存失败时,卡片保持展开、报告失败并保留草稿供用户修改。重置暂存的是组装默认值而非立即写入;字段不接受的草稿会阻塞保存,而不是被丢弃。某个值是否被接受只有 Host 说了算。
subagent 卡会同时暂存其权限开关与精确模型复选框。启用时必须至少选择一条适配器路由。保存会在一次 mutation 中提交 enabled 与 allowedModels,并以草稿开始时的 revision 设栅;Host revision 更新后,草稿会标记为失败,而不会恢复已撤销的路由。关闭时会保留已选路由供以后重新使用。可用模型按提供方分组;当前目录中缺失的已存路由排在末尾,且仍可移除。适配器名称与模型描述仍属于实时目录元数据,不会存储;适配器变化、设置提交和重连后,卡片会刷新这些元数据。
密钥控件初始为空、只报告是否已配置,并经由 credentials 领域而非 settings 分节写入;空草稿不写入任何东西,保留已存密钥。
以下页面覆盖设置底座、清单标签页与卡片背后的持久化 seam。
settings.plugins.tab 与 settings scope 的领域底座。无。该包是浏览器端设置界面,不注册任何面向模型的接口。
无;该包既不组装也不发送提供方请求。
这些限制定义哪些插件会出现、列表有多新鲜;它们是当前包约束。
agent.cordis.yml 中,且根本无法注册 settings 命名空间,因此本分区不会列出它。编辑那些值仍是 preset 编辑器的职责。dsh.client 包,而产出它的 clientBundle 预设位于 ../../../packages/client/tsdown.client.ts,并非已发布的包,因此本仓库之外的插件得自行复刻该构建。bash 命名空间,因为一个宿主只组装其中之一,所以被服务的 schema 随平台不同(PowerShell 多出 pwshPath),尽管卡片在两者下编辑的都是同样两个字段。运行时不变式: 不发布伴生入口。这是浏览器端设置界面,node half 不持有事件流或可变运行时数据;分层与写入拒绝是 Host 约定,由相应插件和 api-proxy 覆盖。