Skip to content

feat(aihubmix): sync model catalog from aihubmix-canon - #4119

Merged
crazywoola merged 2 commits into
langgenius:mainfrom
0genlab:feat/aihubmix-model-sync
Oct 29, 2026
Merged

crazywoola merged 2 commits into
langgenius:mainfrom
0genlab:feat/aihubmix-model-sync

Conversation

@0genlab

@0genlab 0genlab commented Oct 26, 2026

Copy link
Copy Markdown
Contributor

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 the manifest.yaml version bump, and the test / routing edits below. The registered-id total pinned in tests/test_top100_models.py moves 259 → 257 in 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. renamed lines 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.

model type directory add regenerate patch retire
llm models/llm/ 0 0 0 2
rerank models/rerank/ 0 0 0 0
text-embedding models/text_embedding/ 0 0 0 0
tts models/tts/ 0 0 0 0
speech2text models/speech2text/ 0 0 0 0

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.1

Skipped — 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-it

Skipped — 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-free

  • cc-* 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 点名排除(路由模型,给不出确定的能力面与价格):auto

Release Notes

  • Removed 2 model(s) no longer served by the gateway catalog: grok-4-fast-non-reasoning, grok-4-fast-reasoning

Change Type

  • Documentation / non-plugin change
  • Non-LLM plugin (tools, extensions, datasource, etc.)
  • LLM plugin

Screenshots / Videos

Before After
Model definition yaml only — nothing to screenshot. New / updated models show up in the Dify model picker.

LLM Plugin Checklist

Areas affected by this change (check all that apply)
  • Message flow (system messages, user ↔ assistant turn-taking)
  • Tool interaction flow (multi-round usage, Agent App and Agent Node)
  • Multimodal input (images, PDFs, audio, video, etc.)
  • Multimodal output (images, audio, video, etc.)
  • Structured output (JSON, XML, etc.)
  • Token consumption metrics
  • Other LLM functionality (reasoning, grounding, prompt caching, etc.)
  • New models / model parameter fixes

Version

  • Bumped top-level version in manifest.yaml (not the one under meta) — this PR moves it 0.0.58 → 0.0.59.
  • dify_plugin>=0.3.0,<0.11.0 is declared in pyproject.toml and locked in uv.lock (or kept in requirements.txt for legacy plugins without uv.lock) — SDK docs — this checkout declares >=0.10.2 and locks 0.10.2, inside the supported range; untouched by this PR.

Testing

  • Local deployment — Dify version: 1.7.0
  • SaaS (cloud.dify.ai)
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:

  • the generator's unit tests pin the yaml invariants (feature → capability mapping, per-backend parameter names, pricing unit/currency, retire rules) in aihubmix-canon's make check;
  • the plugin's own test suite runs upstream on approval (.github/workflows/pre-pr-check-per-plugin.yaml);
  • the diff is yaml + manifest.yaml, plus the pinned registered-id total in tests/test_top100_models.py (259 → 257) — that number is pinned by test_every_new_model_is_registered, so it moves in the same PR that changes _position.yaml. No main.py / provider/ code path is touched.

A human should still confirm the new models behave in the Dify model picker before merging.

Generated by aihubmix-canon @ cf77bb850390ff8ef71e1dbd5a7cd3ce05445b8f. See PR body for the full list.
Copilot AI balanced review requested due to automatic review settings October 26, 2026 03:45

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

crazywoola
crazywoola previously approved these changes Oct 29, 2026
Copilot AI balanced review requested due to automatic review settings October 29, 2026 03:29

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@crazywoola
crazywoola enabled auto-merge (squash) October 29, 2026 03:30
@crazywoola
crazywoola merged commit edc5577 into langgenius:main Oct 29, 2026
1 of 2 checks passed

This branch had an error being deployed

1 failed deployment
models/aihubmix — 34a6702b Deployed Oct 29, 2026 by crazywoola via test (models/aihubmix) #2938
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.

3 participants