快速结论:在 macOS 上使用本地 Qwen 模型(如 qwen3.8:27b-mlx)时,Ollama 的原生 API 和 OpenAI 兼容 API 均正常,但 Pi、OpenCode、Claude Code 等 Agent 集成工具会无限挂起直至超时。优先排查是否为上下文窗口配置问题,而非模型、API 或流式传输本身的问题。
适用环境:macOS 15.7.7 (24G720)、Apple M3 Max、64 GB RAM、Ollama 0.32.13,测试模型包括 qwen3.8:27b-mlx 和 qwen3.8:27b-mxfp8。
最快修复方案:暂无确认的一步修复方案。Issue 中已排除模型加载、API、SSE 流式传输、工具调用等常见原因,最可疑的方向是服务端上下文缓冲区大小设置,需进一步检查 Ollama 服务端日志和配置。
注意事项:该问题并非特定于 MLX 或 MXFP8 后端,两个模型均复现。推理开关(reasoning_effort)不影响结果。目前结论仅基于单个用户的复现和排查,不排除其他环境变量或客户端配置差异导致。
问题场景
用户在使用 Ollama 运行本地 Qwen 模型(qwen3.8:27b-mlx / qwen3.8:27b-mxfp8)时,通过多个 Agent 集成工具(Pi、OpenCode、Claude Code、Hermes)调用模型,出现连接建立成功、模型已加载,但 Agent 始终收不到可用响应并最终超时的现象。直接使用 curl 调用 Ollama 原生 API 或 OpenAI 兼容 API(包括流式、推理、工具调用)均正常。
报错原文
Agent integrations hang indefinitely with local Qwen models on macOS, while Ollama API works correctly
The behavior is essentially the same: the model is loaded, the connection is established, but the agent never receives a usable response and eventually appears to timeout.
Pi → hangs
OpenCode → hangs
Claude Code → hangs
Hermes → hangs
原因分析
根据 Issue 中的排查过程,可以排除模型无法加载、Ollama 服务不可达、/api/chat 接口故障、/v1/chat/completions 接口故障、SSE 流式传输故障、基础工具调用故障、MLX/MXFP8 特定模型故障以及推理功能为单一原因。问题仅在真实编码/Agent 客户端与 Ollama 通信时出现,可能原因包括:
1. 上下文缓冲区配置问题:维护者首先询问是否增大了服务端的上下文缓冲区大小。Agent 工具通常会在请求中携带较大的上下文(系统提示、工具定义、历史消息),可能触发 Ollama 服务端的上下文超限或分配问题,而直接 curl 测试的上下文较小故未触发。
2. 请求格式差异:Agent 客户端可能以某种特定方式构造请求(如长系统提示、大量工具定义、特殊参数组合),导致 Ollama 处理挂起。Issue 验证了 reasoning_effort 为 none 时无变化,但未深入测试其他参数组合。
3. 服务端状态残留:连续多次调用后服务端可能进入异常状态,需要查看服务端日志确认。
环境排查
- Ollama 版本:0.32.13(Issue 确认版本)
- 操作系统:macOS 15.7.7 (24G720)
- 硬件:Apple M3 Max,64 GB RAM
- 模型:qwen3.8:27b-mlx、qwen3.8:27b-mxfp8(两个后端均有问题)
- 检查 Ollama 服务端上下文缓冲区设置:
ollama ps可查看当前加载模型的 CONTEXT 值,正常情况下 qwen3.8:27b-mlx 显示 CONTEXT 为 262144 - 查看 Ollama 官方排障文档中关于服务端日志的部分
解决步骤
- 查看当前模型上下文配置:运行
ollama ps,确认加载的模型 CONTEXT 值。Issue 中截图显示为 262144,确认默认上下文是否被修改过。 - 检查服务端日志:按照 Ollama 排障文档获取服务端日志,重点查看 Agent 请求到达时的报错或警告信息。
- 尝试调整上下文缓冲区:维护者明确询问是否增大了服务端上下文缓冲区,这是目前最明确的方向。可优先尝试调大或调小
OLLAMA_CONTEXT_LENGTH环境变量(需重启 Ollama),观察是否恢复。 - 用命令行最小复现:运行
ollama run qwen3.8:27b-mlx --verbose <提示词>,Issue 中该命令执行正常(46.6 秒完成,eval rate 39.99 tokens/s),以此确认模型在非 Agent 场景下无问题。 - 对比直接 curl 测试:使用 Issue 中提供的 curl 命令测试带 tools 的流式调用,确认可正常返回
tool_calls和finish_reason: "tool_calls",排除 API 层故障。 - 若以上均无果:将服务端日志和
ollama ps输出附带在 Issue 评论区,等待官方进一步定位。
验证方法
确认问题解决的标准是:在 Pi、OpenCode、Claude Code 或 Hermes 中重新发起 Agent 对话请求,模型能正常返回首个响应(包括工具调用),不再出现无限挂起直至超时的情况。可通过反复调用 3-5 次不同复杂度的请求(含工具调用)来验证稳定性。如果调整了上下文缓冲区,需用 ollama ps 确认新设置已生效。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


