- Date: 2026-07-22
- Type: feature
- Scope:
kimi_k3,gemini3_6,glm5_2,registry,errors - PR: #163
- 新增
kimi_k3/客户端(Python 与 TypeScript),支持 Moonshot 的kimi-k3。 - 新增
gemini3_6/客户端,面向 Gemini 3.6 协议代际:gemini-3.6-flash与gemini-3.5-flash-lite(后者名称虽为 3.5,但属于该代际)。 - 新增
glm5_2/客户端,支持 Z.AI 的 GLM-5.2(glm5_1/保持不变):在extra_body.thinking配置之外新增顶层reasoning_effort参数。映射为 1:1,因为官方 schema 已文档化服务端的兼容性映射(low/medium映射为high,xhigh映射为max):NONE 保持thinking={"type": "disabled"}且不发送 effort;LOW/MEDIUM/HIGH/XHIGH 发送reasoning_effort的low/medium/high/xhigh,并附带thinking={"type": "enabled", "clear_thinking": false}(保留思考内容;客户端原样回放reasoning_content)。tool_choice仍仅支持 auto,temperature 直接透传,与 GLM-5.1 一致。已针对官方端点的实况抓取(含一次禁用思考的探测)以及 OpenRouter 与 SiliconFlow 完成验证;网关的glm-5.2模型 id 现在会自动路由到新客户端。 - Gemini 图像端点迁移:
gemini-3.1-flash-image-preview已弃用,并在注册表、测试与 skill 引用中统一替换为gemini-3.1-flash-image(gemini-3-pro-image-preview同样改为gemini-3-pro-image);图像生成已在新端点上重新完成实况验证。 - 新增受支持模型注册表:
agenthub.list_supported_models(currency="USD"|"CNY")/listSupportedModels(currency)为每个受支持的(模型,平台)组合返回一个条目:包含(model, base_url, client)三元组(可直接对应AutoLLMClient构造函数),以及输入/输出 模态(Text/Image/Video/Audio/Embed)、上下文窗口,和按每百万 token 计的标价——以厂商官方 币种存储,并在请求时按 7 CNY/USD 换算。覆盖官方端点以及 OpenRouter 与 SiliconFlow (包括z-ai/glm-5.2、zai-org/GLM-5.2、moonshotai/kimi-k3,以及来自 AgentHub 应用 目录的 OpenRouter 条目:Claude/GPT/Gemini/MiniMax/Grok/Step/Hy3/MiMo/Nemotron 走通用 OpenAI 客户端,DeepSeek 走其原生客户端)。OpenRouter 的价格、上下文窗口与模态标志取自 实况/modelsAPI;SiliconFlow 的价格取自各厂商官方人民币价目表。模态记录的是经由路由后 的 AgentHub 客户端实际可用的能力,而非上游的原始能力,并逐条内联写出。定价键与 AgentHub 的用量分桶保持一致(cached_tokens、prompt_tokens、thoughts_tokens、response_tokens;thoughts 与 response 均采用厂商的输出价格),以美元存储,请求 CNY 时 乘以 7;以人民币计价的官方标价通过cny()初始化器声明,在写入时按 7 CNY/USD 换算。 Gemini 的缓存命中价格取自官方定价页面(gemini-3.6-flash $0.15,gemini-3.5-flash-lite $0.03)。qwen/qwen3-embedding-4b继续列出(OpenRouter 仅含 chat 的/modelsAPI 中没有 embedding 模型,但其模型页面仍然有效)。每个新增条目都通过了一次实况流式冒烟调用,官方 Anthropic 条目除外——它们无法在本地进行冒烟测试(本地ANTHROPIC_API_KEY无效;其 id 与 价格通过 OpenRouter 的透传列表核验)。 - 新增
UnsupportedParameterError(AgentHubError的子类,因此在 Python 中仍是ValueError),在所有客户端中针对不受支持的temperature/tool_choice/prompt_caching取值抛出;错误消息保持不变,因此现有的except ValueError与消息匹配仍然有效。 - 文档快照:
llmsdk_docs/kimi_k3/(来自 platform.kimi.com 的原始页面)与llmsdk_docs/gemini3_6/。
- Kimi K3 与 K2.6:推理改用顶层
reasoning_effort参数配置(low/high/max,默认max),不再使用extra_body.thinking,且无法关闭。tool_choice新增required;强制 指定某个函数与始终开启的推理不兼容。上下文缓存完全自动(没有prompt_cache_key)。协议 层面的其余部分与 K2.6 一致(reasoning_content增量、标准的增量工具调用分片、completion_tokens_details.reasoning_tokens);K3 的流式响应还会在结束的 choice 内嵌入 一个非标准的 usage 对象,现有的顶层 usage 累加逻辑已能处理。 - Gemini 3.6 代际与 Gemini 3:协议格式完全相同(thought signature、usage 字段、事件结构
均由实况抓取验证)。该代际弃用了
temperature/top_p/top_k——目前 API 会静默忽略它们 (已实况验证),并将在未来代际中返回 HTTP 400——并且不允许请求以非空的 model 回合结尾。 因此gemini3_6客户端直接拒绝temperature,而不是发送一个不起作用的参数。
- K3 的
thinking_level→reasoning_effort:NONE→low(无法关闭;降级处理,不抛错)、 LOW→low、MEDIUM→high、HIGH→high、XHIGH→max;未设置时不发送(服务端默认max)。 - K3 取消了
trace_id→prompt_cache_key的映射(缓存是自动的)。 - Gemini 3.6 代际通过
UnsupportedParameterError拒绝temperature;旧的gemini3/客户端及其模型保持不变。
AVAILABLE_MODELS现在在每个供应商分组中只保留各模型家族的最新版本:gemini-3.6-flash 取代 gemini-3.5-flash 与 3.5-flash-lite(含 Vertex),glm-5.2 取代 glm-5.1(官方、 OpenRouter、SiliconFlow),kimi-k3 取代 kimi-k2.6(官方、OpenRouter;SiliconFlow 仍以 Kimi-K2.6 作为其可用的最新 Kimi)。旧客户端仍受支持并保留路由,但不再进行 e2e 测试。
- 当新旧代际存在差异时,保留旧模型的客户端与路由,并新增一个客户端目录;除非有明确指示, 绝不移除对旧模型的支持。
- 每个
ThinkingLevel在每个客户端上都必须保持可用(映射到最接近的受支持思考档位,绝不 抛错)。temperature/tool_choice可以拒绝某些取值,但只能抛出UnsupportedParameterError。