dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DSH 会话消息导航插件:独立的用户消息导航栏。 / Standalone session message navigation rail for the DSH conversation view.
ui-message-nav 是独立的“会话消息导航”插件,从文件浏览插件中提取并重新设计,专注于为会话对话视图提供用户消息导航能力。它根据会话中的用户消息数量生成垂直导航条,支持点击定位、当前消息高亮、悬停预览和自动加载更早消息。
如果你已安装 dsh CLI,可以按项目官方教程使用 dsh plugin 命令安装:
# 从本地插件目录安装
dsh plugin --profile web add C:/Users/<user>/.dsh/plugins/ui-message-nav
# 或从 GitHub 仓库安装
dsh plugin --profile web add github:xiyue718/dsh-ui-message-nav
安装后启动:
dsh --profile web
查看组合配置:
dsh --profile web --dump-config
详细命令说明见项目文档:docs/user/develop/basic/publish.md。
构建产物:host 为自包含的 lib/index.js,client 为 lib/client.js,打包文件为 dsh-external-ui-message-nav-0.1.0.tgz。
安装前先构建一次:DSH_CHECKOUT=<dsh 源码 checkout> bash scripts/build.sh。官方渠道把插件装进 profile 后,宿主只从插件自身目录解析运行期依赖,所以 host 半由 tsdown 打包成自包含模块(内联 schemastery、zod 与 @deepseek-ai/dsh-* helper);未打包的 lib/index.js 会让该行以 failed to import 停用。
插件支持通过 profile bundle 装配时的 config 传入配置。未配置时自动使用默认值。
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
position | 'left' | 'right' | right | 导航栏显示在对话视图左侧或右侧 |
previewMaxLength | number | 60 | 悬停预览最大字符数 |
autoLoadOlder | boolean | true | 是否在滚动到顶部时自动加载更早消息 |
autoLoadThreshold | number | 40 | 触发自动加载的顶部距离阈值(px) |
showPreview | boolean | true | 是否显示悬停消息预览 |
activeColor | string | 蓝色 token | 当前消息高亮颜色 |
idleColor | string | 灰色 token | 非高亮图标颜色 |
barWidthActive | number | 6 | 高亮图标宽度(px) |
barWidthIdle | number | 4 | 非高亮图标宽度(px) |
barHeightActive | number | 20 | 高亮图标高度(px) |
barHeightIdle | number | 12 | 非高亮图标高度(px) |
配置示例(cordis.yml / bundle entry):
- id: ui-message-nav
name: '@dsh-external/ui-message-nav'
config:
position: right
previewMaxLength: 60
autoLoadOlder: true
autoLoadThreshold: 40
showPreview: true
activeColor: 'var(--dsw-alias-state-info-primary, #4a90d9)'
idleColor: 'var(--dsw-alias-label-tertiary, #999)'
barWidthActive: 6
barWidthIdle: 4
barHeightActive: 20
barHeightIdle: 12
GET /@dsh-external/ui-message-nav/api/config
GET /@dsh-external/ui-message-nav/api/status
插件由 host 和 client 两部分组成。
Host 侧只提供轻量 API:/api/config 返回当前配置,/api/status 返回健康状态。所有消息导航逻辑都在 client 中完成。
Client 侧识别会话对话视图中的用户消息 DOM,为每条用户消息生成一个导航长条;通过监听滚动位置确定当前正在查看的消息并高亮对应图标;点击图标时滚动到对应消息;滚动到顶部且达到阈值时触发“加载更早消息”。导航样式、颜色、尺寸和预览行为都来自插件配置。