前言¶
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