前言¶
在 DSH / 智能体开发中,Web UI 输入框常需要引用当前 Session 工作区里的文件或目录,也需要复用之前已经成功提交过的提示词。DSH 生态强调插件化扩展,dsh-input-plus 是其中一个 DSH Web UI 输入框增强插件:它不替换官方输入组件,而是在官方 @ 与 / 输入触发之上,提供文件 / 目录路径选择与当前 Session 用户提示历史候选。
下面介绍它的定位、核心功能、安装方式与使用注意。
这是什么¶
dsh-input-plus 是由 WhitePlusMS 维护的 DSH Web UI 输入框增强插件,许可证为 MIT。
它主要解决两类输入场景:
- 通过
@选择当前 Session 工作区中的文件或目录路径; - 通过
/h打开当前 Session 中成功提交的用户提示历史候选菜单,并支持关键字过滤。
插件在草稿中保留纯文本路径引用,不读取文件、不展开目录、不生成目录清单。
核心功能¶
@ 文件与目录路径选择¶
在 DSH 输入框中输入 @,然后继续输入文件名、目录名或路径片段。候选来自当前 Session 工作区。
选择后,草稿中会保留一个纯文本路径引用,例如:
@src/contract.ts
这里的引用只包含路径本身。发送消息时,插件不会读取文件、展开目录或生成目录清单。
选择目录后,也可以继续输入后续指令,例如:
@src Find the code responsible for candidate ranking
官方输入触发流程负责候选菜单、光标和写回行为。插件不替换官方 textarea、发送按钮或候选菜单,也不接管原生方向键行为。
/h 输入历史候选¶
在 DSH 输入框中输入 /h,可以打开当前 Session 成功提交的用户提示历史候选菜单。
打开菜单后,可以继续输入关键字过滤候选结果:
/h
安装与启用¶
插件要求 DSH 0.1.0-rc.6 或兼容的 DSH Web profile。
通过官方 DSH profile 插件流程安装:
dsh plugin --profile web add https://github.com/WhitePlusMS/dsh-input-plus/archive/refs/tags/v0.0.2.tar.gz
这条命令安装的是 GitHub tag 压缩包。GitHub tag 安装会直接消费已提交的 lib/ Host 和 Client 产物;如果是 source-only 压缩包,安装会失败。
如果你需要创建或更新安装 tag,应先运行:
pnpm run build
并提交生成的 lib/ 目录。
配置¶
插件注册 input-plus 设置命名空间。与插件工作区索引和路径解析相关的选项包括:
maxIndexDepthmaxIndexEntriesreferenceRoot
这些选项用于调整插件在生成路径候选和解析路径时的行为。
典型用法¶
下面是一组可直接在 DSH Web UI 输入框中复现的用法。
1、输入 @,然后继续输入文件名、目录名或路径片段。
@
候选来自当前 Session 工作区。
2、从候选中选择后,草稿保留纯文本路径引用:
@src/contract.ts
3、选择目录后,可以继续输入指令:
@src Find the code responsible for candidate ranking
4、输入 /h,打开当前 Session 成功提交的用户提示历史候选菜单:
/h
5、继续输入关键字,对历史候选进行过滤。
适用场景与注意¶
dsh-input-plus 适合在 DSH Web UI 中需要快速引用当前 Session 工作区路径、或复用历史提示词的用户。
使用注意:
- 插件不替换官方 textarea、发送按钮或候选菜单;
- 插件不接管原生方向键行为;
- 路径引用在草稿中是纯文本,发送时不读取文件、不展开目录、不生成目录清单;
- 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证;
- 当前许可证为 MIT。
DSH 社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系,不要将其理解为官方应用商店。
链接¶
GitHub 仓库:https://github.com/WhitePlusMS/dsh-input-plus