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

docmd-assistant v0.1.11 针对多轮自主工具调用循环、基于上下文的回答合成、非流式 JSON 容错解析以及关键词搜索分解带来了重要的稳定性和可靠性提升。

主要特性与改进

多轮自主工具循环稳定性提升

对中继流式与标准 HTTP 执行循环(runRelayStreamLooprunRelayLoop)进行了重构,实现确定性的多轮工具执行:

  • 保留原始查询上下文:在所有中间工具调用过程中,显式跟踪并保留用户原始查询,确保最终合成轮次能够完全依据用户的真实意图进行回答。
  • 基于上下文的回答合成:本地工具(如 search_documentation)执行完毕后,检索到的文档片段会被格式化并注入到专用的合成轮次中,引导 LLM 生成包含可点击链接的完整 Markdown 答案。
  • 工具调用循环终止:在最终合成轮次中显式关闭工具定义,避免进入无限工具循环,强制直接输出文本回答。

HTTP 流与 JSON 解析容错能力

消除了与无服务器或代理中继后端交互时偶发的 “No response returned” 错误:

  • 协议回退机制:当中继端点返回标准 JSON 响应而非 Server-Sent Events(text/event-stream)流时,读取器会自动回退到全量响应体解析。
  • 缓冲区恢复:流解析器包含二次缓冲区刷新机制,即使网络连接异常中断也能确保消息完整拼接。

关键词优先的搜索查询分解

  • 优化了系统提示词和工具调用指令,将自然语言查询分解为精准的目标关键词(例如 "install""config""cli"),以最大化静态文档索引的匹配精度。

增强的输出清理器恢复能力

  • 增强了 cleanAssistantReplyparseAssistantOutput,当模型生成推理块(<think>)且未附带单独 Markdown 内容时能够平滑恢复文本,避免聊天界面出现空消息气泡。

升级指南

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