DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Plugin Better Glob — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
P

@huanlin/dsh-plugin-better-glob

Plugin Better Glob

替代内置 glob 工具:自动排除深层目录(node_modules、dist、build、.venv 等),并要求使用明确的 include 白名单才能在其中搜索。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:HuanLinOTO/dsh-plugin-better-glob#a23c2fda552982fc5b356f3f137d360683f06c3a
README兼容性版本

兼容性与来源证明

Plugin Better Glob 以 @huanlin/dsh-plugin-better-glob 发布,当前版本为 0.2.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/9/24

版本

0.2.0stable
2026/9/24
0.1.4stable
2026/9/24
0.1.3stable
2026/9/11
查看其余 3 个版本收起版本
0.1.2stable
2026/9/10
0.1.1stable
2026/9/4
0.1.0stable
2026/8/30

相关插件

正在加载相关插件…

最新版
0.2.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 1
周下载
0
最近提交
2026/9/24
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

MarketdshmarketDeepSeek Harness 内的可视化插件市场——浏览、搜索并一键安装社区插件。· DSH 可视化插件市场:浏览、搜索并一键安装社区插件。Client Ui Git Graph@linxin666/dsh-client-ui-git-graph外部 dsh Web GUI 插件:空会话 Git 分支选择器和 Git 图,包含实际的主机端 Git 操作与防护,作为 dsh 配置文件包Ssh@linxin666/dsh-sshdsh Web GUI 的远程 SSH 操作:主机配置存储(~/.dsh/dsh-ssh.json,可从 ~/.ssh/config 导入)、支持跳板主机的持久化 ssh2 连接池、exec / PTY Web 终端 / SFTP 传输 / 本地端口转发隧道 / 集群执行Doctor@linxin666/dsh-doctorDSH 配置档案的事务性救援模式,配备受监督的启动器、隔离的恢复容器、确定性修复、健康监控以及本地 Web 恢复控制台

README

dsh-plugin-better-glob card

dsh-plugin-better-glob

以 per-agent 阴影顶替 DSH 内置 glob 工具:自动排除无底洞目录(node_modules、dist、build、.venv 等),模型要搜这些目录时必须显式传 include 白名单。grep 不受影响,不改任何内置插件注册面。

为什么是 per-agent 阴影

  • 工具注册表按 scope 分层解析:agent 自己层的注册遮蔽一切继承层(headless 的全局层、web profile 里 preset 挂载的 standing scope 层)。
  • 全局注册在 web profile 下会输给 preset 挂载;bundle patch 够不到 preset 文件。所以唯一全覆盖的机制是监听 agent/created,把同名工具经 agent.ctx 注册进 agent 自己的层 —— 同时注册同名 tool:glob 提示词 section(同 order)遮蔽内置文案。
  • startup/resume/clear/compact 都会触发 agent/created(payload.source 区分),WeakMap 保证幂等;插件配置热重载时对存活 agent 做 dispose-再注册的 resync。

工具行为

  • pattern(必填)/ path(可选):与内置 glob 语义一致,mtime 排序、含隐藏与被 ignore 文件、100 条封顶 + spill 恢复。
  • include(可选,string[]):白名单。include 模式的路径段命中某排除目录名 → 该目录在本调用中被放行(argv 构造期摘掉它的否定 glob);include: ["**"] 放行全部。include 永不过滤结果 —— pattern 才是匹配器。
  • 排除的实现在 argv 构造期而非后置 glob:ripgrep 在遍历期 prune 掉被排除目录,后置 glob 救不回被剪的子树。
  • VCS 目录(.git/.svn/.hg/.bzr/.jj/.sl)永远排除,不配置化。
  • 执行底座复用内置 @deepseek-ai/dsh-tool-fs-search 的打包 ripgrep 二进制、subprocess 缝、错误词汇表与 spill 设施。

默认排除清单(excludeDirs 整体替换式)

node_modules bower_components vendor Pods .yarn dist build out target obj .next .nuxt .output .svelte-kit .turbo .parcel-cache .cache coverage __pycache__ .venv venv .tox .mypy_cache .pytest_cache .ruff_cache .gradle .terraform .idea

配置

字段默认说明
excludeDirs上表排除目录名(裸名,不允许分隔符),整体替换默认清单
sampleOverCapGlobResultsfalse超帽页是否按顶层条目抽样(同内置开关)
globMaxResults100单次内联保留路径数,超出部分 spill
globMetaMaxBytes65536卡片 meta 字节预算
rawOutputMaxBytes20000000单次解析的 rg stdout 上限
graceMs / stderrMaxBytes / timeoutMs3000 / 65536 / 30000同内置语义

开发

pnpm install            # pnpm-workspace.yaml 锚定本目录(防止向上并入 D:\Projects 的 workspace)
pnpm exec node scripts/relink-deps.mjs   # 把 @deepseek-ai/* junction 到 ~/.dsh/source/current 的已构建包(pretest/prebuild 自动跑)
pnpm run typecheck      # tsc --noEmit(类型经 tsconfig paths 解析 source/current 的 lib/types)
pnpm test               # vitest:argv/meta 纯逻辑 + 真实 ToolRuntime 组合 preflight
pnpm run build          # tsdown(lib/index.js)+ tsc(lib/types/*.d.ts)

peer 依赖(@deepseek-ai/cordis、dsh-tools、dsh-tool-fs-search、dsh-system-prompt、dsh-agent)由宿主提供,均为 optional peer;schemastery 是直接依赖。

运行

dsh plugin --profile web add "link:D:/Projects/deepseek-harness/dsh-plugin-better-glob"
# 之后重启 dsh web(由人类执行)+ 浏览器硬刷新

link: 引用下改源码后 pnpm run build 重建 lib/ 即生效,无需重装。发布形态:GitHub huanlinoto/dsh-plugin-better-glob(预构建 lib/ 入库,无 prepare)/ npm @huanlin/dsh-plugin-better-glob。

检查

  • pnpm run typecheck — 严格模式类型门禁
  • pnpm test — 40 用例:argv 构造(默认排除、include 按段提升、** 全提升、VCS 恒排除)、参数与配置校验、meta 投影/收窄、render 页脚;组合 preflight 用真实 ToolRuntime + SystemPrompt 验证阴影生效、全局视图不受污染、re-fire 幂等、reload resync
  • pnpm run build — 产物 lib/index.js(peer 全 external)+ lib/types/

已知限制

  • 插件停用后,已存活 agent 的阴影注册会保留到该 agent 销毁(注册挂在 agent scope 上,随其 unwind)。
  • 配置热重载对「已在会话中的 agent」经 resync 生效;若加载器将来改为 cache-bust 重导入模块(同进程新模块实例),resync 会因 agent 层重名而失败报错(fail loud,不会静默失效)。
  • include 的提升粒度是「目录名」,include 模式中目录名之后的子路径不影响遍历范围(node_modules/a/** 放行整个 node_modules);精确到子目录的放行需缩小 excludeDirs 配置。