在 DeepSeek Harness (DSH) 的 Web 环境中处理多轮对话或调试 Prompt 时,有时需要快速引用或复用之前的消息内容。手动滚动查找或复制粘贴会打断操作流。该插件通过在 Web GUI 中引入方向键导航和悬浮历史面板,解决了这一场景下的效率问题。
功能定位¶
这是一个客户端插件,为每个会话自动添加一个浏览器端组件。它注册了一个悬浮在输入框上方的历史下拉框,并在输入框的工具栏中注册了一个时钟图标按钮。
核心能力¶
- 方向键导航
当光标位于输入框开始处时按下↑,打开历史记录列表(最旧在前);位于输入框末尾时按下↓,打开列表(最新在前)。列表范围从当前会话的对话快照中实时读取。 - 交互逻辑
打开列表后,继续按方向键可以切换记录。按下Enter接受选中的记录(保留输入框中的内容),按下Esc或点击列表外部取消并恢复到打开前的草稿状态。点击列表中的某一行可以直接跳转到该条消息。 - 列表展示
支持按日期分组(今天、昨天、更早),每行显示时间戳。长消息在列表中显示为 3 行截断预览,鼠标悬停可查看完整文本(通过浏览器原生title属性实现)。连续重复的消息会被折叠,列表最多保留最新的 500 条记录。 - 技术实现
插件为纯客户端 UI,不涉及主机端行为、持久化存储或网络请求。代码声明了dsh.bundle.patch,并直接分发lib/index.js和lib/client.js,无需构建步骤或额外的allowBuilds权限。 - 兼容性
历史记录的调用不会干扰输入框中原有的/或@菜单。输入框中的组合键(Ctrl/Cmd/Alt)以及中文输入法(IME)的编辑状态在触发历史记录前会保持不变。
安装与启用¶
该插件依赖 DeepSeek Harness 的 CLI 工具。
dsh plugin --profile web add github:wellorbetter/dsh-input-history
安装完成后,需要重启目标 profile(例如 dsh web 或 dsh --profile <name>)以加载插件。
典型用法¶
- 在任意会话中聚焦聊天输入框。
- 如果光标在行首,按下
↑;在行尾,按下↓。这会打开历史记录面板。 - 使用方向键或鼠标滚轮选择记录,按
Enter确认,或点击列表行直接跳转。 - 也可以直接点击输入框工具栏中的时钟按钮打开面板。
注意事项¶
- 使用前请确认本地已安装
dshCLI。 - 由于插件声明了
dsh.bundle.patch,安装时会自动合并到 profile 的 bundles 配置中。 - 插件不提供数据持久化,历史记录仅限于当前会话的对话快照。
该插件适用于需要在 Web GUI 中频繁查阅或复用历史上下文的开发者。更多细节及源码可参考其 GitHub 仓库。