前言¶
在给 DSH(DeepSeek Harness)开发插件时,最大的障碍往往不是功能本身,而是不知道该把 UI 元素放在页面的哪个位置。这个插件把 DSH 提供的 43 个可插入位置全部实装了一遍:每个入口都长在真实的 UI 位置上,并且都带注册代码,点击即可看到“这里该怎么注册”。
插件维护者 xiguazhiPrince。
插件定位¶
这是一份接口图鉴和演示集合,把 100 个 Slot、98 个 Host Service、76 个 Host Event 和 6 个 Factory 的接口信息、注册代码和实际效果集中展示,同时把 43 个可注册的 Slot 在真实 UI 位置上做成了入口。
核心功能¶
43 个可注册 Slot 的真实位置演示¶
插件在 43 个可注册的 Slot 位置上各插入了入口。每个入口的标题为 图鉴demo · <slot-key>,例如 图鉴demo · conversation.view、图鉴demo · conversation.session.header.utilities。点击这些入口会通过 shell.overlay 弹出该 Slot 的完整说明、注册代码和实时效果。
15 个保留 Slot 位置¶
插件在以下 15 个已有 UI 的位置做了演示:
conversation.view:会话顶部 View 标签栏多一个 tabconversation.session.header.utilities:会话右上角多一个按钮sidebarRightTabs.register+sidebar.right.pane.tab:原生 DSH 右侧栏多一个 tabconversation.composer.dock:输入框下方多一个常驻 chipconversation.input.left:composer 工具行左侧多一个小按钮conversation.input.right:提交按钮前多一个小按钮conversation.chat.assistant-actions:每条已完成的 assistant 消息旁多一个动作conversation.chat.turnTail:每轮完成后的 action row 之前多一行sidebar.session.row.leading:侧栏每个 Session 行的最前面多一个 14px 徽标sidebar.footer.action:侧栏底部 Settings 旁边多一个动作settings.section:Settings 左侧导航多一页settings.general.item:Settings → General 的偏好行里多一行settings.plugins.tab:Settings → Plugins 的 tab 列表多一个 tabshell.overlay:所有入口点击后的详情弹层和 Toastconversation.hero.options:New Session 空状态的 Hero 行右侧多一个选项
A-新增 18 个 Slot¶
插件在以下 18 个新增位置做了演示:
settings.models.footer:Settings → Models 里 provider 行/add 控件之后多一行settings.action:设置内容列 header 多一个紧凑按钮sidebar.workspaces.session.menu.item:侧栏 Session 的“…”菜单里多一行sidebar.workspaces.session.row.action:hover Session 行时“…”之后多一个 24px 按钮sidebar.session.row.hover:Session hover 卡里多一行plugins.tab:Settings → Plugins 页多一个 tabplugins.item:Plugins Official 列表里多一张 plugin 行plugins.detail.actions:Plugins 详情页 header 多一个按钮plugins.detail.badge:Plugins 详情页标题旁多一个标签plugins.detail.section:Plugins 详情页下方多一块说明区conversation.session.header.actions:会话标题旁多一个按钮sidebar.right.tab.files.actions:右栏 Files tab 工具栏多一个按钮sidebar.right.tab.document.actions:右栏文档预览工具栏多一个按钮sidebar.right.tab.menu.item:右栏 tab 的“…”菜单里多一行sidebar.right.pane.tab.title(keyed):图鉴右栏 tab 的 chip 标题变成自定义样式deliverables.file.actions:完成 Turn 的尾行多一个链接conversation.input.overlay:composer 卡内多一个浮动 chipconversation.input.dock:composer 卡上方多一行通栏条目
C 子集 10 个 Slot¶
插件在以下 10 个少见状态位置做了演示:
settings.onboarding:只有 onboarding 流程挂载时出现plugins.add.actions:只有 bundle 安装完成后的状态出现sidebar.right.tab.document.unpreviewable:只有打开一个不可预览文件时出现deliverables.review.file.actions:只有 changed-file review tab 存在时出现conversation.plan-review.actions:只有 plan 正在 review 的瞬时状态出现main.chat.view:主面板 chat 视图main.chat.view.dock:主面板 chat 视图 dockmain.chat.view.list:主面板 chat 视图 listmain.chat.view.detail:主面板 chat 视图 detailmain.panellist:主面板 panellist
全量接口图鉴¶
插件提供了以下接口的完整图鉴:
- 100 个 Slot,其中 57 个不可注册,每个都写明了原因
- 98 个 Host Service
- 76 个 Host Event
- 6 个 Factory
目录见 docs/interface-catalog.md。
意图索引表¶
插件提供了一个对照表,左边是“你想做的功能”,右边是“该注册的接口”以及“本插件里的实况”:
| 你想做的事 | 该注册的接口 | 本插件里的实况 |
|---|---|---|
| 在输入框旁加个按钮 | conversation.input.left / conversation.input.right |
输入行左右各一个「图」小按钮 |
| 在输入框上加常驻提示 | conversation.input.dock / conversation.composer.dock |
两种都在图里,一眼看出区别 |
| 给会话加一整页新 tab | conversation.view |
顶部 View 标签栏多一个 tab |
| 在消息旁加操作 | conversation.chat.assistant-actions / conversation.chat.turnTail |
每条完成的 assistant 消息旁 / 每轮结束后一行 |
| 加设置页或设置行 | settings.section / settings.general.item / settings.plugins.tab |
Settings 左侧导航多一页、General 多一行 |
| 加右侧栏 tab | ctx.sidebarRightTabs.register(tab 类型)+ sidebar.right.pane.tab(body) |
不是单靠 Slot:先注册类型,再按 key 渲染 body |
| 在侧栏 Session 行加东西 | sidebar.session.row.leading / sidebar.workspaces.session.row.action / sidebar.workspaces.session.menu.item |
14px 徽标 / hover 按钮 / 「…」菜单项 |
| 加全局弹层或 Toast | shell.overlay |
所有小入口点开的详情弹层都在这里 |
| 加「+」菜单或斜杠命令 | ctx.commandUi.register(Service,不是 Slot) |
composer 的「指令」分组里多一项 |
| 在插件详情页加区块 | plugins.detail.section / plugins.detail.badge / plugins.detail.actions |
详情页下方说明区、标题旁标签、操作按钮 |
安全边界¶
插件只注册 list / 自家 key 的 keyed Slot,不注册 single、chain、fixed-key、owner-dispatch-only key,也不替换任何内置 UI。57 个不可注册的 Slot + 6 个 Factory 保持不注册。
分类依据¶
分类依据见 docs/slot-classification.md。
安装与启用¶
安装命令如下:
dsh plugin add github:xiguazhiPrince/dsh-plugin-api-gallery
插件会在 43 处真实位置插入入口,建议安装在测试 profile。
典型用法¶
- 安装插件后,在 DSH 界面中找到以
图鉴demo · <slot-key>为标题的入口。 - 点击这些入口,通过
shell.overlay弹出该 Slot 的完整说明、注册代码和实时效果。 - 使用 Ctrl+F 搜索 slot key,快速定位到具体位置。
- 查看意图索引表,找到你想做的功能对应的注册接口。
- 查看全量接口图鉴,了解所有 Slot、Host Service、Host Event 和 Factory 的信息。
适用场景与注意¶
适合 DSH 插件开发者使用,帮助快速定位 UI 插入位置、确认接口是否存在、了解注册方式。
插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
总结¶
这个插件把 DSH 提供的 43 个可插入位置全部实装在真实 UI 位置上,每个入口都带注册代码,点击即可查看。同时提供了 100 个 Slot、98 个 Host Service、76 个 Host Event、6 个 Factory 的完整图鉴,帮助插件开发者快速定位 UI 插入位置、确认接口是否存在、了解注册方式。
目录页:https://www.skillhub.cn/plugins/xiguazhiPrince/dsh-plugin-api-gallery
GitHub:https://github.com/xiguazhiPrince/dsh-plugin-api-gallery