docmd-assistant v0.1.17 实现了助手引擎的全面通用化与站点解耦,新增了精准的版本与子项目检索过滤能力,为大型文档页面引入了节约 Token 的智能内容截断机制,增强了上下文窗口保护底线,并优化了网络故障时的错误处理。
主要特性与增强
通用且与站点无关的系统提示词
- 动态真实的内容探索:移除了预设配置结构的硬编码假设,采用通用、客观的系统提示词。助手不再盲目猜测或限定特定配置字段,而是利用内置工具(
search_documentation、read_documentation_page)动态探索并依据文档内容提供可靠解答。无论是用于大型技术文档、个人博客还是专题指南,都能自然契合。 - 一致的助手身份:保留了“docmd assistant”的核心人设——作为本站点专属的 AI 技术导览,严格在已有文档证据的范围内提供回答。
版本与项目过滤检索
- 定向版本过滤:在
search_documentation工具参数模式中增加了可选的version(例如"0.9.0"、"0.8.0"、"latest")与project字段,使多版本和多项目架构的站点能够直接定向检索指定归档。 - 透传至自定义检索委托:传递给
createStandardTools的自定义搜索处理函数现在会直接接收(query, project, version)参数,便于实现细粒度索引查询。
智能内容截断与上下文窗口安全底线
- DOM 读取器 Token 优化:在
read_documentation_page中设置了 8,000 字符的提取上限,并附带明确的续接标记(...[content capped for token economy])。在完整保留核心技术解释与代码示例的同时,避免超大单页 API 规格过度消耗模型的上下文窗口。 - 上下文窗口安全底线:为
contextWindow选项设定了 1,000 字符的最低保护下限,防止因意外配置过小数值而导致检索上下文被全部清空。
稳健的网络错误处理
- 清晰友好的网络诊断信息:在流式和普通请求中统一拦截底层浏览器网络连接异常(
Failed to fetch、Load failed),向用户返回明确且具备可操作性的提示信息。 - 优雅的请求中断处理:优雅处理取消请求与
AbortError,避免在运行日志中产生冗余的异常堆栈。
已解决的问题
- 通用检索泛化:解决了默认提示词中包含特定配置规范、导致助手对非 docmd 结构做出假设而非实时检索的问题。
- 版本化检索精度:解决了历史版本提问(例如查询特定旧版发行说明)时无法将搜索范围精准约束至目标版本区间的问题。
升级指南
npm
pnpm
npm install docmd-assistant@0.1.17
pnpm add docmd-assistant@0.1.17