dsh-file-links:DSH 对话文件引用插件

前言

在 DeepSeek Harness(DSH)对话中,助手经常通过工具返回文件路径,或在正文中提及文件。这些引用通常以纯文本形式显示,难以快速定位或查看。dsh-file-links 插件旨在解决这一问题,将对话中涉及的文件路径自动渲染为 Codex 风格的可点击标签,点击即可在 DSH 内置预览中打开。

插件介绍

dsh-file-links 是 DeepSeek Harness 生态下的一个插件,由开发者 h1-count 维护。它的核心价值在于将对话上下文中的文件引用可视化,提升文件操作的效率。

核心功能

  1. 自动提取
    插件会从三类来源确定性累积每轮对话中引用的文件路径:
    - 工具结果的 locations 字段(如 diff、edit 卡片)。
    - 工具调用参数中的路径。
    - 回复正文中的行内代码提及。

  2. Codex 风格 chips
    - 渲染为“文件引用”标签 + 圆角小胶囊。
    - 根据文件扩展名自动着色图标(如 TS/JS/MD/表格/图片等)。
    - 鼠标悬停高亮。
    - 当引用超过 8 个时,自动折叠为 +N。

  3. 点击即预览
    - 利用 DSH 聊天视图自带的 openFile(workspaces.openPath)接口。
    - 无需自行搭建预览功能,直接复用原生能力。

  4. 安全与校验
    - 渲染前会经过 Host 端的 fs.stat 校验。
    - 仅保留真实存在的普通文件,自动过滤目录、噪声及不存在的路径。
    - 支持绝对路径直开,相对路径按会话 cwd 解析,避免路径拼接错误。

  5. 主题适配
    - 样式变量遵循 DSH 主题规范(--dsw-alias-*)。
    - 确保在浅色和深色主题下均可正常阅读。

安装与启用

使用官方提供的命令安装插件:

dsh plugin --profile web add github:<你的账号>/dsh-file-links

安装完成后重启 DSH 即可生效。

工作原理

该插件分为客户端和宿主端两部分协同工作:
- 客户端:注册 conversation.chat.turnTail 链,通过 ConversationNodeDefinition(kind 为 file-links)累积路径并渲染 chips。
- 宿主端:注册 /file-links/verify HTTP 路由,利用 fs.stat 校验路径存在性。
- 数据安全:插件仅读取路径元数据,不读取文件内容,不上传任何数据,无业务写入操作。

使用方式

在 DSH 对话中,一旦助手使用了工具返回文件路径或在正文中提及文件,这些文件会自动在下方的回复中渲染为可点击的 chips。用户只需点击对应的标签,即可在 DSH 内置预览中打开文件。

适用场景与注意

  • 适用场景:适合需要在对话中频繁引用和查看本地代码文件的开发者,特别是使用 DSH 进行代码编辑、调试或文档生成时。
  • 注意:插件以当前 DSH 进程的权限运行。在安装前,建议检查源码以确认无恶意行为,并确认许可证符合你的需求(MIT 许可证)。

结语

dsh-file-links 通过将静态的文件路径转化为交互式标签,降低了文件操作的成本。更多细节和源码,可以访问 GitHub 仓库。

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

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

小夜