dsh-slash-match
v0.1.0
Published
为斜杠菜单提供模糊匹配:不用从首字母输入,记得名称中段/后缀也能搜到(如 /me 命中 grill-me);运行时接管官方搜索函数,不改官方代码。
Maintainers
Readme
dsh-slash-match
让斜杠菜单(slash menu)支持模糊匹配:不用从首字母开始输入,记得名称中间/后半段也能搜到。
- 输入
/me→ 能命中grill-me、loop-me、migrate-to-shoehorn… - 输入
/g→ 前缀命中的grill-me、grilling依然排在最前面(和前缀匹配共存,不会重复) - 空查询、无匹配、点击、回车执行等行为与官方完全一致
说明:斜杠菜单主要有「命令」和「skill」两个分组。官方「命令」分组的搜索本来就是模糊的;本插件把「skill」分组也升级成同一套模糊算法,让整个菜单行为一致。
原理(不改官方代码)
官方 skill 分组的搜索函数只做 name.startsWith(query)(前缀匹配)。本插件在运行时接管这一个函数:先让官方实现以空查询返回完整目录,再用与官方「命令」分组同一套模糊打分算法(子序列对齐 + 边界/相邻加分 + 前缀优先)过滤排序。菜单外观、分组标题、onPick、回车执行链路全部保持官方原样。
安装
dsh plugin --profile web add dsh-slash-match或在 profile 的 package.json 加入依赖与 dsh.profile.bundles,然后重启 dsh web。
卸载
从 profile 的 dsh.profile.bundles 移除本插件并删除依赖,重启 dsh web 即完全恢复官方行为(内存中的接管随插件卸载/刷新自动失效)。
边界
- 依赖官方插件的运行时实例(
inputTriggers服务);官方升级若改动内部结构,本插件可能失效——届时卸载即可,不影响产品。 - 本地增强,不是上游修复;官方正路是给
packages/client/ui-skill提交 PR。
License
MIT
