zhangzhenwen1/qmd-autosearch ↗★ 0
qmd-autosearch
DSH plugin: auto-supplement QMD semantic search when the model greps/globs a knowledge-base directory
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗qmd-autosearch
自动补搜插件:当模型在知识库目录执行 grep / glob 搜索时,自动补充一次 QMD 语义检索,并把结果注入模型上下文。
DeepSeek Harness 插件(dsh-plugin)。零外部依赖。
功能
- 自动触发:模型在 QMD 集合对应的目录内执行
grep/glob(顶层调用)即触发,无需显式调用 - 语义补搜:QMD 单次查询(lex + vec,服务端 LLM 重排),检索范围限定在配置的 collections
- 智能查询词:以最近的用户消息(任务要求)为语义主查询;消息过短或与搜索主题无关时,回退使用 grep pattern
- 异步注入:结果排队到
agent.inbox.nextStep,下一个 pre-step 注入模型上下文,不阻塞当前工具调用 - 防重复:同一 agent 内相同(工具、路径、pattern)签名只补搜一次
- 容错:QMD 服务不可用或查询无结果时静默跳过,不影响原流程
工作原理
grep/glob 执行完成 → tools/result 钩子
→ 路径在触发范围内(由 QMD status 解析的集合路径)?
→ QMD query(collections 限定 + LLM 重排)
→ 结果排队 agent.inbox.nextStep
→ 下一个 pre-step 注入模型上下文(user 角色 system-reminder 风格)
安装
方式一:npm 安装(发布后可用)
dsh plugin --profile web add qmd-autosearch
方式二:本地路径引用(开发调试)
在 ~/.dsh/profiles/web/cordis.patch.yml 的 insert 列表追加:
- insert:
- id: qmd-autosearch
name: 'file:///path/to/qmd-autosearch/index.js'
config:
qmdUrl: http://localhost:6179/mcp
collections:
- knowledge-concepts-keynes
- knowledge-principles-keynes
limit: 5
minScore: 25
配置
| 配置项 | 必填 | 默认值 | 说明 |
|---|---|---|---|
qmdUrl | ✅ | 无 | QMD MCP 服务地址(如 http://localhost:6179/mcp) |
collections | ✅ | 无 | 搜索范围:QMD 集合名列表(qmd collection list 可查) |
limit | 否 | 5 | 注入结果的条数上限 |
minScore | 否 | 25 | 最低匹配度过滤(百分数,低于此值的命中丢弃) |
triggerRoots | 否 | 自动 | 触发判断的文件系统根路径列表;缺省时从 QMD status 动态解析集合路径 |
未配置
qmdUrl/collections时插件禁用并输出 warn 日志。