Skip to content

fix(agent): 适配 OpenCode 模型请求头 - #418

Merged
syrizelink merged 1 commit into
mainfrom
fix/opencode-session-headers
Sep 25, 2026
Merged

syrizelink merged 1 commit into
mainfrom
fix/opencode-session-headers

Conversation

@syrizelink

@syrizelink syrizelink commented Sep 25, 2026 •

Copy link
Copy Markdown
Owner

PR 标题

fix(agent): 适配 OpenCode 模型请求头

变更说明

  • 问题: OpenCode Go 要求模型请求携带 x-opencode-session,自定义兼容提供商的调用因此返回 MissingSessionID。
  • 重要性: 使用 OpenCode Go、CLIProxyAPI 或 Sub2API 等兼容接口时,模型连接验证和 Agent 调用可能失败。
  • 变化: 所有模型 provider 统一添加版本化 User-Agent;识别 OpenCode provider 或 opencode.ai endpoint,并补充稳定会话头;会话 ID覆盖主 Agent、子 Agent、上下文压缩和独立模型调用。

关联 Issue / PR

Closes #381

变更类型

  • 新功能 (feat)
  • 错误修复 (fix)
  • 文档更新 (docs)
  • 代码格式调整 (style)
  • 代码重构 (refactor)
  • 性能优化 (perf)
  • 测试相关 (test)
  • 杂项 (chore)

问题原因

项目将自定义 OpenCode Go endpoint 按 openai-compatible provider 保存,原有请求工厂无法仅凭 provider 类型识别 OpenCode;同时 Agent 会话 ID没有传入模型客户端,导致请求缺少 x-opencode-session。

自查清单

  • 已添加/更新必要的测试
  • 已运行 lint 和 typecheck,无报错
  • 已运行测试用例,全部通过
  • 变更范围合理,未包含无关修改
  • 未暴露敏感信息(API Key、密码等)
  • 提交信息符合规范

补充信息

无

为所有模型请求统一添加应用 User-Agent,并为 OpenCode 请求补充稳定会话标识,覆盖主 Agent、子 Agent 和上下文压缩调用。
@syrizelink
syrizelink merged commit 2e15207 into main Sep 25, 2026
19 checks passed
@syrizelink
syrizelink deleted the fix/opencode-session-headers branch September 25, 2026 02:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

自定义的供应商的模型调用为什么会失败呢

1 participant