description: "面向 agent(智能体)开发者与维护者、经工作区授权且面向模型的会话历史工具,用于选择、配置或排查既往会话搜索、追踪与事件读取。"
English | 中文
使用 dsh-tool-session-query 可让模型搜索既往会话、检查事件匹配、追踪会话或事件关系,并读取精确事件数据。它的五个只读工具返回无游标文本;只有目标会话的 cwd 与调用方完全匹配时才允许跨会话访问,没有 cwd 的调用方只能检查自己。搜索会排除调用方会话,并在达到部署结果上限时要求模型缩小查询。本包是 opt-in;启用后,每次模型请求都会增加固定指引与五个工具 schema。
当 agent 应该能搜索自己的既往会话并检查其关系与事件时挂载本包。常用路径是显式的:在 ctx.sessionQuery(由 dsh-session-query-sqlite 支撑)之上挂载插件,然后让模型调用这些工具。
当部署需要模型驱动的既往工作检索时选择它——例如 coding agent(编程智能体)在开始任务前搜索更早会话中做过的事。只需要程序化检索时避免使用:ctx.sessionQuery 本身服务代码调用方,无需面向模型的 schema、提示词与授权层。
| 字段 | 默认值 | 含义 |
|---|---|---|
maxSearchResults |
100 |
一次搜索调用返回的最大已授权命中数 |
searchTimeoutMs |
30000 |
附加到两个全文搜索工具的协作式截止时间 |
生成的配置目录是每个受支持字段及其 JSDoc 的穷尽式真源。
| 工具 | 模型得到什么 |
|---|---|
session_search |
匹配字面查询的会话,经排序,带标题与最佳匹配摘录;始终省略调用方会话 |
session_event_search |
一个已授权会话内匹配字面查询的事件;针对当前会话时,在调用它的步骤之前停止 |
session_trace |
一个会话的已授权祖先链与后代树;未授权边界以不含隐藏 id 的标记出现 |
session_event_trace |
一个事件的位置替换与被引用源事件关系 |
session_event_read |
一个完整未删节事件(JSON),以及可选的相邻事件摘要 |
工作区授权是保守的:跨会话访问要求目标与调用方会话的 cwd 严格相等,没有 cwd 的调用方只能检查自己。请求的父 id 会在搜索前去重并按权限检查;缺失与跨工作区猜测行为完全相同。搜索结果无游标:结果达到上限时请模型缩小查询,绝不暴露提供方游标、偏移、分页大小或模型可控上限。工具边界的时间戳是带时区限定的 ISO 8601,并转换为包含端点的 epoch 毫秒过滤器。
每个可信查询服务调用都经过一个错误净化器:调用方取消被精确保留,语料库与提供方诊断进入内部日志,不安全或不可打印的失败回退到固定 SESSION_QUERY_TOOL_FAILED 代码与消息。本地参数校验与授权错误保留精确的工具自有消息(目标在调用方工作区之外时为 SESSION_QUERY_TOOL_UNAUTHORIZED)。本包不执行字节或字符截断,也不导入 spill 后端;需要限制内联输出的部署应挂载 @deepseek-ai/dsh-spill-policy,它可以在保留完整结果的同时替换过大的已渲染文本。
当包级约定不够用时阅读以下页面。它们从工具表面逐步进入底层服务、schema 目录与设计证据。
模型会收到一个固定的既往历史指引章节。
Use session_search to find relevant work from prior sessions, or session_event_search to search earlier events in one session. Search results are cursor-free and workspace-scoped. Follow a useful hit with session_trace, session_event_trace, or session_event_read when you need lineage, relationships, or exact data.
插件挂载期间,每次请求都存在一个固定精简章节。
插件与指引文本不变时,前缀稳定。
模型会看到生成的 session_search、session_event_search、session_trace、session_event_trace 与 session_event_read schema。搜索过滤器会增加固定 schema token,而游标、工作区路径、输出分页与模型可控结果上限仍不存在。
可见期间,每次请求都会发送五个固定只读 schema。
工具可见性与定义不变时,前缀稳定。
每次成功调用都会发出一个纯文本块。搜索结果包含标题与最佳匹配摘录;追踪包含全部已授权关系;事件读取包含未经删节的目标 JSON。通用 spill 策略可以用其预览、不透明定位信息与取回指引替换过大的内联文本。
结果取决于数据,并保留在已记录工具历史中直到压缩(compaction);maxSearchResults 限制搜索命中数。
仅追加的结果文本位于可重用请求前缀之后,不会使较早的缓存条目失效。
这些限制说明本包何时不合适,或何时需要特别的运维注意。它们是当前包约束,不是任务积压。
cwd 相等,因此符号链接等价的路径不共享权限。运行时不变式: 不发布伴生入口。这个只读模型适配器不拥有任何超出注册表范围的事件关系或可变数据关系;这些注册表已经负责校验注册。