Instructions to use infosave/Spark-X2.6-4B-cmf with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- cortiq
How to use infosave/Spark-X2.6-4B-cmf with cortiq:
# one Rust binary, no additional dependencies cargo install cortiq-cli # or a prebuilt binary from github.com/infosave2007/cmf/releases hf download infosave/Spark-X2.6-4B-cmf --include "*.cmf" --local-dir . ls *.cmf # some repos ship more than one quantization
cortiq run FILE.cmf --prompt "What is the capital of France?"
cortiq serve FILE.cmf --port 8080 # OpenAI-compatible server
- Notebooks
- Google Colab
- Kaggle
Spark-X2.6-4B — CMF
Spark-X2.6-4B (4.11 B dense,
hybrid attention: 9 full layers + 27 sliding-window layers of 512 tokens,
1M-token context, thinking mode, tool calling) packaged as single
CMF files. They run with cortiq, a
Rust inference engine with no Python and no ML framework: NVIDIA, AMD and
Intel GPUs through Vulkan/DX12, Apple silicon through Metal, and the CPU.
X2.6 keeps the Spark-X2.5-4B architecture and improves post-training (coding, agentic, long-context, multilingual, reasoning).
Quick start
cargo install cortiq-cli
hf download infosave/Spark-X2.6-4B-cmf spark-x2.6-4b-q8_2f.cmf --local-dir .
cortiq run spark-x2.6-4b-q8_2f.cmf --prompt "Explain quicksort in three sentences." --no-think
Use cortiq 0.8.31 or later; prebuilt binaries for Linux, macOS and Windows are
on the releases page. The
engine picks the GPU and its settings itself. --no-think asks for a direct
answer; without it the model reasons in a <think> block first, so raise
--max-tokens (default 256).
Files
| file | quantization | size | wikitext-2 ppl | recommended for |
|---|---|---|---|---|
spark-x2.6-4b-q8_2f.cmf |
8-bit projections (q8_2f), f16 embeddings/norms | 4,135,951,050 B (4.14 GB) | 10.71 | default: highest fidelity |
spark-x2.6-4b-q4tp.cmf |
4-bit projections (q4tp), f16 embeddings/norms | 2,161,419,978 B (2.16 GB) | 11.88 | half the memory, faster decode (+10.9 % ppl) |
Both files carry 362 tensors: 253 quantized projections + 109 f16 (embeddings, norms, rotary buffers), quantized from the bf16 checkpoint.
Perplexity: first 4096 tokens of wikitext-2 test with the model's BOS token
in front, cortiq ppl --tokens 4096, exact attention, measured on the
RTX 2000 Ada. Cross-check with the identical command on
Spark-X2.5-4B-q8_2f.cmf gives 10.94 (that card lists 10.68; the text file
here is rebuilt from the parquet, so a small protocol difference remains).
Performance
cortiq bench --core --ignore-eos --tokens 120, decode tok/s, one stream:
| hardware | backend | q8_2f | q4tp |
|---|---|---|---|
| RTX 2000 Ada (16 GB) | Vulkan | 41.5 | 67.2 |
| Xeon E5-2699 v4, 6 cores | CPU | 4.5 | 4.8 |
Prompt processing and decode at depth (--ctx, synthetic prompt of N tokens,
RTX 2000 Ada, Vulkan):
| prompt | q8_2f prefill | q4tp prefill | q8_2f decode | q4tp decode |
|---|---|---|---|---|
| 1 000 tokens | 370.3 | 350.6 | 38.0 | 58.7 |
| 16 000 tokens | 400.2 | 325.8 | 20.3 | 36.9 |
Time to first token on the same GPU at the bench's 41-token prompt: 0.91 s (q8_2f), 0.42 s (q4tp). The graph capture takes 119 of the 120 bench tokens.
Resident weights on the GPU: 4.11 GB (q8_2f), 2.14 GB (q4tp), against a reported VRAM budget of 14.49 GB — both profiles fit a 16 GB card at long context.
Quality checks
Greedy cortiq run --no-think battery, run on both files on the CPU and on
the GPU (Vulkan); the answers agree across files and backends unless noted:
| check | expected | result |
|---|---|---|
17 * 23 |
391 |
pass |
1234 + 5678 |
6912 |
pass |
| capital of France, one word | Paris |
pass |
| start of WWII (Russian) | 1939 |
pass |
| one-line Python printing 2+3 | print(2 + 3) |
pass |
| syllogism: all cats / some mammals swim | invalid |
pass |
| syllogism: all roses / some flowers fade | invalid |
fails — answers "valid"/"yes" on both files, CPU and GPU |
| exactly two sentences about a robot gardener | 2 sentences | pass |
| one sentence on photosynthesis | 1 sentence | pass |
The roses/flowers item tests the undistributed middle; the model misses it consistently, while the structurally identical cats/mammals item passes. Treat it as a known reasoning miss, not a quantization artifact — both quant profiles and both backends behave the same.
Usage
cortiq run spark-x2.6-4b-q8_2f.cmf # interactive chat
cortiq run spark-x2.6-4b-q8_2f.cmf --prompt "..." # one answer, with reasoning
cortiq run spark-x2.6-4b-q8_2f.cmf --prompt "..." --no-think # answer without the thinking block
cortiq run spark-x2.6-4b-q8_2f.cmf --prompt "..." --greedy # deterministic output
XHToken recommends temperature 1.0 and top-p 0.95 (the upstream generation
example uses temperature=1.0, top_p=0.95, top_k=0):
cortiq run spark-x2.6-4b-q8_2f.cmf --temperature 1.0 --top-p 0.95 --top-k 0 --min-p 0 --rep-penalty 1.0 --max-tokens 4096 --prompt "..."
Without flags the CLI uses temperature 0.7, top-p 0.9, top-k 40, min-p 0.05,
repetition penalty 1.1 and at most 256 new tokens. --top-k 0 and
--rep-penalty 1.0 switch those filters off.
OpenAI-compatible server
cortiq serve spark-x2.6-4b-q8_2f.cmf --port 8080
curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model": "spark-x2.6-4b-q8_2f", "temperature": 1.0, "top_p": 0.95,
"messages": [{"role": "user", "content": "Hi!"}]}'
Endpoints: /v1/chat/completions, /v1/completions, /v1/models, plus a web
dashboard on the same port. --host 127.0.0.1 keeps the server local. The
reply reads <think>…</think> answer; "enable_thinking": false in the request
gives a direct answer, and temperature: 0 means greedy decoding. tools are
accepted in the usual OpenAI format and go through the embedded chat template.
Hardware
Apple silicon (Metal). Runs on the GPU out of the box.
Choosing a GPU (Vulkan). cortiq gpu lists the adapters;
CMF_GPU_ADAPTER=1 (index or name substring) picks one. If the list is empty
on Linux, install libvulkan1 libglvnd0 libegl1 libgl1 libglx0; on headless
machines set XDG_RUNTIME_DIR=/tmp.
CPU only. CMF_GPU=0 keeps everything on the CPU. The CPU rows above
come from a 6-core Xeon E5-2699 v4 at 2.2 GHz; CMF_THREADS=6 was the best
of the 6/12 sweep.
Long context
The model supports 1 048 576 tokens (max_position_embeddings), with a
512-token sliding window on 27 of the 36 layers and full attention on the
other 9. The KV state measured by bench --ctx: 294,912,000 B at 1 000
tokens and 1,335,361,536 B (1.24 GiB) at 16 000 tokens — about 72 KB per
token for the 9 full-attention layers (4 KV heads × 256 dims × K+V × f32);
sliding layers keep only the rows their window reads. Raise the context
limit with CMF_MAX_SEQ:
CMF_MAX_SEQ=131072 cortiq run spark-x2.6-4b-q8_2f.cmf --prompt "..." --max-tokens 4096
Verify the download
sha256sum -c spark-x2.6-4b-q8_2f.cmf.sha256
sha256sum -c spark-x2.6-4b-q4tp.cmf.sha256
cortiq verify spark-x2.6-4b-q8_2f.cmf
cortiq info spark-x2.6-4b-q8_2f.cmf
SHA-256:
spark-x2.6-4b-q8_2f.cmf—e9331f8f1c620fee81c7f673bdcf702dcd4c81458111f10d258c425cf330494fspark-x2.6-4b-q4tp.cmf—76fcaafe19e8c7119838bd2c1343751c2fdbcb37282417eb2838357ffd57937d
Weights derive from XHToken's release and remain under its Apache-2.0 terms.
Документация на русском
Spark-X2.6-4B (4.11 B dense,
гибридное внимание: 9 полных слоёв + 27 слоёв со скользящим окном 512
токенов, контекст до 1M токенов, режим рассуждений, вызов инструментов) в
виде отдельных файлов CMF.
Запускается движком cortiq на Rust без Python и ML-фреймворков: GPU NVIDIA,
AMD и Intel через Vulkan/DX12, Apple silicon через Metal, а также CPU.
X2.6 сохраняет архитектуру Spark-X2.5-4B и улучшен постобучение (код, агентные сценарии, длинный контекст, многоязычие, рассуждения).
Быстрый старт
cargo install cortiq-cli
hf download infosave/Spark-X2.6-4B-cmf spark-x2.6-4b-q8_2f.cmf --local-dir .
cortiq run spark-x2.6-4b-q8_2f.cmf --prompt "Объясни квиксорт в трёх предложениях." --no-think
Используйте cortiq 0.8.31 или новее; готовые сборки для Linux, macOS и
Windows — на странице релизов.
--no-think даёт прямой ответ; без него модель сначала рассуждает в блоке
[…], поэтому увеличьте --max-tokens (по умолчанию 256).
Файлы
| файл | квантизация | размер | ppl wikitext-2 | назначение |
|---|---|---|---|---|
spark-x2.6-4b-q8_2f.cmf |
8 бит (q8_2f), эмбеддинги/нормы f16 | 4 135 951 050 Б (4.14 ГБ) | 10.71 | по умолчанию: максимальная точность |
spark-x2.6-4b-q4tp.cmf |
4 бита (q4tp), эмбеддинги/нормы f16 | 2 161 419 978 Б (2.16 ГБ) | 11.88 | вдвое меньше памяти, быстрее декодирование (+10.9 % ppl) |
Оба файла содержат 362 тензора: 253 квантованных проекции + 109 f16 (эмбеддинги, нормы, ротационные буферы), квантованы из bf16-чекпойнта.
Перплексия: первые 4096 токенов wikitext-2 test с BOS-токеном модели в
начале, cortiq ppl --tokens 4096, точное внимание, замер на RTX 2000 Ada.
Контроль тем же командой на Spark-X2.5-4B-q8_2f.cmf — 10.94 (в карточке
X2.5 указано 10.68; текстовый файл здесь пересобран из parquet, поэтому
остаётся небольшая разница протокола).
Скорость
cortiq bench --core --ignore-eos --tokens 120, декодирование, ток/с, один
поток:
| железо | бэкенд | q8_2f | q4tp |
|---|---|---|---|
| RTX 2000 Ada (16 ГБ) | Vulkan | 41.5 | 67.2 |
| Xeon E5-2699 v4, 6 ядер | CPU | 4.5 | 4.8 |
Обработка промпта и декодирование на глубине (--ctx, синтетический промпт
из N токенов, RTX 2000 Ada, Vulkan):
| промпт | q8_2f префилл | q4tp префилл | q8_2f декод | q4tp декод |
|---|---|---|---|---|
| 1 000 токенов | 370.3 | 350.6 | 38.0 | 58.7 |
| 16 000 токенов | 400.2 | 325.8 | 20.3 | 36.9 |
Время до первого токена на том же GPU при промпте бенча в 41 токен: 0.91 с (q8_2f), 0.42 с (q4tp). Граф захватывает 119 из 120 токенов бенча.
Веса, резидентные на GPU: 4.11 ГБ (q8_2f), 2.14 ГБ (q4tp) при заявленном бюджете VRAM 14.49 ГБ — оба профиля помещаются на карте с 16 ГБ и при длинном контексте.
Проверки качества
Батарея cortiq run --no-think на greedy: оба файла, CPU и GPU (Vulkan);
ответы совпадают между файлами и бэкендами, кроме отмеченного случая:
| проверка | ожидание | результат |
|---|---|---|
17 * 23 |
391 |
✓ |
1234 + 5678 |
6912 |
✓ |
| столица Франции, одно слово | Paris |
✓ |
| начало Второй мировой войны (рус.) | 1939 |
✓ |
| однострочный Python: сумма 2 и 3 | print(2 + 3) |
✓ |
| силлогизм: все кошки / некоторые млекопитающие плавают | invalid |
✓ |
| силлогизм: все розы / некоторые цветы быстро вянут | invalid |
ошибка — «valid»/«да» на обоих файлах, CPU и GPU |
| ровно два предложения о роботе-садовнике | 2 предложения | ✓ |
| одно предложение о фотосинтезе | 1 предложение | ✓ |
Силлогизм про розы проверяет недоспределённую посылку; модель стабильно его промахивает, при этом структурно тот же случай про кошек проходит. Это известная ошибка рассуждения, а не артефакт квантизации — оба профиля и оба бэкенда ведут себя одинаково.
Использование
cortiq run spark-x2.6-4b-q8_2f.cmf # интерактивный чат
cortiq run spark-x2.6-4b-q8_2f.cmf --prompt "..." # один ответ с рассуждением
cortiq run spark-x2.6-4b-q8_2f.cmf --prompt "..." --no-think # ответ без блока рассуждений
cortiq run spark-x2.6-4b-q8_2f.cmf --prompt "..." --greedy # детерминированный вывод
XHToken рекомендует temperature 1.0 и top-p 0.95 (пример генерации upstream:
temperature=1.0, top_p=0.95, top_k=0):
cortiq run spark-x2.6-4b-q8_2f.cmf --temperature 1.0 --top-p 0.95 --top-k 0 --min-p 0 --rep-penalty 1.0 --max-tokens 4096 --prompt "..."
Без флагов CLI использует temperature 0.7, top-p 0.9, top-k 40, min-p 0.05,
repetition penalty 1.1 и не более 256 новых токенов. --top-k 0 и
--rep-penalty 1.0 отключают эти фильтры.
Сервер с OpenAI-совместимым API:
cortiq serve spark-x2.6-4b-q8_2f.cmf --port 8080
curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model": "spark-x2.6-4b-q8_2f", "temperature": 1.0, "top_p": 0.95,
"messages": [{"role": "user", "content": "Привет!"}]}'
Эндпоинты /v1/chat/completions, /v1/completions, /v1/models и веб-панель
на том же порту. --host 127.0.0.1 оставляет сервер локальным. Ответ имеет
вид <think>…[…] ответ; "enable_thinking": false даёт прямой ответ,
temperature: 0 — greedy. tools передаются в обычном формате OpenAI и
проходят через встроенный шаблон чата.
Железо
Apple silicon (Metal). Работает на GPU без настройки.
Выбор GPU (Vulkan). cortiq gpu показывает адаптеры; CMF_GPU_ADAPTER=1
закрепляет нужный. Если на Linux список пуст, установите
libvulkan1 libglvnd0 libegl1 libgl1 libglx0; на машинах без дисплея
задайте XDG_RUNTIME_DIR=/tmp.
Только CPU. CMF_GPU=0 оставляет всё на процессоре. Строки CPU выше —
6-ядерный Xeon E5-2699 v4 на 2.2 ГГц; CMF_THREADS=6 оказался лучшим из
свипа 6/12.
Длинный контекст
Модель поддерживает 1 048 576 токенов, окно 512 токенов на 27 слоях из 36,
полное внимание на остальных 9. Измеренный KV-стейт (bench --ctx):
294 912 000 Б на 1 000 токенов и 1 335 361 536 Б (1.24 ГиБ) на 16 000
токенов — около 72 КБ на токен для 9 полных слоёв (4 KV-головы × 256
измерений × K+V × f32); скользящие слои хранят только строки своего окна.
Лимит контекста поднимается через CMF_MAX_SEQ:
CMF_MAX_SEQ=131072 cortiq run spark-x2.6-4b-q8_2f.cmf --prompt "..." --max-tokens 4096
Проверка загрузки
sha256sum -c spark-x2.6-4b-q8_2f.cmf.sha256
sha256sum -c spark-x2.6-4b-q4tp.cmf.sha256
cortiq verify spark-x2.6-4b-q8_2f.cmf
cortiq info spark-x2.6-4b-q8_2f.cmf
SHA-256:
spark-x2.6-4b-q8_2f.cmf—e9331f8f1c620fee81c7f673bdcf702dcd4c81458111f10d258c425cf330494fspark-x2.6-4b-q4tp.cmf—76fcaafe19e8c7119838bd2c1343751c2fdbcb37282417eb2838357ffd57937d
Веса получены из релиза XHToken и распространяются на условиях Apache-2.0.
中文文档
Spark-X2.6-4B(4.11 B dense,
混合注意力:9 层全注意力 + 27 层 512 token 滑动窗口,最长 1M token 上下文,
支持思考模式与工具调用)打包为独立的 CMF
文件,由 cortiq 运行——一个不依赖 Python 和机器学习框架的 Rust 推理引擎:
NVIDIA、AMD、Intel 显卡走 Vulkan/DX12,Apple silicon 走 Metal,也可在 CPU
上运行。
X2.6 保持 Spark-X2.5-4B 的架构,改进了后训练(代码、智能体、长上下文、 多语言、推理)。
快速开始
cargo install cortiq-cli
hf download infosave/Spark-X2.6-4B-cmf spark-x2.6-4b-q8_2f.cmf --local-dir .
cortiq run spark-x2.6-4b-q8_2f.cmf --prompt "用三句话解释快速排序。" --no-think
建议使用 cortiq 0.8.31 或更新版本;Linux、macOS、Windows 预编译二进制见
发布页面。--no-think 直接
给出回答;不加该参数时模型会先在 […] 块中思考,请调高
--max-tokens(默认 256)。
文件
| 文件 | 量化 | 大小 | wikitext-2 困惑度 | 适用场景 |
|---|---|---|---|---|
spark-x2.6-4b-q8_2f.cmf |
8 位投影(q8_2f),嵌入/归一化 f16 | 4 135 951 050 B(4.14 GB) | 10.71 | 默认:最高保真度 |
spark-x2.6-4b-q4tp.cmf |
4 位投影(q4tp),嵌入/归一化 f16 | 2 161 419 978 B(2.16 GB) | 11.88 | 内存减半、解码更快(困惑度 +10.9%) |
两个文件均含 362 个张量:253 个量化投影 + 109 个 f16(嵌入、归一化、 旋转缓冲),由 bf16 检查点量化而来。
困惑度:wikitext-2 test 的前 4096 个 token,开头加模型的 BOS token,
cortiq ppl --tokens 4096,精确注意力,测于 RTX 2000 Ada。用同一命令在
Spark-X2.5-4B-q8_2f.cmf 上交叉验证为 10.94(该卡标注 10.68;此处文本
从 parquet 重建,仍存在微小的协议差异)。
性能
cortiq bench --core --ignore-eos --tokens 120,解码速度,tok/s,单流:
| 硬件 | 后端 | q8_2f | q4tp |
|---|---|---|---|
| RTX 2000 Ada(16 GB) | Vulkan | 41.5 | 67.2 |
| Xeon E5-2699 v4,6 核 | CPU | 4.5 | 4.8 |
提示词处理与深度解码(--ctx,N token 合成提示词,RTX 2000 Ada,Vulkan):
| 提示词 | q8_2f 预填充 | q4tp 预填充 | q8_2f 解码 | q4tp 解码 |
|---|---|---|---|---|
| 1 000 token | 370.3 | 350.6 | 38.0 | 58.7 |
| 16 000 token | 400.2 | 325.8 | 20.3 | 36.9 |
同一 GPU 上 41 token 提示词的首 token 延迟:0.91 s(q8_2f)、0.42 s (q4tp)。图捕获了 120 个 bench token 中的 119 个。
GPU 常驻权重:4.11 GB(q8_2f)、2.14 GB(q4tp),VRAM 预算为 14.49 GB—— 两个配置在长上下文下都能放进 16 GB 显卡。
质量检查
greedy cortiq run --no-think 测试组,两个文件、CPU 与 GPU(Vulkan)均
已运行;除标注项外答案一致:
| 检查项 | 期望 | 结果 |
|---|---|---|
17 * 23 |
391 |
通过 |
1234 + 5678 |
6912 |
通过 |
| 法国首都(单词) | Paris |
通过 |
| 二战开始年份(俄语) | 1939 |
通过 |
| 打印 2+3 的单行 Python | print(2 + 3) |
通过 |
| 三段论:所有猫 / 有些哺乳动物会游泳 | invalid |
通过 |
| 三段论:所有玫瑰 / 有些花凋谢快 | invalid |
失败——两个文件、CPU 和 GPU 都答“valid/是” |
| 恰好两句关于园艺机器人 | 2 句 | 通过 |
| 一句话解释光合作用 | 1 句 | 通过 |
玫瑰/花的题目考查中项不周延,模型稳定地答错;结构相同的猫/哺乳动物题 则通过。这是已知的推理失误,而非量化伪影——两种量化配置和两个后端表现 一致。
使用
cortiq run spark-x2.6-4b-q8_2f.cmf # 交互式对话
cortiq run spark-x2.6-4b-q8_2f.cmf --prompt "..." # 单次回答(含思考)
cortiq run spark-x2.6-4b-q8_2f.cmf --prompt "..." --no-think # 不输出思考块
cortiq run spark-x2.6-4b-q8_2f.cmf --prompt "..." --greedy # 确定性输出
XHToken 推荐 temperature 1.0、top-p 0.95(上游生成示例:
temperature=1.0, top_p=0.95, top_k=0):
cortiq run spark-x2.6-4b-q8_2f.cmf --temperature 1.0 --top-p 0.95 --top-k 0 --min-p 0 --rep-penalty 1.0 --max-tokens 4096 --prompt "..."
不加参数时 CLI 使用 temperature 0.7、top-p 0.9、top-k 40、min-p 0.05、
repetition penalty 1.1,最多生成 256 个新 token。--top-k 0 和
--rep-penalty 1.0 关闭这两项过滤。
OpenAI 兼容 API 服务器:
cortiq serve spark-x2.6-4b-q8_2f.cmf --port 8080
curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model": "spark-x2.6-4b-q8_2f", "temperature": 1.0, "top_p": 0.95,
"messages": [{"role": "user", "content": "你好!"}]}'
提供 /v1/chat/completions、/v1/completions、/v1/models 端点,同一端口
还有网页控制台。--host 127.0.0.1 仅限本机访问。回答形式为
[…] […] 回答;请求中 "enable_thinking": false 直接给出回答,
temperature: 0 表示贪心解码。tools 按常规 OpenAI 格式传入,经内置聊天
模板处理。
硬件
Apple silicon(Metal)。 开箱即用 GPU 加速。
选择显卡(Vulkan)。 cortiq gpu 列出所有适配器;CMF_GPU_ADAPTER=1
指定使用哪一块。若 Linux 上列表为空,请安装
libvulkan1 libglvnd0 libegl1 libgl1 libglx0;无显示器的机器需设置
XDG_RUNTIME_DIR=/tmp。
仅用 CPU。 CMF_GPU=0 让所有计算留在 CPU 上。表中 CPU 数据来自
2.2 GHz 的 6 核 Xeon E5-2699 v4;CMF_THREADS=6 是 6/12 线程扫描中最优的。
长上下文
模型支持 1 048 576 个 token,36 层中 27 层为 512 token 滑动窗口,其余 9 层
全注意力。实测 KV 状态(bench --ctx):1 000 token 时 294 912 000 B,
16 000 token 时 1 335 361 536 B(1.24 GiB)——9 个全注意力层每 token 约
72 KB(4 个 KV 头 × 256 维 × K+V × f32);滑动层只保留窗口读取的行。
用 CMF_MAX_SEQ 提高上下文限制:
CMF_MAX_SEQ=131072 cortiq run spark-x2.6-4b-q8_2f.cmf --prompt "..." --max-tokens 4096
校验下载
sha256sum -c spark-x2.6-4b-q8_2f.cmf.sha256
sha256sum -c spark-x2.6-4b-q4tp.cmf.sha256
cortiq verify spark-x2.6-4b-q8_2f.cmf
cortiq info spark-x2.6-4b-q8_2f.cmf
SHA-256:
spark-x2.6-4b-q8_2f.cmf—e9331f8f1c620fee81c7f673bdcf702dcd4c81458111f10d258c425cf330494fspark-x2.6-4b-q4tp.cmf—76fcaafe19e8c7119838bd2c1343751c2fdbcb37282417eb2838357ffd57937d
权重来自 XHToken 的发布,受其 Apache-2.0 条款约束。
- Downloads last month
- 77