前言¶
在使用 DeepSeek Harness(DSH)开发或调试会话时,切换模型通常需要滚动菜单或依赖工具提示,查看当前生效的模型提供商并不直观。此外,从消息区复制文本并希望在输入框中直接以代码块形式引用,往往需要手动格式化。dsh-session-plus 是一款针对这两项操作优化的客户端插件。
功能说明¶
1. 模型选择菜单增强¶
在模型选择菜单顶部增加一行实时显示的说明,解决切换模型时忘记当前提供商的问题。
* 实时展示:菜单打开期间订阅会话模型目录,切换模型或提供商后,头部说明行即时更新。
* 显示名优先:优先显示模型目录中的提供商显示名;若目录缺失,则回退显示原始 provider id;未加载时显示占位符「—」。
* 只读无干扰:纯展示内容,不改变菜单的滚动、导航或交互行为。
2. 选中文本快速插入¶
在聊天页或侧边栏选中文本后,通过悬浮按钮将其转换为代码块并插入输入框。
* 触发位置:仅在聊天页消息区以及 better-sidebar 右侧边栏生效。输入框、侧栏其他区域或设置页不触发。
* 悬浮交互:选区上方居中弹出「添加至对话」按钮。若顶部空间不足,按钮会自动翻转到下方。
* 插入逻辑:点击后,文本被包裹在 Markdown 代码块(三个反引号)中插入输入框开头。原有草稿保留在代码块后,且插入结果末尾会自动保留一个空行,便于后续直接续写。
* 隐藏机制:点击外部、按下 Escape、选区折叠、滚动消息区或滚动停止且选区重新入屏时,按钮会自动隐藏。
安装与启用¶
本插件以本地链接方式安装,安装后需重启 dsh web 进程。
# 进入插件目录并安装依赖
cd <absolute-path-to-plugin> && pnpm install
# 使用本地链接安装插件
dsh plugin --profile web add dsh-session-plus@link:<absolute-path-to-plugin>
# 重启 DSH Web 客户端使配置生效
npm exec @deepseek-ai/dsh web
使用场景与注意¶
- 适用范围:插件主要服务于需要频繁切换模型以对比不同提供商效果的场景,以及需要快速将上下文文本转化为代码块进行分析的场景。
- 版本变更:自 v0.4.0 起,本插件移除了「打开工作区」功能。DSH 0.1.5-rc.1 已内置更完善的 Open In… 按钮(会话页头部右上角),本插件不再重复提供该能力。
- 渲染限制:代码块围栏固定为三个反引号。若选中的文本本身包含三个反引号,可能会影响 Markdown 的正常渲染。
- 交互限制:按钮为纯展示组件,不可交互、不可聚焦,不会阻挡鼠标事件。
结语¶
dsh-session-plus 通过在模型菜单增加状态展示和在选区增加快速插入功能,简化了 DSH 中的常规操作流。对于需要精细控制模型调用和上下文输入的用户,该插件提供了直接的辅助。项目源码与更新日志可参考 GitHub 仓库。