[功能]
作者: skittlejohn创建于 2026年9月15日更新于 2026年9月15日
标签enhancement
□ 问题说明
Claude代码 v2.1.129+ 通过网关模型发现支持运行非Claude模型("CLAUDE CODE ENOLE GATEWAY MODEL DISCOVERY=1"+一个"GET/v1/models"终点"). LitelLM在其[Claude代码教程](https://docs.litellm.ai/docs/tutorials/claude non harmic models)中记录了这个模式. 头室后端是LiteLLM,已经做了90%的AnthropicOpenAI API翻译,为非Claude模型服务——但有3个硬码过滤器和一个缺失的端点阻止了它工作.
□ 当前状态
"LiteLLMBackend"已经:
- 转换 Anthropic 内容块(文本、工具 使用、工具 结果)
- 转换工具计划、工具 选择、停止原因和使用数据
- 流出AnthropicSE事件,来自OpenAI-格式的上游反应
- 处理API关键路由(为非Anthropic供应商提供XQCaller key travels to ' sk-ant ' 条形键)
- 在登记册(OpenRouter、Databricks)中拥有接受任何模型名称的通过供应商
PROVIDER Registry'、map model id ()'、convert messages for litellm ()'和to harmic response ()'/`stream message ()'路径是提供者-不可知的。 唯一的Claude特有假设是在发现和验证中.
∮什么挡住它∮
- 贝德洛克发现过滤出非Claude型号
ưμ㼯A
[Python] (英语). #后端/立特尔姆.py行~227 如果“ Anthropic” 不在 profile id.lower (): 继续
将“Claude”上的“bedrock profile id()”门正常化:
```(ZZTERM32)
# 后端/ Litellm.py行~330
如果不是配置 id. starts with ("Claude"):
无
`支持 型号()'拒绝非通过提供者的非Claude名称:
[Python]
后端/ 平线 ~ 747
返回“Claude”的型号。 模式( M)
2. 无 " GET/v1/型号 " 终点
(Claude) (英语). 代码通过在 “ANTHROPIC BASE URL”上查询“GET/v1/模型”,发现了代理托管模型。 会议室没有这种终点——OpenAI处理器的`/v1/型号'是向上游的传递,而不是自我服务的清单。 没有这个,非Claude型号不能出现在Claude代码的'/型'拾取器.
以前在#77(`[FEATURE]用于头室包装的动态模型登记册-自动发现可用模型')中曾要求这样做,该登记册提出了同OpenAI兼容的由后端的模型图衍生出"GET/v1/模型"的终点. Copilot路径正在通过#2935获得活的目录发现,但Anthropic/Bedrock代理路径没有等效. 此特性请求包含 # 77 的 “ /v1/ models ” 问及并添加了后端的刻度变化 。
3. 对非Claude目标,扩展思维头没有剥去
Claude代码发送了"Anthropic-β:扩展思考-QQ标题并可能在请求正文中发送"思考". 非Claude型号不懂这些. 当目标模型不是Claude时,代理应该剥去它们,而不是转发并希望上游忽略它们.
□ 建议的解决办法
###
. . . . . . .
内容来源: headroomlabs-ai/headroom