leolee9086/dsh-better-session-query ↗★ 0

dsh-better-session-query

为会话历史构建块级并行索引以供检索 高级检索工具。适合需要对会话中的文本、推理、工具调用进行细粒度检索的用户。

套件
dsh-better-session-query
相容性
待驗證
版本
0.1.1
授權
MIT
最近更新
2026年10月9日

安裝

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:leolee9086/dsh-better-session-query

配置

键默认说明
path/session-blocks.db索引库;:memory: 表示不落盘(每次启动重建)
journalModewalwal/delete/truncate/persist
include见上逐类开关:text reasoning toolCall toolResult todo turnEnd toolCallEvent images files
recheckMs600000冷会话复查间隔
maxSessionsPerReconcile25单轮索引更新上限
useTokenstrue用 sessionPersistence.stat 的文件物理身份做变更令牌(不读事件日志);拿不到服务就自动退回指纹比对
listingTtlMs15000会话清单缓存;0 = 每轮都重新取
failureCooldownMs1800000读不出来的会话的失败冷却,避免每轮白吃名额
includeColdtrue关掉就只索引实时会话
includeWorkspaces[]白名单:非空时只索引这些工作区(穷尽语义,没有 cwd 的会话也不收)
excludeWorkspaces[]黑名单:这些工作区连日志都不读;已经在索引里的会在下一轮索引更新被清掉。黑名单优先于白名单
includeWithoutWorkspacetrue没有 cwd 的会话收不收(仅在白名单为空时生效)
includeArchivedfalse归档会话收不收。默认不收:归档只是工作区注册表里的一个 id 列表(workspaceRegistry.archivedSessionIds),日志原地不动、listSessions() 照样列出来,所以必须显式排除;已经在索引里的归档会话会被清掉,取消归档后下一轮自然回来
reconcileOnSearch"background"检索时怎么办:"background" 踢一轮后台(不等)/ "await" 同步等一轮 / "off" 不管
backgroundReconcileMs30000后台定时索引更新间隔;0 = 关掉定时(库退化成按需打开)
defaultLimit / maxLimit20 / 100检索返回条数
snippetTokens24FTS5 snippet 的 token 预算
logFile / logMaxBytes/logs/session-blocks.log / 2MB诊断日志(stdout 不落地,诊断必须落盘);"off" 关闭
monitor{ enabled: true, path: "/session-blocks" }界面监控数据面:关掉就不挂路由(宿主工具与服务不受影响)

没有 openAt。 那是官方 session-query-sqlite 的配置词汇(shipped profile 用它关掉官方那套索引),本插件不抄它:启用后台索引更新就在加载时开库并把定时器接上——索引是后台渐进的过程,不能等"有人碰一下"才开始,否则每次重启都停在原地。不想要后台工作设 backgroundReconcileMs: 0;整个插件不要就在 profile 里禁用那一行。开库失败只记日志、不拒绝加载(一个后台索引不该把 profile 拖下水)。