Skip to content

fix(api): 对齐 Claude API 最新规范 — Thinking/effort/beta headers 全面更新#47

Merged
mirrorange merged 1 commit intomirrorange:mainfrom
Huan-zhaojun:pr/fix/align-claude-api-thinking-effort-beta
Mar 4, 2026
Merged

fix(api): 对齐 Claude API 最新规范 — Thinking/effort/beta headers 全面更新#47
mirrorange merged 1 commit intomirrorange:mainfrom
Huan-zhaojun:pr/fix/align-claude-api-thinking-effort-beta

Conversation

@Huan-zhaojun
Copy link
Copy Markdown
Contributor

总结

Clove 的 Thinking 相关模型定义滞后于 Anthropic 官方 API,导致:

  • claude-sonnet-4-6 等模型发送 thinking: {type: "adaptive"} 时 422 报错
  • effort "max" 级别被 Pydantic 拦截
  • 已 GA 的 beta header 仍在发送,客户端新 beta 特性无法透传

本 PR 将 Clove 数据模型和请求头处理对齐 2026-02 官方规范。

修改

🔴 阻断修复

  • ThinkingOptions.type 增加 "adaptive" 支持

🟡 功能完善

  • OutputConfig.effort 增加 "max" 级别(Opus 4.6)
  • OutputConfig extra 策略 ignoreallow,自动透传新字段(如 format
  • 新增 RedactedThinkingContent 模型,防止 Web 模式丢弃该内容块
  • temperature 默认值 1.0None,避免 thinking 模式隐式注入导致 400
  • ClaudeWebProcessor paprika_mode 判断兼容 adaptive
  • 移除已 GA 的 effort-2025-11-24 / structured-outputs-2025-11-13 beta header
  • 支持客户端 anthropic-beta header 透传(去重合并)

🟢 注释更新

  • OutputConfig / OutputFormat docstring 对齐 GA 状态

修改文件

  • app/models/claude.py
  • app/processors/claude_ai/claude_api_processor.py
  • app/processors/claude_ai/claude_web_processor.py

测试

  • 发送 thinking: {type: "adaptive"} 请求,确认不再 422
  • 发送 output_config: {effort: "max"} 确认不被 Pydantic 拦截
  • 发送带 anthropic-beta: interleaved-thinking-2025-05-14 header 的请求,确认透传
  • Claude Code 使用 claude-sonnet-4-6 端到端验证

  - ThinkingOptions.type 增加 "adaptive" 支持(修复 claude-sonnet-4-6 等模型 422)
  - OutputConfig.effort 增加 "max" 级别(Opus 4.6 独有)
  - OutputConfig extra 策略由 ignore 改为 allow,自动透传新字段(如 format)
  - 新增 RedactedThinkingContent 模型,防止 Web 模式丢弃 redacted_thinking 块
  - temperature 默认值由 1.0 改为 None,避免 thinking 模式下隐式注入导致 400
  - ClaudeWebProcessor paprika_mode 判断兼容 adaptive 类型
  - 移除已 GA 的 effort/structured-outputs beta header
  - 支持客户端 anthropic-beta header 透传(去重合并)

(cherry picked from commit 33c7499)
pdtkts added a commit to pdtkts/clove that referenced this pull request Feb 24, 2026
pdtkts added a commit to pdtkts/clove that referenced this pull request Feb 24, 2026
@mirrorange mirrorange merged commit cb7ed43 into mirrorange:main Mar 4, 2026
1 check passed
@Huan-zhaojun Huan-zhaojun deleted the pr/fix/align-claude-api-thinking-effort-beta branch March 5, 2026 02:51
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.

2 participants