Repository navigation
feat(aihubmix): sync model catalog from aihubmix-canon - #4119
Conversation
Generated by aihubmix-canon @ cf77bb850390ff8ef71e1dbd5a7cd3ce05445b8f. See PR body for the full list.
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing. Review the Copilot code review billing settings.
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing. Review the Copilot code review billing settings.
Summary
Automated sync of the AiHubMix model catalog, generated by aihubmix-canon at
cf77bb850390ff8ef71e1dbd5a7cd3ce05445b8f.The catalog is generated instead of fetched at runtime because a Dify model-provider plugin cannot: the plugin daemon freezes the model list from the yaml shipped inside the package, so a model that is added, renamed, repriced or retired on the gateway only reaches users through a PR like this one.
Scope:
models/llm/— model definition yaml, plus themanifest.yamlversion bump, and the test / routing edits below. The registered-id total pinned intests/test_top100_models.pymoves259→257in this PR as well: that number is pinned by the plugin's own test suite (test_every_new_model_is_registered), so it has to move in the same PR that changes_position.yaml. No plugin code (main.py,provider/,pyproject.toml,uv.lock) is touched.Full machine-generated report (every add / patch / retire with its reason) is collapsed below.
renamedlines in the diff are a git heuristic over the similar-looking yaml skeletons — read the report, not the diff's rename pairing.Note for reviewers: this description is machine-generated and refreshed on every push to this branch. Editing it by hand is fine — the automation notices (the description carries a marker) and then stops refreshing it instead of overwriting your edit; substantive feedback is still better in the conversation.
Full sync report (machine-generated)
Model sync report
Generated from aihubmix-canon
cf77bb850390ff8ef71e1dbd5a7cd3ce05445b8f.models/llm/models/rerank/models/text_embedding/models/tts/models/speech2text/Retired (de-listed, gone from the gateway catalog, or upstream model name expired)(2)
grok-4-fast-non-reasoning— 目录里查无此模型grok-4-fast-reasoning— 目录里查无此模型models/rerank/— skipped, no context window(2)cohere-rerank-v5-fast,cohere-rerank-v5-pro⚠
models/text_embedding/— needs a human(4)网关在架但插件里没有。
text-embedding的必填字段(max_chunks(单次批量上限))网关与 canon 都没有,编一个值出来就是在 UI 上显示一个假参数,所以这里不生成,等人补。
embed-v-4-0,gemini-embedding-2,text-embedding-004,text-search-ada-doc-001⚠
models/tts/— needs a human(6)网关在架但插件里没有。
tts的必填字段(voices[]/default_voice/word_limit/audio_type)网关与 canon 都没有,编一个值出来就是在 UI 上显示一个假参数,所以这里不生成,等人补。
gemini-3.8-flash-lite-tts,gemini-3.8-flash-tts,gpt-audio-1.5,gpt-realtime-2.1,qwen-audio-3.0-tts-flash,qwen-audio-3.0-tts-plus⚠
models/speech2text/— needs a human(4)网关在架但插件里没有。
speech2text的必填字段(file_upload_limit/supported_file_extensions)网关与 canon 都没有,编一个值出来就是在 UI 上显示一个假参数,所以这里不生成,等人补。
gpt-4o-transcribe-diarize,gpt-audio-1.5,gpt-live-transcribe,gpt-realtime-2.1Skipped — no research yet(343)
Live on the gateway but not yet covered by our capability research, so no yaml is generated.
list
AiHubmix-Phi-4-mini-reasoning,AiHubmix-mistral-medium,ByteDance-Seed/Seed-OSS-36B-Instruct,DeepSeek-v3,Doubao-1.5-lite-32k,Doubao-1.5-pro-256k,Doubao-1.5-pro-32k,Doubao-1.5-thinking-pro,Doubao-1.5-vision-pro-32k,Doubao-lite-128k,Doubao-lite-32k,Doubao-lite-4k,Doubao-pro-128k,Doubao-pro-256k,Doubao-pro-32k,Doubao-pro-4k,GPT-OSS-20B,Gryphe/MythoMax-L2-13b,LongCat-Flash-Chat,MiniMax-Text-01,MiniMaxAI/MiniMax-M1-80k,Mistral-large-2407,Pro/THUDM/GLM-4.1V-9B-Thinking,Qwen/QVQ-72B-Preview,Qwen/QwQ-32B,Qwen/QwQ-32B-Preview,Qwen/Qwen2-1.5B-Instruct,Qwen/Qwen2-57B-A14B-Instruct,Qwen/Qwen2-72B-Instruct,Qwen/Qwen2-7B-Instruct,Qwen/Qwen2.5-32B-Instruct,Qwen/Qwen2.5-72B-Instruct,Qwen/Qwen2.5-72B-Instruct-128K,Qwen/Qwen2.5-7B-Instruct,Qwen/Qwen2.5-Coder-32B-Instruct,Qwen2-VL-72B-Instruct,Qwen2-VL-7B-Instruct,Qwen3-235B-A22B-Thinking-2507,THUDM/GLM-4-32B-0414,THUDM/GLM-4-9B-0414,THUDM/GLM-4.1V-9B-Thinking,THUDM/GLM-Z1-32B-0414,THUDM/GLM-Z1-9B-0414,WizardLM/WizardCoder-Python-34B-V1.0,ahm-Phi-3-5-MoE-instruct,ahm-Phi-3-5-mini-instruct,ahm-Phi-3-5-vision-instruct,ahm-Phi-3-medium-128k,ahm-Phi-3-medium-4k,ahm-Phi-3-small-128k,aihub-Phi-4,aihub-Phi-4-mini-instruct,aihub-Phi-4-multimodal-instruct,aihubmix-Codestral-2501,aihubmix-Cohere-command-r,aihubmix-Jamba-1-5-Large,aihubmix-Llama-3-1-70B-Instruct,aihubmix-Llama-3-1-8B-Instruct,aihubmix-Llama-3-2-11B-Vision,aihubmix-Llama-3-2-90B-Vision,aihubmix-Llama-3-70B-Instruct,aihubmix-Mistral-Large-2411,aihubmix-Mistral-large,aihubmix-Mistral-large-2407,aihubmix-command-r-08-2024,aihubmix-command-r-plus,aihubmix-command-r-plus-08-2024,aihubmix-router,alicloud-deepseek-v3.2,alicloud-glm-4.7,alicloud-glm-5,alicloud-kimi-k2-instruct,alicloud-kimi-k2-thinking,alicloud-minimax-m2.5,anthropic-opus-4-6,azure-deepseek-v3.2,azure-deepseek-v3.2-speciale,bai-qwen3-vl-235b-a22b-instruct,baidu/ERNIE-4.5-300B-A47B,cbs-glm-4.7,cerebras-llama-3.3-70b,chatglm_lite,chatglm_pro,chatglm_std,chatglm_turbo,chutesai/Mistral-Small-3.1-24B-Instruct-2503,claude-2,claude-2.0,claude-2.1,claude-3-haiku-20240229,claude-3-haiku-20240307,claude-3-haiku@20240307,claude-3-opus@20240229,claude-3-sonnet-20240229,claude-instant-1,claude-instant-1.2,code-davinci-edit-001,codestral-latest,codex-mini-latest,coding-glm-4.5-air,coding-kimi-k3.1-pro,coding-kimi-k3.1-pro-highspeed,coding-xiaomi-mimo-v2.6-pro,command,command-light,command-light-nightly,command-nightly,command-r,command-r-08-2024,command-r-plus,command-r-plus-08-2024,computer-use-preview,davinci,davinci-002,deepinfra-gemma-4-26b-a4b-it,deepinfra-llama-3.1-8b-instant,deepinfra-llama-3.3-70b-instant-turbo,deepinfra-llama-4-maverick-17b-128e-instruct,deepinfra-llama-4-scout-17b-16e-instruct,deepinfra-nvidia-nemotron-3-nano-30b-a3b2,deepseek-ai/DeepSeek-Coder-V2-Instruct,deepseek-ai/DeepSeek-Prover-V2-671B,deepseek-ai/DeepSeek-R1-Distill-Llama-70B,deepseek-ai/DeepSeek-R1-Distill-Llama-8B,deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B,deepseek-ai/DeepSeek-R1-Distill-Qwen-14B,deepseek-ai/DeepSeek-R1-Distill-Qwen-32B,deepseek-ai/DeepSeek-R1-Distill-Qwen-7B,deepseek-ai/DeepSeek-R1-Zero,deepseek-ai/DeepSeek-V2-Chat,deepseek-ai/DeepSeek-V2.5,deepseek-ai/Janus-Pro-7B,deepseek-ai/deepseek-llm-67b-chat,deepseek-ai/deepseek-vl2,deepseek-r1-distill-llama-70b,deepseek-r1-distill-qianfan-llama-8b,deepseek-v3,doubao-1-5-pro-256k-250115,doubao-1-5-pro-32k-250115,doubao-1-5-thinking-vision-pro-250428,doubao-seed-1-6-250615,doubao-seed-1-6-flash-250615,doubao-seed-1-6-thinking,doubao-seed-1-6-thinking-250615,doubao-seed-1-6-vision-250815,doubao-seed-2-1-pro-260628,doubao-seed-code-preview-latest,ernie-x1-turbo,ernie-x1.1-preview,gemini-2.5-pro-exp-03-25,gemini-2.5-pro-preview-06-05,gemini-2.5-pro-preview-06-05-search,gemini-exp-1114,gemini-exp-1121,gemini-exp-1206,gemini-nano-banana-2.1,gemini-pro,gemini-pro-vision,gemma-3-12b-it,gemma-3-1b-it,gemma-3-27b-it,gemma-3-4b-it,gemma-3n-e4b-it,gemma-7b-it,glm-3-turbo,glm-4,glm-4-flash,glm-4-plus,glm-4.5,glm-4.5-air,glm-4.5-airx,glm-4.5-x,glm-4v,glm-4v-plus,glm-5.3-flashx,glm-5.3-prime,glm-zero-preview,google-gemma-3-12b-it,google-gemma-3-27b-it,google-gemma-3-4b-it,google/gemini-exp-1114,google/gemma-2-27b-it,gpt-3.5-turbo-16k,gpt-4o-2024-05-13,gpt-4o-2024-08-06,gpt-4o-2024-08-06-global,gpt-4o-2024-11-20,gpt-4o-mini,gpt-4o-mini-2024-07-18,gpt-4o-mini-global,gpt-4o-mini-search-preview,gpt-4o-search-preview,gpt-4o-zh,gpt-5.6-sol-pro,gpt-oss-120b,gpt-oss-20b,grok-2-1212,grok-2-vision-1212,grok-3,grok-3-beta,grok-3-fast,grok-3-fast-beta,grok-3-mini,grok-3-mini-beta,grok-3-mini-fast-beta,grok-vision-beta,groq-llama-3.1-8b-instant,groq-llama-3.3-70b-versatile,groq-llama-4-maverick-17b-128e-instruct,groq-llama-4-scout-17b-16e-instruct,kat-dev,kimi-k3.1-pro,kimi-k3.1-pro-highspeed,kimi-thinking-preview,laguna-s-2.1,laguna-xs-2.1,learnlm-1.5-pro-experimental,ling-3.0-flash,llama-3.1-405b-instruct,llama-3.1-405b-reasoning,llama-3.1-70b,llama-3.1-70b-versatile,llama-3.1-8b-instant,llama-3.2-11b-vision-preview,llama-3.2-1b-preview,llama-3.2-3b-preview,llama-3.2-90b-vision-preview,llama-3.3-70b,llama-3.3-70b-instruct,llama2-7b-2048,llama3-70b-8192,llama3-70b-8192(33),llama3-8b-8192,llama3-8b-8192(33),llama3-groq-70b-8192-tool-use-preview,llama3-groq-8b-8192-tool-use-preview,llama3.1-8b,mercury-2.5,meta-llama-3-70b,meta-llama-3-8b,meta-llama/Llama-3.2-90B-Vision-Instruct,meta-llama/llama-3.1-405b-instruct:free,meta-llama/llama-3.1-70b-instruct:free,meta-llama/llama-3.1-8b-instruct:free,meta-llama/llama-3.2-11b-vision-instruct:free,meta-llama/llama-3.2-3b-instruct:free,meta/llama-3.1-405b-instruct,meta/llama3-8B-chat,minimax-m3.1-flash,mistralai/mistral-7b-instruct:free,moonshot-v1-128k,moonshot-v1-128k-vision-preview,moonshot-v1-32k,moonshot-v1-32k-vision-preview,moonshot-v1-8k,moonshot-v1-8k-vision-preview,moonshotai/Kimi-Dev-72B,moonshotai/Moonlight-16B-A3B-Instruct,nvidia-llama-3.1-nemotron-70b-instruct,nvidia-llama-3.3-nemotron-super-49b-v1.5,nvidia-nemotron-3-nano-30b-a3b,nvidia-nemotron-nano-12b-v2-vl,nvidia-nemotron-nano-9b-v2,nvidia/Llama-3_1-Nemotron-Ultra-253B-v1,o1,o1-2024-12-17,o1-global,o1-mini,o1-mini-2024-09-12,o1-preview,o1-preview-2024-09-12,o1-pro,o3-deep-research,o3-global,o3-mini-global,o3-pro-global,qianfan-chinese-llama-2-13b,qianfan-llama-vl-8b,qianfan-qi-vl,qwen-3-235b-a22b-instruct-2507,qwen-3-235b-a22b-thinking-2507,qwen-3-32b,qwen-3.8-27b,qwen-flash,qwen-flash-2025-07-28,qwen-long,qwen-max,qwen-max-0125,qwen-max-longcontext,qwen-mt-plus,qwen-mt-turbo,qwen-plus,qwen-plus-2025-04-28,qwen-plus-2025-07-28,qwen-qwq-32b,qwen-turbo,qwen-turbo-2024-11-01,qwen-turbo-2025-04-28,qwen-turbo-latest,qwen2.5-14b-instruct,qwen2.5-32b-instruct,qwen2.5-3b-instruct,qwen2.5-72b-instruct,qwen2.5-7b-instruct,qwen2.5-coder-1.5b-instruct,qwen2.5-coder-7b-instruct,qwen2.5-math-1.5b-instruct,qwen2.5-math-72b-instruct,qwen2.5-math-7b-instruct,qwen2.5-vl-72b-instruct,qwen3-0.6b,qwen3-1.7b,qwen3-14b,qwen3-235b-a22b-2507,qwen3-235b-a22b-instruct-2507,qwen3-235b-a22b-thinking-2507,qwen3-30b-a3b,qwen3-30b-a3b-instruct-2507,qwen3-30b-a3b-thinking-2507,qwen3-32b,qwen3-4b,qwen3-8b,qwen3-coder-30b-a3b-instruct,qwen3-coder-480b-a35b-instruct,qwen3-coder-flash,qwen3-coder-plus,qwen3-coder-plus-2025-07-22,qwen3-max-preview,qwen3-next-80b-a3b-thinking,sf-kimi-k2-thinking,step-2-16k,stepfun-ai/step3,tencent/Hunyuan-A13B-Instruct,tencent/Hunyuan-MT-7B,text-ada-001,text-babbage-001,text-curie-001,text-davinci-002,text-davinci-003,text-davinci-edit-001,tngtech/DeepSeek-R1T-Chimera,unsloth/gemma-3-12b-it,unsloth/gemma-3-27b-itSkipped — by alias policy(61)
按既定口径排除,不是「网关有而我们漏同步」。构成:
-free免费档变体 39 个、cc-*Claude Code 路由别名(endpoints为空,在 Dify 的对话场景里没有意义) 21 个、按 id 点名排除(路由模型,给不出确定的能力面与价格) 1 个。-free免费档变体:agents-a1-free,coding-glm-4.6-free,coding-glm-4.7-free,coding-glm-5-free,coding-glm-5-turbo-free,coding-glm-5.1-free,coding-glm-5.2-free,coding-glm-5.3-flash-free,coding-glm-5.3-free,coding-kimi-k3-free,coding-minimax-m2-free,coding-minimax-m2.1-free,coding-minimax-m2.5-free,coding-minimax-m2.7-free,coding-minimax-m3-free,dots-3-note-preview-free,flint-v1.0-free,gemma-4-26b-a4b-it-free,gemma-4-31b-it-free,glm-4.7-flash-free,intern-s2-free,k2.6-code-preview-free,kimi-for-coding-free,laguna-s-2.1-free,laguna-xs-2.1-free,lfm-2.5-2.6b-free,mimo-v2-flash-free,nemotron-3-nano-omni-30b-a3b-reasoning-free,nemotron-3-ultra-550b-a55b-free,nemotron-3.5-content-safety-free,nemotron-3.5-lightning-free,nemotron-3.5-super-vl-free,north-mini-code-free,qwen3.6-plus-preview-free,qwen3.8-flash-free,qwen3.8-max-free,xiaomi-mimo-v2.6-flash-free,xiaomi-mimo-v2.6-pro-free,xing4.0-29b-a4b-freecc-*Claude Code 路由别名(endpoints为空,在 Dify 的对话场景里没有意义):cc-MiniMax-M2,cc-deepseek-v3,cc-deepseek-v3.1,cc-doubao-seed-code-preview-latest,cc-ernie-4.5-300b-a47b,cc-glm-4.6,cc-glm-4.7,cc-glm-5,cc-glm-5-turbo,cc-glm-5.1,cc-k2.6-code-preview,cc-kimi-dev-72b,cc-kimi-for-coding,cc-kimi-k2-instruct,cc-kimi-k2-instruct-0905,cc-kimi-k2-thinking,cc-minimax-m2,cc-minimax-m2.1,cc-minimax-m2.5,cc-minimax-m2.5-highspeed,cc-minimax-m3按 id 点名排除(路由模型,给不出确定的能力面与价格):
autoRelease Notes
grok-4-fast-non-reasoning,grok-4-fast-reasoningChange Type
Screenshots / Videos
LLM Plugin Checklist
Areas affected by this change (check all that apply)
Version
versioninmanifest.yaml(not the one undermeta) — this PR moves it0.0.58→0.0.59.dify_plugin>=0.3.0,<0.11.0is declared inpyproject.tomland locked inuv.lock(or kept inrequirements.txtfor legacy plugins withoutuv.lock) — SDK docs — this checkout declares>=0.10.2and locks0.10.2, inside the supported range; untouched by this PR.Testing
Why both testing boxes are left unchecked
This automation rewrites model definition yaml; it never boots a Dify instance, so it cannot honestly tick either box. What is verified before this PR is opened:
aihubmix-canon'smake check;.github/workflows/pre-pr-check-per-plugin.yaml);manifest.yaml, plus the pinned registered-id total intests/test_top100_models.py(259→257) — that number is pinned bytest_every_new_model_is_registered, so it moves in the same PR that changes_position.yaml. Nomain.py/provider/code path is touched.A human should still confirm the new models behave in the Dify model picker before merging.