dsh-inline-trigger:让 DSH Web 输入框在已有内容时也能用 / 和 @

前言

DeepSeek Harness(DSH)的 Web 输入框通过 / 和 @ 提供指令菜单和引用功能。原生触发规则只允许在输入框最前、空格之后或特定标点之后触发。在中文等非 ASCII 文字后直接输入 / 或 @ 时,菜单不会弹出,体验上会显得「只有空输入框时才有用」。dsh-inline-trigger 补上这一格,让这些边界情况下的触发变为可用。

是什么

dsh-inline-trigger 是一个 DSH 客户端插件,维护者为 xubin0628。它通过包装 DSH 的 InputTriggerController.track() 方法,在输入框已有内容时也允许用 / 唤起指令菜单、用 @ 唤起文件与会话引用菜单,包括紧跟在中文等非 ASCII 字符之后输入的情况。

核心能力

插件仅影响「是否判定为触发」这一步,已触发后的菜单选择、chip 插入、命令 claim、token 消费等均沿用 DSH 原生行为。生效范围包括但不限于:

  • 空输入框:/model、@会话(与原生一致)
  • 空格之后:hello /model、你好 @文件(与原生一致)
  • 非 ASCII 字符之后:你好/、总结一下/、参考@会话、你好,@文件
  • 保护场景:a@b.com、src/index.ts、https://example.com/@u 不会触发

触发规则一句话:/ 只在非 ASCII 文字后面放宽;@ 在除 ASCII 字母/数字/下划线、/、:、@ 以外的任意非空白字符后面放宽。

安装与启用

从 GitHub 克隆后安装(推荐):

git clone https://github.com/xubin0628/dsh-inline-trigger.git

然后在 DSH 会话里让 agent 安装该目录(替换为实际克隆路径):

plugin_manager install_bundle { target: "<克隆目录绝对路径>" }

或使用 CLI:

dsh plugin --profile desktop add link:<克隆目录绝对路径>

安装后插件出现在「设置 → 插件」里,页面会自动同步,无需重启。

典型用法

中文后输入 / 或 @ 即可触发菜单:

  • 你好/ → 弹出指令菜单
  • 总结一下/ → 弹出指令菜单
  • 参考@会话 → 弹出会话引用菜单
  • 你好,@文件 → 弹出文件引用菜单

在保持邮箱、路径、URL 规则不变的前提下,这些场景原本不会触发,现在可以正常唤起菜单。

可选配置:更激进的边界

默认模式(cjk)保留邮箱与代码路径保护。如果希望在「任何非空白字符后面」输入 / 或 @ 都弹菜单,在页面控制台执行一次:

localStorage.setItem('dsh-inline-trigger:mode', 'always');

然后刷新页面(或等待插件热重载生效)。代价是 a@b.com、src/index.ts 等也会触发菜单(https:// 协议里的 :/、// 始终不触发)。

适用场景与注意

适合需要频繁用 / 和 @ 与 DSH 交互的开发者与用户,特别是在中文输入、长句末尾需要引用文件或会话的场景。

本插件以当前 DSH 进程的权限运行,安装前建议查看源码与许可证。插件在 DSH 升级后可能会自动变成「什么都不做」的纯直通。

短结尾

dsh-inline-trigger 解决了 DSH Web 输入框在已有内容时无法触发 / 与 @ 的问题,尤其对中文输入体验友好。安装后即可在中文后直接使用指令与引用菜单。

  • 目录页:https://www.skillhub.cn/plugins/xubin0628/dsh-inline-trigger
  • GitHub:https://github.com/xubin0628/dsh-inline-trigger
羽毛球分组比赛记分
小程序二维码

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

Xiaoye