CoolFace
Modelpublic

smirki/qwen3.5-4b-terminal-v1

sourceHugging Faceapache-2.0updated 23d agoView on Hugging Face
0likes241downloads
Model Card

smirki/qwen3.5-4b-terminal-v1

A Qwen3.5-4B variant for terminal and coding-agent use. Full merged weights in bf16, same architecture, tokenizer, chat template, and native XML tool-call format as Qwen/Qwen3.5-4B. Drop-in replacement wherever the base model runs.

Terminal-Bench 2.1

Harbor terminus-2 harness, k=2 attempts per task, 65,536-token context with 8,192 output tokens per turn, thinking on, shipped per-task timeouts, at most 24 concurrent trials per H100. The stock model was run under the identical setup. 76 of the 89 tasks (the 13 with agent budgets of 60 minutes or more were not run for either column).

Qwen3.5-4Bthis model
mean reward (152 trials)0.1450.211
tasks solved at least once15 / 7621 / 76
tasks solved both attempts711
trials timed out9583
median output tokens per trial29.1k29.6k

Per task: 10 improved, 1 regressed, 65 unchanged (sign test p = 0.012).

Running it

bash
vllm serve smirki/qwen3.5-4b-terminal-v1 \
  --max-model-len 65536 \
  --language-model-only \
  --enable-auto-tool-choice --tool-call-parser qwen3_xml \
  --reasoning-parser qwen3

--language-model-only drops the unused vision tower. The tool-call parser name is qwen3_xml (alias qwen3_coder) in vLLM 0.28; the hermes parser does not understand this model's tool-call format.

Sampling defaults from the Qwen3.5 model card apply unchanged: thinking mode temperature 1.0 / topp 0.95 / topk 20 / presencepenalty 1.5; non-thinking mode temperature 0.7 / topp 0.8 / topk 20. Non-thinking mode is selected by passing `enablethinking=False` to the chat template, exactly as for the base model.

python
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")
r = client.chat.completions.create(
    model="smirki/qwen3.5-4b-terminal-v1",
    messages=[{"role": "user", "content": "List the largest files under /var/log."}],
    tools=[{"type": "function", "function": {
        "name": "bash",
        "description": "Run a shell command",
        "parameters": {"type": "object",
                       "properties": {"command": {"type": "string"}},
                       "required": ["command"]}}}],
)
print(r.choices[0].message.tool_calls)

Files

model.safetensors (bf16, 9.1 GB), config.json, generation_config.json, tokenizer files, and the preprocessor configs inherited from the base model.

License

Apache-2.0, inheriting the license of Qwen/Qwen3.5-4B by the Qwen team, Alibaba Cloud.