hfyydd/dsh-goz

hfyydd★ 0JavaScript最后同步: 2026-08-18

在 GitHub 打开

Everything-class whole-disk file lookup for DeepSeek Harness, backed by the goz engine (MFT filename index).

README 摘要

dsh-goz Everything 级全盘文件定位插件:让 DeepSeek Harness 的 agent 毫秒级回答「某个文件在哪里」。 dsh-goz 是一个 Cordis 插件,注册 search file / goz status 两个面向模型(model-facing)的工具,底层由 goz 引擎支撑。goz 直接读取 NTFS 的 MFT(主文件表) 建立内存文件名索引,完全绕过目录树遍历——检索的是 文件名 / 大小 / 时间 索引,不含文件内容。 goz 是 Everything 的开源替代品。本机实测:315 万文件(C/D/E 三卷)全盘查询单字符 毫秒级 返回;daemon 空闲工作集约 220-290 MB (进程 private 520-580 MB,索引结构约 300 MB),索引常驻内存。 设计动机:为什么需要 goz 官方 glob / grep ( tool-fs-search )基于 ripgrep 遍历目录树,是 沙箱内、项目内 检索的正确答案。但「这个文件在哪」的 跨工作区 问题——例如「我昨晚下载的 PDF 在哪」「D 盘所有 .env 文件」——需要全盘遍历,代价随磁盘规模线性增长: 任务 goz 常规手段 差距 全盘按文件名找 goz.exe 619 ms PowerShell Get-ChildItem -Recurse 331,437 ms 536x 全盘通配 .docx 756 ms (total 3451) find 限深 6 耗时 66,383 ms,只找到 355 个 88x,且漏检约 90% 子树(9,585 文件) .md 658 ms (total 3873) find 完整遍历 4,053 ms 6x 结论: 差距最大的是全盘 / 跨盘符、模糊文件名的定位 ——没有 goz 时这类任务基本做不成(遍历磁盘需要数分钟且易超时);差距最小的是已知路径的小目录内搜索(此时 goz 只是锦上添花,官方 glob 更合适)。基准细节见性能。 架构 - gozd.exe (daemon) :管理员权限启动的系统服务,读取 NTFS MFT 建立内存索引,通过 \\.\pipe\goz-v1 命名管道服务查询。索引常驻,因此每次查询都是毫秒级。 - goz.exe (CLI 客户端) :每次工具调用由插件 spawn 一次,通过命名管道向 daemon 发查询,以 --json 输出结构化结果后立即退出。客户端本身是 无权限用户态 进程。 - 插件(本包) :负责工具 schema、参数校验、argv 构造、JSON 解析、结果规范化、超时声明和 tools/pre-execute 审批门。 从不暴露后台任务 ——只有在 goz.exe 退出、被协作式超时终止、被中止或失败后,工具调用才返回。 为什么 …

在 GitHub 查看完整 README →
工具/开发deepseekdsh-plugineverything-searchmftntfstypescriptagentsearch

分类