dsh-flow:把 DSH 的动作改回直觉

前言

DeepSeek Harness (DSH) 的核心设计理念是「一切皆插件」。在插件化的生态中,dsh-flow 作为一个心流优先的插件,主要解决的是 DSH 中那些「明明该顺手、却总要绕一步」的动作摩擦。它通过调整交互细节,将动作方向回归直觉,帮助用户在对话和开发流程中减少打断。

核心功能

该插件由开发者 d0ublecl1ck 维护,采用 MIT 许可证。它通过修改交互逻辑,提供了以下功能:

1. 定位当前会话

在侧栏会话过多导致难以定位时,可以通过快捷键快速回到当前正在聊的会话。
* 触发方式:点击侧栏标题行的「准星」按钮,或使用快捷键 ⇧⌘D(macOS)。
* 行为:插件会自动展开所属分组、处理溢出滚动,并将当前会话定位到视口并短暂高亮。

2. 复制会话 ID

快速获取当前对话的 ID 用于后续操作或调试。
* 触发方式:在侧栏会话行上点击右键,选择「复制会话 ID」;或使用快捷键 ⇧⌘C(macOS)/ Ctrl+Shift+C(Windows/Linux)。
* 提示:复制成功后,顶部横幅会提示当前 ID。

3. 行内代码右键菜单

在对话正文中,针对行内代码提供右键操作,避免误触打开文件。
* 触发方式:在对话正文里的行内代码上点击右键。
* 功能:弹出菜单提供「打开」和「复制」。其中「打开」支持系统默认应用或已安装的 IDE。注意:仅对话正文里的行内代码有效,多行代码块、输入框内的代码或链接文字不触发此菜单。

4. 链接用系统默认程序打开

解决链接被关进内置窗口无法使用的问题,支持 localhost。
* 触发方式:直接点击链接。
* 行为:链接会交给系统默认程序打开(包括 http://localhost),而非 DSH 的内置窗口。
* 限制:不要同时安装 dsh-external-link 插件,否则链接会被打开两次。

5. 换行与发送对调

调整输入习惯,将 Enter 改为换行,将 ⌘/Ctrl+Enter 改为发送。
* 触发方式:在输入框内按 Enter 换行,按 ⌘/Ctrl+Enter 发送。
* 设置:此功能默认关闭,需在设置 → 心流 → 「⌘+Enter 发送」中开启。

6. 切换发过的消息

在空草稿状态下,快速回填之前发送过的消息。
* 触发方式:输入框为空时,按 ↑ 往前翻,按 ↓ 往回走。
* 行为:按 ↑ 会将最近的一条消息填入输入框,图片会重新粘回。继续按 ↑ 会加载更早的历史消息。

7. 工作区名显示与 Otty

优化工作区相关的打开操作。
* 显示工作区名:在标题行「打开」按钮的图标左侧直接显示当前工作区名称。
* 加入 Otty:在「打开」按钮的下拉菜单末尾添加 Otty 选项(仅支持 macOS)。点击该选项会调用 otty-cli open 在新窗口打开当前工作区目录。

安装

本插件没有 npm 包,必须通过仓库目录安装。

dsh plugin --profile web add /absolute/path/to/dsh-flow

安装完成后,刷新页面即可生效。

使用示例

  1. 定位与复制:在侧栏按 ⇧⌘D 快速定位当前会话,按 ⇧⌘C 复制其 ID。
  2. 处理代码与链接:在对话中看到行内代码路径,右键选择「打开」或「复制」。直接点击链接,在系统默认浏览器(或终端)中打开。
  3. 调整输入习惯:开启「⌘+Enter 发送」设置后,在输入框内按 Enter 换行,按 ⌘Enter 发送。
  4. 使用消息历史:输入框为空时,按 ↑ 将上一条发送过的消息拉回,修改后再次发送。
  5. 工作区操作:点击标题行「打开」按钮,在菜单中选择 Otty 打开当前目录。

注意事项与安全边界

  • 依赖冲突:切勿同时安装 dsh-external-link,否则链接处理逻辑会冲突。
  • 平台限制:Otty 功能仅支持 macOS。行内代码右键菜单仅支持对话正文中的行内代码。
  • 安全限制:外部链接打开通过宿主路由 POST /flow/open-external 实现,URL 长度上限为 8192,请求体上限为 16KB。

参考资料

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜