docmd-assistant v0.1.11 针对多轮自主工具调用循环、基于上下文的回答合成、非流式 JSON 容错解析以及关键词搜索分解带来了重要的稳定性和可靠性提升。
主要特性与改进
多轮自主工具循环稳定性提升
对中继流式与标准 HTTP 执行循环(runRelayStreamLoop 和 runRelayLoop)进行了重构,实现确定性的多轮工具执行:
- 保留原始查询上下文:在所有中间工具调用过程中,显式跟踪并保留用户原始查询,确保最终合成轮次能够完全依据用户的真实意图进行回答。
- 基于上下文的回答合成:本地工具(如
search_documentation)执行完毕后,检索到的文档片段会被格式化并注入到专用的合成轮次中,引导 LLM 生成包含可点击链接的完整 Markdown 答案。 - 工具调用循环终止:在最终合成轮次中显式关闭工具定义,避免进入无限工具循环,强制直接输出文本回答。
HTTP 流与 JSON 解析容错能力
消除了与无服务器或代理中继后端交互时偶发的 “No response returned” 错误:
- 协议回退机制:当中继端点返回标准 JSON 响应而非 Server-Sent Events(
text/event-stream)流时,读取器会自动回退到全量响应体解析。 - 缓冲区恢复:流解析器包含二次缓冲区刷新机制,即使网络连接异常中断也能确保消息完整拼接。
关键词优先的搜索查询分解
- 优化了系统提示词和工具调用指令,将自然语言查询分解为精准的目标关键词(例如
"install"、"config"、"cli"),以最大化静态文档索引的匹配精度。
增强的输出清理器恢复能力
- 增强了
cleanAssistantReply与parseAssistantOutput,当模型生成推理块(<think>)且未附带单独 Markdown 内容时能够平滑恢复文本,避免聊天界面出现空消息气泡。
升级指南
npm
pnpm
npm install docmd-assistant@0.1.11
pnpm add docmd-assistant@0.1.11