🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

行内触发补全 xubin0628/dsh-inline-trigger

DeepSeek Harness
xubin062817 天前有提交已提供中文文档扫描:未发现敏感能力

在中文后直接输入斜杠或艾特也能唤起指令与引用菜单

28.8/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add xubin0628/dsh-inline-trigger
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · tool
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 17 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

让 DSH Web 输入框在已有内容时也能用 / 唤起指令菜单、用 @ 引用对话与文件(含中文后直接输入)。Inline / and @ menus for the DSH composer.

README

由 DeepSeek 最新模型翻译生成
dsh-inline-trigger 让 DSH Web 输入框在已有内容时也能用 / 唤起指令菜单、用 @ 唤起「文件 / 会话」引用菜单 —— 包括紧跟在中文等非 ASCII 文字之后输入的情况。 License: MIT 原生 DSH 的触发规则(@deepseek-ai/dsh-client-ui-input-trigger)只认三种位置: - 输入框最前面; - 空格(含换行)之后; - 对 / 额外允许:标点之后(URL 里的 :/、// 除外)。 所以 你好/、你好@、总结一下@文件 这类紧跟在中文后面的输入不会弹出菜单 —— 中文本来就不习惯敲空格,于是看起来就变成「只有输入框为空时 / 和 @ 才有用」。本插件就是补上这一格。
展开完整文档(README 剩余 1 节)
dsh-inline-trigger

让 DSH Web 输入框在已有内容时也能用 / 唤起指令菜单、用 @ 唤起「文件 / 会话」引用菜单 —— 包括紧跟在中文等非 ASCII 文字之后输入的情况。

License: MIT

原生 DSH 的触发规则(@deepseek-ai/dsh-client-ui-input-trigger)只认三种位置:

- 输入框最前面;
- 空格(含换行)之后;
- 对 / 额外允许:标点之后(URL 里的 :/、// 除外)。

所以 你好/、你好@、总结一下@文件 这类紧跟在中文后面的输入不会弹出菜单 —— 中文本来就不习惯敲空格,于是看起来就变成「只有输入框为空时 / 和 @ 才有用」。本插件就是补上这一格。

安装

直接下载 zip(免 git)

从 Releases 下载 dsh-inline-trigger-1.0.0.zip 并解压,然后在 DSH 会话里让智能体安装该目录:

plugin_manager install_bundle { target: "<解压目录绝对路径>" }

从 GitHub 克隆后安装(推荐)

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

然后在 DSH 会话里让智能体安装这个目录(把路径换成实际克隆位置):

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

或者用命令行:

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

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

本地开发目录安装

直接在插件源码目录执行同样的 plugin_manager install_bundle(target 指向源码目录)即可;配置档会以链接方式引用该目录,改完代码后页面热重载生效。

生效范围

| 输入 | 原生 DSH | 装插件后 |
| /model(空输入框) | ✅ | ✅(不变) |
| hello /model(空格后) | ✅ | ✅(不变) |
| 你好/(中文后) | ❌ | ✅ |
| 总结一下/(中文后) | ❌ | ✅ |
| 参考@会话(中文后) | ❌ | ✅ |
| 你好,@文件(中文标点后) | ❌ | ✅ |
| a@b.com(邮箱) | ❌ | ❌(保护) |
| src/index.ts(路径) | ❌ | ❌(保护) |
| https://example.com/@u | ❌ | ❌(保护) |

规则一句话:/ 只在非 ASCII 文字(中文、日文、韩文、西里尔、带音标拉丁等)后面放宽;@ 在除 ASCII 字母/数字/下划线、/、:、@ 以外的任意非空白字符后面放宽。 这样既解决中文输入的问题,又不会在邮箱、路径、URL 里乱弹菜单。

已触发菜单之后的一切行为(键盘选择、引用 chip 插入、/ 指令的 popup / 动作 / 直接执行、Esc 关闭、IME、只读/命令 chip 阶段)都沿用 DSH 原生实现,本插件只影响「是否判定为触发」这一步:

- 输入框最前已经有一条命令 chip(claimed 阶段)时,/ 仍不触发(与原生一致);
- frozen 阶段(提交中等)不触发;
- 关闭插件(或 HMR 卸载)时,对 DSH 的包装会完整还原。

可选项:更激进的边界

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

localStorage.setItem('dsh-inline-trigger:mode', 'always'); // 改回默认:localStorage.removeItem('dsh-inline-trigger:mode')

然后刷新页面(或等插件热重载)。代价很直接:a@b.com、src/index.ts 这类输入也会弹菜单,https:// 除外(协议里的 :/、// 始终不触发)。

它怎么工作(给维护者)

DSH 的触发判定在 InputTriggerController.track() 内部,插件无法通过注册 trigger source 改变它。因此本插件:

1. 注入 inputTriggers 服务,包装它的 sessionOf(),从而拿到每个会话的 InputTriggerController 并包装其 track();
2. 在把 draft 交给原生判定之前,生成一个长度完全相同的「影子 draft」:只把触发符前面那一个字符替换成边界字符(@ 前换成空格、/ 前换成 、);
3. 原生 detectTrigger() 在影子 draft 上判定成功;由于替换发生在 token span 之前且不改变长度,trigger / query / span {start,end} / position 与真实 draft 完全一致,之后的选择、插入、命令 claim、token 消费都用真实偏移和真实 draftRev 工作;
4. 真实编辑器内容从不被修改。

这是一个针对已安装 DSH 版本行为的小包装(不修改编辑器 DOM、不 require 任何 Harness 客户端包)。升级 DSH 后如果上游把边界规则改宽了,本插件会自动变成「什么都不做」的纯直通。

测试

node test/detection.test.mjs

测试会把 client.js 的真实工厂函数加载起来,并用从当前 DSH 安装包里原样复制的 detectTrigger() 判定影子 draft,覆盖中文/日文/西里尔、邮箱与 URL 保护、always 模式、frozen/claimed 阶段、补丁安装与卸载还原。

文件

| 文件 | 作用 |
| index.js | Host 半边:空 apply(),只为了让包成为一条 Loader entry |
| client.js | 浏览器半边:影子 draft 判定 + track() 包装 |
| cordis.patch.yml | bundle 挂载声明(插入一条 row) |
| locale/zh.json、locale/en.json | 插件管理页的标题与描述 |
| icon.svg | 插件图标(原创) |
| test/detection.test.mjs | 自包含回归测试 |

dsh-inline-trigger 让 DSH Web 输入框在草稿已有文字时,也能打开 / 命令菜单和 @ 文件/会话引用菜单——最关键的是紧跟在中文之后,那里通常不会敲空格。

内置的触发流水线(@deepseek-ai/dsh-client-ui-input-trigger)只接受三种位置的触发符:草稿开头、空白之后,或者(对 / 而言)标点之后。这个插件包装了每个会话的 InputTriggerController.track(),给宿主喂一份等长的影子草稿,其中只把触发符前一个字符换成边界字符。判定因此通过,而真实的 span/query/revision 保持不变,所以选中项、chip、命令认领和 token 消耗都照常工作;真实编辑器内容从不改动。

git clone https://github.com/xubin0628/dsh-inline-trigger.git
then, in a DSH session: plugin_manager install_bundle { target: "<abs path to the clone>" }

| 输入 | DSH | 装了插件 |
| 你好/ | ❌ | ✅ |
| 参考@会话 | ❌ | ✅ |
| a@b.com、src/index.ts、https://… | ❌ | ❌(有意保护) |

在页面控制台设置 localStorage['dsh-inline-trigger:mode'] = 'always',可以放宽 ASCII 单词之后的边界限制。测试:node test/detection.test.mjs。MIT 协议。

License

MIT © 2026 xubin0628
预览分享卡片长什么样 ↓xubin0628/dsh-inline-trigger
分享 · DeepSeek Harness Hub
xubin0628/dsh-inline-trigger

在中文后直接输入斜杠或艾特也能唤起指令与引用菜单

这是你的仓库?认领条目

回到顶部