使用opencode接入中转站 (claude, codex) 普通聊天正常, 涉及工具调用就开始胡言乱语:
示例:
-
opus-4.5
-
codex-5.2
解决方案
- 对于 claude 模型, 指定 npm 字段为:
@ai-sdk/anthropic - 对于 openai 模型, 指定 npm 字段为:
@ai-sdk/openai- 若报错:
Unsupported parameter: max_output_tokens
在模型中额外添加如下配置:"models": { "gpt-5.2-codex": { "name": "gpt-5.2-codex", "id": "gpt-5.2-codex", "options":{ "include": ["reasoning.encrypted_content"], "store": false } }
- 若报错:
opencode.json 参考:
{
"provider": {
"packyapi-CC": {
"name": "PackyAPI-AWS-CC",
"npm": "@ai-sdk/anthropic",
"options": {
"baseURL": "https://www.packyapi.com/v1",
},
"models": {
"claude-opus-4-5-20251101": {
"name": "claude-opus-4-5-20251101",
"id": "claude-opus-4-5-20251101"
}
}
},
"packyapi-codex": {
"name": "packyapi-codex",
"npm": "@ai-sdk/openai",
"options": {
"baseURL": "https://www.packyapi.com/v1"
},
"models": {
"gpt-5.2-codex": {
"name": "gpt-5.2-codex",
"id": "gpt-5.2-codex",
"options": {
"include": [
"reasoning.encrypted_content"
],
"store": false
}
}
}
}
}
}

