dsh-plugin-better-glob
在终端中运行以下命令:
dsh plugin install HuanLinOTO/dsh-plugin-better-glob
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 中执行 dsh plugin install HuanLinOTO/dsh-plugin-better-glob 即可安装,源码地址为 https://github.com/HuanLinOTO/dsh-plugin-better-glob
插件介绍
用 DSH 做代码搜索时,内置 glob 工具会毫无保留地钻进 node_modules、dist、.venv、.gradle 等无底洞目录,白白消耗 token 并拖慢响应,而模型真正需要的文件往往根本不藏在里面。dsh-plugin-better-glob 在 per-agent 作用域层用同名工具遮蔽内置 glob,在 ripgrep 遍历阶段就剪掉约三十个常见的产物与依赖目录,而不是事后过滤——被剪掉的子树根本不会进入结果集,100 条封顶与 spill 恢复机制保持不变。\n\n核心机制是 include 白名单:如果模型确实需要搜索某个被剪掉的目录,必须显式在参数中传入 include 模式段,该目录在本次调用中被放行。include 只控制目录级剪枝,pattern 仍然是唯一的路径匹配器,两者职责清晰分离。VCS 元数据目录(.git、.svn、.hg 等)被永久排除且不可配置,防止意外暴露敏感数据。插件不改动任何内置插件注册面,grep 完全不受影响。\n\n适合在大型 monorepo 或多语言项目中工作的开发者——Python 虚拟环境、Gradle 缓存、Terraform 状态、SvelteKit 输出等工具链产物与业务代码混杂的场景下收益最明显。默认排除清单可通过 excludeDirs 整体替换,globMaxResults、timeoutMs 等调优旋钮与内置语义一致,接入成本低、随时可回退。
截图预览
使用场景
- 大型 monorepo 中搜索业务文件时避免被 node_modules 和构建产物淹没
- 多语言项目中排除 Python venv、Gradle 缓存、Terraform 状态等工具链目录
- 模型显式搜索被排除目录时通过 include 白名单按目录名精确放行
适合人员
- 在大型 monorepo 或多语言项目中频繁使用 DSH glob 搜索的开发者
- 项目包含 .venv、.gradle、.terraform、.svelte-kit 等多种工具链产物的团队
- 希望收紧 AI 搜索范围以减少 token 消耗的 Agent 工作流使用者