v0.9.5 is live! — Read the latest technical documentation and migration guides.

docmd-assistant v0.1.17 实现了助手引擎的全面通用化与站点解耦,新增了精准的版本与子项目检索过滤能力,为大型文档页面引入了节约 Token 的智能内容截断机制,增强了上下文窗口保护底线,并优化了网络故障时的错误处理。

主要特性与增强

通用且与站点无关的系统提示词

  • 动态真实的内容探索:移除了预设配置结构的硬编码假设,采用通用、客观的系统提示词。助手不再盲目猜测或限定特定配置字段,而是利用内置工具(search_documentationread_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 fetchLoad failed),向用户返回明确且具备可操作性的提示信息。
  • 优雅的请求中断处理:优雅处理取消请求与 AbortError,避免在运行日志中产生冗余的异常堆栈。

已解决的问题

  • 通用检索泛化:解决了默认提示词中包含特定配置规范、导致助手对非 docmd 结构做出假设而非实时检索的问题。
  • 版本化检索精度:解决了历史版本提问(例如查询特定旧版发行说明)时无法将搜索范围精准约束至目标版本区间的问题。

升级指南

npm
pnpm
npm install docmd-assistant@0.1.17
pnpm add docmd-assistant@0.1.17