前言¶
用 DSH 做智能体开发,聊天窗口里每天都会滚过大量文件路径和链接:助手回复里列出一串改动过的文件,工具卡片里引用产物,代码块里出现日志位置,用户气泡里直接贴着 URL。Web GUI 把这些渲染成普通文本——想看其中某个文件,你得手动打开文件管理器,沿着路径逐级点进去;遇到裸 URL,还得先复制、再切到浏览器粘贴。单个动作不大,次数多了很打断节奏。
dsh-pathlink 把这一步压缩成一个按键:Ctrl+click 路径,文件管理器打开所在文件夹并选中该文件;Ctrl+click 链接,新浏览器标签页直接打开。下面介绍它的定位、实现和用法。
这是什么¶
dsh-pathlink 是 penguin-oo 维护的 DeepSeek Harness 插件,当前版本 0.1.3,MIT 许可证。DSH 的理念是一切皆插件,这类界面增强自然也以插件形式提供。
插件分两半:
- 客户端半部跑在 web GUI 里(
dsh.client,platformweb),负责识别消息中的路径与链接、接管点击; - 宿主半部是一个
pathlinkRemote 服务,负责解析路径并启动操作系统的文件管理器。
核心功能¶
- 识别已渲染聊天消息中的文件路径与 URL,覆盖助手回复、用户气泡、代码块、工具卡片,识别结果以虚线下划线标记;
- Ctrl+click(macOS 为 ⌘)路径:在 OS 文件管理器中打开所在文件夹并选中该文件;路径指向目录时,打开该目录本身;
- Ctrl+click(macOS 为 ⌘)链接:在新浏览器标签页打开,覆盖渲染器未自动链接化的裸 URL,比如用户气泡中直接贴的 URL;
- 普通点击保持惰性,不干扰文本选择与复制;路径不存在时弹出 toast 说明,不静默失败;
- 提供配置项
maxPathChars(默认 1024),限制接受的最长路径文本字符数。
实现方式¶
客户端半部是一个由 MutationObserver 驱动的扫描器,监视渲染会话容器(data-chat-flow / data-conversation-scroll),在文本节点中识别路径与 URL,把匹配结果包裹为惰性内联 span;点击处理只用一个捕获阶段委托监听。它刻意不使用官方 chatFileMentions seam,目的是避免与内置 deliverables provider 冲突,同时统一覆盖所有渲染面。
宿主半部只暴露一个只读的 open 方法:按目标会话的工作目录解析相对路径,校验存在性,然后启动平台文件管理器。没有持久状态,也不会创建或恢复 Agent / Session。
安装与启用¶
官方安装命令:
dsh plugin --profile web add dsh-pathlink
这一条把插件安装到 web profile。也可以用 GitHub 形式:
dsh plugin --profile web add github:penguin-oo/dsh-pathlink
安装后重启 web GUI。插件要求 web profile——浏览器是唯一能接收点击的界面。
典型用法¶
完成安装并重启 web GUI 后,按下面的顺序使用:
1、等待一条包含路径或链接的已稳定消息。被识别的 token 会带虚线下划线,这是判断插件是否生效的直接方式。
2、按住 Ctrl(macOS 为 ⌘)并点击:
- 路径 → 在 OS 文件管理器中打开所在文件夹并选中文件;
- 链接 → 在新浏览器标签页打开。
3、相对路径先按会话工作区目录解析,再按 harness 工作目录解析;两处都找不到时显示 toast 提示。
路径的打开动作由宿主按平台分派:
Windows explorer /select
macOS open -R
Linux xdg-open(对父目录)
配置方面,插件目前只有一个配置项:
maxPathChars = 1024 # 默认值
含义是接受的最长路径文本字符数。
适用场景与注意¶
适合的情况:如果你整天在 web GUI 里读助手回复、核对产物文件,这个插件省掉的是「看路径 → 打开管理器 → 逐级导航 → 找到文件」这个循环。
注意几点:
1、仅支持 Web GUI,能接收点击的界面是浏览器;宿主打开器覆盖 Windows / macOS / Linux。
2、路径识别是启发式的:CJK 目录名可以保留,但末段为无扩展名纯英文单词、且紧跟正文的路径可能偶尔被过度匹配。这种时候存在性检查会显示未找到 toast,不会打开错误的内容。
3、权限与安全:插件以当前 dsh 进程的权限运行,宿主半部会调用操作系统的文件管理器。安装前建议先检查源码与许可证,本项目为 MIT。
结尾¶
dsh-pathlink 解决的是一个很小的痛点,但路径和链接是智能体开发中出现频率最高的内容之一,一次 Ctrl+click 的收益会随使用时间累积。插件体量不大,源码可以直接读完再决定是否安装。
入口:
- 社区目录页:https://www.skillhub.cn/plugins/penguin-oo/dsh-pathlink
- 源码仓库:https://github.com/penguin-oo/dsh-pathlink
其中目录页是社区维护的独立站点,与 DeepSeek / 幻方无官方从属关系。