dsh-input-plus:DSH Web UI 输入框的 @ 路径引用与 /h 历史候选

前言

在 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 设置命名空间。与插件工作区索引和路径解析相关的选项包括:

  • maxIndexDepth
  • maxIndexEntries
  • referenceRoot

这些选项用于调整插件在生成路径候选和解析路径时的行为。

典型用法

下面是一组可直接在 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

羽毛球分组比赛记分
小程序二维码

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

小夜