feat: add Z.AI chat models + 5 new providers (#3)

* feat: add Z.AI chat models (GLM-5, GLM-4.7)

Sync with librefang/librefang#409 — add the two Z.AI chat models
to the standalone model catalog.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat: add 5 new providers (Stepfun, SiliconFlow, Baichuan, NVIDIA NIM, Writer)

- Stepfun (阶跃星辰): step-3.5-flash, step-3, step-2-mini, step-1o-turbo-vision
- SiliconFlow (硅基流动): inference platform, models discovered at runtime
- Baichuan (百川): Baichuan-4, Baichuan-3 Turbo 128K
- NVIDIA NIM: inference platform, models discovered at runtime
- Writer: Palmyra X5, X4, Med, Fin
- Add global aliases for stepfun, baichuan, writer

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Evan HuandClaude Opus 4.6 authored and GitHub committed 2026-03-16 18:07:07 +09:00
1 parent 360f964a1c
commit 3aa662bd6d
7 files changed
+209 -1

No files matched your search

+35
View File
@@ -0,0 +1,35 @@
# Baichuan (百川智能) — https://platform.baichuan-ai.com
# Models: 2
[provider]
id = "baichuan"
display_name = "Baichuan (百川)"
api_key_env = "BAICHUAN_API_KEY"
base_url = "https://api.baichuan-ai.com/v1"
key_required = true
[[models]]
id = "Baichuan4"
display_name = "Baichuan-4"
tier = "frontier"
context_window = 131072
max_output_tokens = 8192
input_cost_per_m = 14.30
output_cost_per_m = 14.30
supports_tools = true
supports_vision = false
supports_streaming = true
aliases = ["baichuan-4", "baichuan4"]
[[models]]
id = "Baichuan3-Turbo-128k"
display_name = "Baichuan-3 Turbo 128K"
tier = "smart"
context_window = 131072
max_output_tokens = 8192
input_cost_per_m = 7.15
output_cost_per_m = 7.15
supports_tools = true
supports_vision = false
supports_streaming = true
aliases = ["baichuan-3-turbo", "baichuan3-turbo"]
+9
View File
@@ -0,0 +1,9 @@
# NVIDIA NIM — https://build.nvidia.com
# Models: 0 (hosts third-party models, discovered dynamically at runtime)
[provider]
id = "nvidia-nim"
display_name = "NVIDIA NIM"
api_key_env = "NVIDIA_API_KEY"
base_url = "https://integrate.api.nvidia.com/v1"
key_required = true
+9
View File
@@ -0,0 +1,9 @@
# SiliconFlow (硅基流动) — https://siliconflow.cn
# Models: 0 (hosts third-party models, discovered dynamically at runtime)
[provider]
id = "siliconflow"
display_name = "SiliconFlow"
api_key_env = "SILICONFLOW_API_KEY"
base_url = "https://api.siliconflow.cn/v1"
key_required = true
+61
View File
@@ -0,0 +1,61 @@
# Stepfun (阶跃星辰) — https://platform.stepfun.com
# Models: 4
[provider]
id = "stepfun"
display_name = "Stepfun (阶跃星辰)"
api_key_env = "STEPFUN_API_KEY"
base_url = "https://api.stepfun.com/v1"
key_required = true
[[models]]
id = "step-3.5-flash"
display_name = "Step 3.5 Flash"
tier = "smart"
context_window = 256000
max_output_tokens = 256000
input_cost_per_m = 0.10
output_cost_per_m = 0.30
supports_tools = true
supports_vision = false
supports_streaming = true
aliases = ["stepfun-flash", "step-flash"]
[[models]]
id = "step-3"
display_name = "Step 3"
tier = "frontier"
context_window = 65536
max_output_tokens = 16384
input_cost_per_m = 0.57
output_cost_per_m = 1.43
supports_tools = true
supports_vision = true
supports_streaming = true
aliases = ["stepfun-3"]
[[models]]
id = "step-2-mini"
display_name = "Step 2 Mini"
tier = "fast"
context_window = 32768
max_output_tokens = 8192
input_cost_per_m = 0.14
output_cost_per_m = 0.29
supports_tools = true
supports_vision = false
supports_streaming = true
aliases = ["stepfun-mini"]
[[models]]
id = "step-1o-turbo-vision"
display_name = "Step 1o Turbo Vision"
tier = "smart"
context_window = 32768
max_output_tokens = 8192
input_cost_per_m = 0.36
output_cost_per_m = 1.14
supports_tools = false
supports_vision = true
supports_streaming = true
aliases = ["stepfun-vision"]
+61
View File
@@ -0,0 +1,61 @@
# Writer — https://writer.com
# Models: 4
[provider]
id = "writer"
display_name = "Writer"
api_key_env = "WRITER_API_KEY"
base_url = "https://api.writer.com/v1"
key_required = true
[[models]]
id = "palmyra-x5"
display_name = "Palmyra X5"
tier = "frontier"
context_window = 1048576
max_output_tokens = 8192
input_cost_per_m = 0.60
output_cost_per_m = 6.00
supports_tools = true
supports_vision = true
supports_streaming = true
aliases = ["palmyra-x5", "writer-x5"]
[[models]]
id = "palmyra-x4"
display_name = "Palmyra X4"
tier = "smart"
context_window = 131072
max_output_tokens = 4096
input_cost_per_m = 2.50
output_cost_per_m = 10.00
supports_tools = true
supports_vision = false
supports_streaming = true
aliases = ["palmyra-x4", "writer-x4"]
[[models]]
id = "palmyra-med"
display_name = "Palmyra Med"
tier = "smart"
context_window = 32768
max_output_tokens = 4096
input_cost_per_m = 5.00
output_cost_per_m = 12.00
supports_tools = false
supports_vision = false
supports_streaming = true
aliases = ["palmyra-med", "writer-med"]
[[models]]
id = "palmyra-fin"
display_name = "Palmyra Fin"
tier = "smart"
context_window = 131072
max_output_tokens = 4096
input_cost_per_m = 5.00
output_cost_per_m = 12.00
supports_tools = false
supports_vision = false
supports_streaming = true
aliases = ["palmyra-fin", "writer-fin"]
+27 -1
View File
@@ -1,5 +1,5 @@
# Z.AI — https://api.z.ai (Zhipu domain alias)
# Models: 0 (uses same models as zhipu, different domain)
# Models: 2
[provider]
id = "zai"
@@ -7,3 +7,29 @@ display_name = "Z.AI"
api_key_env = "ZHIPU_API_KEY"
base_url = "https://api.z.ai/api/paas/v4"
key_required = true
[[models]]
id = "zai/glm-5-20250605"
display_name = "GLM-5 (Z.AI)"
tier = "frontier"
context_window = 131072
max_output_tokens = 16384
input_cost_per_m = 1.0
output_cost_per_m = 3.2
supports_tools = true
supports_vision = true
supports_streaming = true
aliases = ["zai-glm-5"]
[[models]]
id = "zai/glm-4.7"
display_name = "GLM-4.7 (Z.AI)"
tier = "smart"
context_window = 131072
max_output_tokens = 16384
input_cost_per_m = 0.6
output_cost_per_m = 2.2
supports_tools = true
supports_vision = true
supports_streaming = true
aliases = ["zai-glm-4.7"]