小米的 coding plan 不能用了,缺少 reasoning_content 怎么办?

5 月 20 日
 sillydaddy
五一节前,接入了 Cursor 和 Copilot CLI ,都可以用。现在多轮对话强制要求返回之前轮次的 reasoning_content 。

小米官方的声明在这里: https://platform.xiaomimimo.com/docs/zh-CN/usage-guide/passing-back-reasoning_content

里面写到受影响的 Agent 产品有一大批:
OpenAI 兼容协议:TRAE 、Cursor 、Roo Code 、Codex 、GitHub Copilot CLI 、Zed 、AutoGen 、Goose
Anthropic 兼容协议:TRAE 、GitHub Copilot CLI 、AutoGen 、Goose 、OpenClaw 、OpenCode 、Kilo Code

看了下,好像是 5 月中旬改的协议!这破坏了 OpenAI API 兼容性吧? OpenAI API 兼容协议并不强制要求这个字段。

好好的送的一个月的 free plan ,完美踩中雷区( Cursor 和 Copilot )。感觉小米有点玩不起。

大家都是怎么用的呢? OpenCode 可以吗?
2966 次点击
所在节点    程序员
24 条回复
irrigate2554
5 月 20 日
OpenCode 使用 OpenAI 兼容协议就没问题
Dream4U
5 月 20 日
送了一个月,用了 50%,上次遇到这个错误就没再用了
pengyvz
5 月 20 日
我现在 TRAE 里不能用,Claude Code 里能用
Quint
5 月 20 日
拉完了
Sezxy
5 月 20 日
跟 coding plan 没啥关系,工具适配的问题。dsv4 刚出来的时候 opencode 也是报这个问题,过阵子修复了就能直接用了
Sezxy
5 月 20 日
"deepseek-v4-flash":{
"name":"DeepSeek V4 Flash",
"attachment":true,"reasoning":true,
"interleaved":{"field":"reasoning_content"},
"modalities":{"input":["text"],"output":["text"]},
"limit":{"context":1000000,"output":384000},
"options":{"extra_body":{"thinking":{"type":"disabled"}}},
"variants":{
"high":{"reasoning_effort":"high","extra_body":{"thinking":{"type":"enabled"}}}
}
}

这是 opencode 适配 dsv4 前的配置,你可以参考配置下
v2kid
5 月 20 日
用 mimo2codex
sillydaddy
5 月 20 日
@pengyvz
@Sezxy
感谢,我先试试 Claude Code 行不行。不行的话我再试试 OpenCode 。
andyskaura
5 月 20 日
看着和 deepseek v4 的回传字段差不多。你试试在 trae 自定义模型里选择 deepseek 提供商接入小米试试?
/t/1209296?p=1#reply22
anunia
5 月 20 日
发现 mimo 几乎有一大半的时间不按照我提示词来
cecil2016
5 月 20 日
Suger828
5 月 20 日
我使用 a/ 的格式使用 如果用 pi 的 sdk 接入有这个问题 a/的 sdk 就没问题
hailaz
5 月 20 日
opencode 填个 key 就完事了,小米的教程挺详细的
https://platform.xiaomimimo.com/docs/zh-CN/integration/opencode?target=%E4%BD%BF%E7%94%A8-opencode-cli

不过刚刚点击去看,的确是出了新的兼容性问题,说是会影响思考模式
longxinglink
5 月 20 日
讲讲家里云新人部署求职项目用的大模型 API 供应商:主力 NVIDIA NIM + 备用 Ollama + OpenAI Codex 调试,含 glm-5.1 、gemma4:31b 、minimax-m2.7 ,零成本不爆账单
https://v2ex.xtra.eu.org/t/1205711

我这 0 元 go 都给整理好了,来给我点点赞
bumblebeek
5 月 20 日
用 cursor 撸了一个代理能解决这个问题,Cursor 可用,买个阿里云/腾讯云服务器部署下就行(有免费试用),因为 cursor 请求模式不是 agent 请求,是 cursor 服务器去请求。
https://github.com/Hawkzilla/cursor-reasoning-adapter/blob/main/README_zh.md



sillydaddy
5 月 20 日
更新下,使用 Claude Code 是可以的。


@bumblebeek 这个代理的原理是什么呢?我问了 AI 说是自动填充之前的 reasoning_content 。


不过,我这里有一个很大的疑问,如果要让模型提供商那里的 KV 缓存起作用,本来就应该把 thinking 的内容传过去吧?否则服务端怎么做前缀匹配然后找到缓存呢?为什么 OpenAI API 兼容协议中,reasoning_content 还会是一个可选项呢?
enrolls
5 月 20 日
来看看我的项目吧,https://v2ex.com/t/1210054#reply14 已经支持了
bumblebeek
5 月 20 日
OpenAI:服务端有状态,自己维护完整的会话上下文,包括 reasoning_content 。客户端只需要发增量的 messages ,不需要回传 reasoning_content ,说白了就是给用户展示的字段。


小米和 Deepseek:服务端设计是无状态的,把收到的 messages[] 数组原样拼成 prompt 发给模型。上一轮返回了什么完全不记得,所以客户端必须把 reasoning_content 原样带回来,否则 KV cache 就会失效。

@sillydaddy
sillydaddy
5 月 20 日
@bumblebeek 哈哈,原来是这样。
anonydmer
5 月 20 日
顺便问一句 mimo 那个服务好像不是国内服务器在国外?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.xtra.eu.org/t/1214101

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX