问题
使用opencode go计划中的deepseek时不可用
根因链条(已实测验证)
项目用 eino 的 agenticclaude 组件发送工具定义时,格式是 {"type":"custom","name":...,"input_schema":...};
这个 opencode.ai 网关不认 type: "custom" 字段,直接 400(我测试:带该字段 400,去掉该字段 200);
项目里本来有兼容层专门删掉这个字段(internal/llm/deepseek_anthropic_compat.go),但它的启用判断 IsDeepSeekEndpointOrModel() 只看 base_url 是否包含 "deepseek"——你的通道 base_url 是 opencode.ai/zen/go,模型名 deepseek-v4-flash,所以兼容层没生效,带 type:custom 的请求直接打到网关 → 400。
简单说:模型是 DeepSeek 系(需要老格式),但网关地址不含 "deepseek",项目没认出来,导致该用的兼容处理没启用。API Key 和模型本身都是好的(简单对话请求返回 200)。
修复方案
改 internal/config/config.go 的 IsDeepSeekEndpointOrModel(),让它在 base_url 或 model 名任一包含 "deepseek" 时都启用兼容层(约 5 行改动),然后重新编译并重启服务
问题
使用opencode go计划中的deepseek时不可用
根因链条(已实测验证)
项目用 eino 的 agenticclaude 组件发送工具定义时,格式是 {"type":"custom","name":...,"input_schema":...};
这个 opencode.ai 网关不认 type: "custom" 字段,直接 400(我测试:带该字段 400,去掉该字段 200);
项目里本来有兼容层专门删掉这个字段(internal/llm/deepseek_anthropic_compat.go),但它的启用判断 IsDeepSeekEndpointOrModel() 只看 base_url 是否包含 "deepseek"——你的通道 base_url 是 opencode.ai/zen/go,模型名 deepseek-v4-flash,所以兼容层没生效,带 type:custom 的请求直接打到网关 → 400。
简单说:模型是 DeepSeek 系(需要老格式),但网关地址不含 "deepseek",项目没认出来,导致该用的兼容处理没启用。API Key 和模型本身都是好的(简单对话请求返回 200)。
修复方案
改 internal/config/config.go 的 IsDeepSeekEndpointOrModel(),让它在 base_url 或 model 名任一包含 "deepseek" 时都启用兼容层(约 5 行改动),然后重新编译并重启服务