dsh-at-file
FSMargoo/dsh-at-file
Codex 风格的 `@file` 文件引用,输入框里直接搜索并引用工作区文件。
安装
把 dsh-at-file 装进 DeepSeek Harness
npm 方式
直接拉已发布的 tarball,不用克隆整个仓库,也不需要额外配置。如果你用的是别的 profile,把 `web` 换成对应的名字。
GitHub 方式 · npm 包
从 GitHub 装会执行项目自己的构建脚本,而 pnpm 默认拦着不让跑——先跑一次这条命令,pnpm 会打印出要加到 ~/.dsh/profiles/web/pnpm-workspace.yaml 里 `allowBuilds` 下面的那个 key。
桌面版有自己的 profile,叫 desktop,只认它自带的 dsh 命令——npm 装的 dsh 会直接拒掉这个 profile。先在应用菜单里点 Manage dsh Command… 装上这个命令,打开一次桌面版再彻底退出,跑下面这条,然后重新打开桌面版。
npm 方式
直接拉已发布的 tarball,不用克隆整个仓库。
GitHub 方式 · npm 包
从 GitHub 装会执行项目自己的构建脚本,而 pnpm 默认拦着不让跑——先跑一次这条命令,pnpm 会打印出要加到 ~/.dsh/profiles/desktop/pnpm-workspace.yaml 里 `allowBuilds` 下面的那个 key。
我们的实装是在 npm 版 dsh 的 web profile 里跑的,没在桌面版上跑过。
我们跑过之后
我们跑过,装得上
这里每条命令都在一次性容器里、对着干净 profile 真跑过,结果取自 harness 自己的记录,不是读源码猜的。 最近一次 8 天前,DeepSeek Harness 0.2.2-rc.1.
挂进你的 README
给维护者的:badge 取这条 listing 最近一次 sandbox 实测的结果,重跑之后它自己会变,读者点开就是这页的完整记录。
安装前须知
装 dsh-at-file 之前,先看这几条
- 源码在这里: FSMargoo/dsh-at-file——已进入社区精选库,DSH 自带的插件市场就是从这儿装的。
- 开源协议:MIT。
安全
装 dsh-at-file 会执行什么
- 构建脚本
我们这次实装里没有构建脚本被拦。
来源:我们在沙箱里的实装,DeepSeek Harness 0.2.2-rc.1,8 天前。
- 安装钩子
package.json 里没有 preinstall / install / postinstall 脚本。
来源:最近一次同步时读到的 GitHub 上的 package.json。prepare 没有记录——它只在从 GitHub 装时执行,被 pnpm 拦下时会出现在「构建脚本」那一行。
- README 里提到
既没提 shell 命令,也没提密钥。
来源:对 README 做的关键词匹配,只提示它可能碰到什么,不是代码分析。
这不是安全审计。上面是一次实装记录加两次文本扫描,没有人替你读过这个插件的代码。插件带着你 agent 的权限在跑。
AI 锐评
是什么 — 在 DeepSeek Harness composer 中提供 @file 路径引用。
谁该装 — 在使用 DeepSeek Harness 构建需要引用工作区文件的代理任务时。 对于新安装的用户,可以从另一个角度使用官方内置功能。
注意 — 安装后在全新 profile 中成功注册。没发现明显的坑。
锐评 — 我会装它,因为它支持旧版 Harness 客户端包布局。
grok-4.6 写的,只当参考,不当结论。里面说装得上或装不上,是在干净 profile 里真跑过的;其余都是读仓库读出来的。以实际运行为准。
dsh-at-file 是做什么的

dsh-at-file 是一个在 DeepSeek Harness 网页输入框中提供 @file 工作区路径引用的 DeepSeek Harness 插件。输入 @ 后,插件在当前 workspace 中建立路径索引并显示搜索结果;选择文件或目录后,路径会留在草稿和引用栏中,也可以打开或移除。它支持按文件名、路径片段和目录进入搜索,默认排除版本控制目录、依赖目录、缓存、构建产物及常见 IDE 元数据。
提交步骤开始前,dsh-at-file 通过 Host 确认路径仍位于 active workspace 内,然后写入类似 <workspace-reference path="docs/spec.pdf" kind="file" /> 的短消息。插件不会读取被引用文件的内容,也不会列出目录内容;agent 需要在当前会话中使用已有工具检查路径。索引和文件过滤规则可在 Settings -> File mentions 管理,配置则写入 ~/.dsh/profiles/web/cordis.patch.yml,可设置 maxIndexedFiles 与 ignoreDirs。
这是需要在 composer 中引用路径、但不希望插件直接把文件内容放进 prompt 的开发者工具。DeepSeek Harness 插件不适合新安装:最新官方 DeepSeek Harness 已内置 @file 和 @session,继续安装本插件会重复已有功能。
dsh-at-file 的文档
dsh-at-file 的配置
DeepSeek Harness 从 web profile 的 ~/.dsh/profiles/web/cordis.patch.yml 读取配置。可用键包括:
| 键 | 作用 |
|---|---|
maxIndexedFiles |
限制索引的 workspace 条目数。 |
ignoreDirs |
替换默认排除的目录名列表;设为 [] 可索引所有目录。 |
省略 ignoreDirs 时保留默认排除项,包括版本控制目录、IDE 元数据、依赖目录、缓存、构建产物,以及 desktop.ini、Thumbs.db、.DS_Store。
dsh-at-file 的使用方式
在 composer 输入 @ 并选择结果。普通查询匹配文件名,包含 / 的查询按路径片段顺序匹配,末尾 / 可进入该路径继续搜索。高亮目录后按 ArrowRight 可进入目录。菜单最多显示 50 个候选项,并索引 active workspace 中的文件、目录和 symbolic link。
步骤开始前,DeepSeek Harness 会确认路径存在且没有逃出 workspace,随后 dsh-at-file 写入包含 path 和 kind 的 <workspace-reference> 消息。插件不会打开文件或列出目录内容,agent 需使用当前会话已有工具检查路径。
dsh-at-file 的过滤规则
在 Settings -> File mentions 管理 global 和 workspace 规则。Exact 匹配完整 basename,Regex 使用 JavaScript 正则匹配完整 basename;Case-sensitive 可独立设置,默认关闭。规则变化会清除受影响的索引缓存。索引按会话缓存 30 秒。
dsh-at-file 的限制
默认情况下,粘贴的 @path 不会触发 picker;关闭 Ignore @ mentions in pasted text 可恢复旧行为。绝对路径和逃出 workspace 的路径会被忽略。此机制适用于 0.3.0 及更高版本。新的官方 DeepSeek Harness 已提供内置 @file 和 @session,因此新安装通常无需此插件。
根据项目自己的文档整理,会跟着上游更新。两边对不上时以源码仓库为准—— 去 GitHub 看原始 README
同一分类
dsh-at-file 的同类插件
dsh-web-ui-all
zhu1090093659
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。
没有一行式安装命令——这个插件在一个大仓库的子目录里,也没发 npm 包。
DeepSeek-Balance-Whale-Widget
MeteorNOX
右下角常驻的小鲸鱼挂件:余额、今日已用与每轮对话消耗(含峰谷价),余额预警与今日预算的泡泡内容都可编辑;泡泡点击序列模块化自定义,支持并列加权 A/B、随机台词与随机图片;内置 30+ 厂商模板(OpenAI / OpenRouter / Kimi / 硅基流动 / 方舟 / 智谱 / MiniMax 等),按模型查余额与订阅额度;另有任务结束音效、导入音频、自定义角色与资源管理。数据全在本机,无遥测。
我们跑过,装得上