前言¶
在使用 DeepSeek Harness(DSH)时,Agent 说”我改好了”,我们往往需要翻日志、问它”改了哪几个文件”。dsh-file-tracker 解决这个问题:它监听宿主侧的工具调用,把 write/edit/read/move/delete 以及命令行等操作涉及到的路径按目录和时间线呈现到 web GUI,无需人工核对日志。
插件定位¶
这是一个 DSH 双端插件,由 Mys12word 维护。宿主侧负责解析工具参数并落盘事件,客户端侧提供”动过的目录”和”时间线”两个面板视图。
核心功能¶
目录视图¶
面板列出所有被 Agent 碰过的目录,每行显示改动次数、最近一次操作的文件与时间。点开某一行,可以看到该目录下的文件明细。
时间线视图¶
按事件倒序展示,每个事件对应一次工具调用(write/edit/shell 等)。失败的调用会标红点,点开可查看工具名、turn/step 编号。
右键操作¶
在面板任意一行上右键:
- 在文件夹中显示:文件条目打开系统文件管理器并选中该文件;目录条目直接打开该目录。
- 复制路径:把对应记录的绝对路径复制到剪贴板。
路径由宿主从事件簿中按 fseq 反查,客户端无法借此打开任意路径。若文件已被移动或删除,会自动退回打开所在目录。
识别方式¶
| 工具 | 置信度 |
|---|---|
| write, edit, read, read_image, move, copy, delete, glob, grep, ops_glob, ops_grep | 1.0 |
| pwsh, powershell, shell, bash, sh, cmd, terminal | 0.6(半透明显示) |
“壳”类事件(shell)是启发式识别,只回答”大概动了哪个目录”,不作为审计证据。
安装与启用¶
前置条件:DSH Desktop,Node ≥ 22。
git clone https://github.com/Mys12word/dsh-file-tracker "$HOME\.dsh\plugins\dsh-file-tracker"
powershell -NoProfile -ExecutionPolicy Bypass -File "$HOME\.dsh\plugins\dsh-file-tracker\install-profile.ps1"
安装脚本会:
1. 往 profile package.json 的 dependencies 写 "dsh-file-tracker": "link:<插件绝对路径>"
2. 往 dsh.profile.bundles 数组里加 dsh-file-tracker
3. 在 ~/.dsh/profiles/<profile>/node_modules/ 建 junction
完全退出并重启 DSH Desktop 后生效。 刷新页面不会加载新的 bundle。
典型用法¶
安装后,在 DSH Desktop 右上角菜单中选择”动过的目录”或”时间线”面板。面板会锚定当前对话的会话,显示该会话内所有被工具调用涉及的文件和目录。
数据面 API¶
插件提供同源 HTTP 接口(仅允许 127.0.0.1 访问):
| 端点 | 说明 |
|---|---|
GET /ft/events?sessionId=<id>&after=<fseq> |
增量拉事件,after 为游标 |
GET /ft/summary?sessionId=<id> |
目录聚合视图 |
GET /ft/sessions |
会话列表(含 cwd、标题) |
数据文件¶
~/.dsh/file-tracker/events.jsonl 是追加式 JSONL,每行一条事件:
{"fseq":387,"sid":"session-…","cwd":"C:\\…","tool":"pwsh","turn":13,"step":1,"kind":"shell","file":"nvidia-driver/x64","dir":"nvidia-driver","conf":0.6}
超过 8 MB 自动截断,保留最近 1000 行。删除整个 ~/.dsh/file-tracker/ 目录即可重置。
适用场景与注意¶
- 适合需要实时查看 Agent 文件操作范围的 DSH 用户。
- 插件以当前 DSH 进程权限运行,安装前应检查源码与许可证(MIT)。
- 目录/路径是从命令原文里抠出来的,注册表键、URL 等偶尔也会入列——那是 Agent 敲过的字面串,不代表真的碰了文件系统。
- 面板锚定当前对话的会话,从侧边栏其他会话行打开,看到的仍是当前会话的事件。
- 只记录当前进程生命周期内新发生的事件,不回溯历史会话的事件流。
生态背景¶
DSH 的理念是「一切皆插件」,社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。
短结尾¶
dsh-file-tracker 让 Agent 的文件操作可视化,方便验证和调试。更多细节见 GitHub 仓库。