dsh-file-tracker:让 Agent 动过的文件当场可见

前言

在使用 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 仓库。

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

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

Xiaoye