tipoli5890/dsh-file-mention: DSH Web 插件介绍

前言

在使用 DeepSeek Harness (DSH) Web composer 进行开发或调试时,直接引用工作区的文件路径是常见需求。手动输入相对路径容易出错,且默认的粘贴功能通常仅支持图片。下面介绍 dsh-file-mention 插件,它通过 @ 触发器解决了这一痛点,提供了安全的会话级文件引用、Git 感知的索引以及拖拽/粘贴文件上传功能。

插件定位

这是一个面向 DSH Web composer 的客户端插件,由 tipoLi5890 维护。它不直接注入文件内容,而是在 Agent 步骤前生成轻量级的路径引用标记(<workspace-reference>),由 Host 进行验证和标记。

核心功能

  • 文件与文件夹索引:输入 @ 可打开工作区列表,支持 basename 或路径过滤。
  • Git 感知与可控索引:支持 Git 追踪文件和未追踪文件,通过 .aiinclude 规则控制索引内容。
  • 快速输入与键盘操作:单次会话索引请求,支持箭头键 + Tab/Enter 选择。
  • 非图片文件上传:支持拖拽或粘贴非图片文件,自动管理上传并插入路径。
  • 路径引用管理:包含引用托盘和设置中心,用于管理已插入的引用和上传记录。

安装与启用

安装前请确保使用的是兼容 DSH Web profile。

dsh plugin --profile web add github:tipoLi5890/dsh-file-mention

安装完成后需重启 DSH Web。

典型用法

  • @:打开工作区文件/文件夹列表。
  • @readme:匹配文件名(如 README.md)。
  • @src/ma:搜索完整相对路径。
  • Pick src/main.js:插入 @src/main.js。
  • Pick docs/file with spaces.md:插入 @"docs/file with spaces.md"(带空格路径需加引号)。
  • Pick docs/:插入 @docs/。
  • Arrow keys + Tab:接受高亮的候选文件。

上传机制

对于非图片文件,插件接管了上传流程。拖拽或粘贴文件后,文件会被复制到托管上传目录,并在光标处插入路径。上传过程支持进度显示和取消,且有配额限制(单文件 50 MiB,会话 250 MiB,全局 2 GiB)。

限制与注意

  • 索引条目上限为 20,000 条。
  • 非 Git 工作区遍历深度限制为 32 层。
  • 非图片文件上传后保留 7 天(可配置)。
  • Git 仓库遵循 .gitignore,非 Git 模式会跳过隐藏文件、符号链接、缓存等。

总结

该插件通过零构建方式集成,提供了完整的文件引用和上传体验。适合需要频繁在 Agent 步骤中引用本地代码或文档的开发者。
源码与详细文档位于:GitHub。

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

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

小夜