How to use from
OpenClaw
Start the MLX server
# Install MLX LM:
uv tool install mlx-lm
# Start a local OpenAI-compatible server:
mlx_lm.server --model "dzdave/gpt-oss-20b-commit-mlx"
Configure OpenClaw
# Install OpenClaw:
npm install -g openclaw@latest
# Register the local server and set it as the default model:
openclaw onboard --non-interactive --mode local \
  --auth-choice custom-api-key \
  --custom-base-url http://127.0.0.1:8080/v1 \
  --custom-model-id "dzdave/gpt-oss-20b-commit-mlx" \
  --custom-provider-id mlx-lm \
  --custom-compatibility openai \
  --custom-text-input \
  --accept-risk \
  --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
Quick Links

gpt-oss-20b-commit (MLX, MXFP4)

A LoRA fine-tune of openai/gpt-oss-20b specialised for git commit-message generation and closed-form, fully-anchored mechanical text edits. The adapter was fused into the base and the result quantised to MLX MXFP4 (attention and router kept at 8-bit affine). ~11 GB on disk, ~12 GB resident.

This is a genuine weight-level fine-tune, not a prompt wrapper. It is the Tier-3 "exactly this" executor in a local trading-agent stack — handed a file, a verbatim anchor, and the exact text to produce, and nothing wider.

What it is good at (measured)

Scored on a fixed grader written before the model ran, one model resident at a time, temperature 0.2.

Task Result
Anchored mechanical edit (5 edits, byte-identity) 10/10 — byte-identical to the reference
Generate two modules from a spec 8/8
Concurrency + backpressure implementation 7/10
First-attempt Pydantic-schema validity 8/8

The anchored-edit 10/10 is the job it exists for: given file + exact anchor + exact replacement, it reproduces the reference edit exactly.

What it must NOT be used for

This tune traded agentic capability for its edit precision. Do not put it on a tool-calling or numeric path. Measured regressions vs. the base:

  • Tool-deference 0/5 — it computes numbers in its head and invents them (e.g. a stop of 235.20 from 250 − 2×7.40) instead of calling a tool. Never let it emit a number to a human.
  • Multi-tool selection 2/8 — frequently answers in prose instead of calling any tool.
  • Multi-turn policy/steps 2/4 · 1/4 — unreliable as an orchestrator.

Keep it for mechanical text transforms and commit messages; route judgement, tool use, and anything that emits a number elsewhere.

Runtime footguns

  • It repeats its output — truncate to the first occurrence.
  • It hangs on a stop parameter — bound generation with max_tokens instead.

Use it

pip install mlx-lm
python -m mlx_lm generate --model dzdave/gpt-oss-20b-commit-mlx \
  --prompt "Write a git commit message for: <diff>" --max-tokens 256

Also loads directly in LM Studio (MLX runtime).

Provenance & license

  • Base: openai/gpt-oss-20b (Apache-2.0), fused onto the mlx-community/gpt-oss-20b-MXFP4-Q8 MLX build.
  • Method: LoRA fine-tune on commit-message data, adapters fused, then MXFP4 quantisation.
  • License: Apache-2.0, inherited from the base. Attribution to OpenAI's gpt-oss-20b required.
  • Architecture GptOssForCausalLM · gpt_oss · MoE 32×2.4B.
Downloads last month
74
Safetensors
Model size
4B params
Tensor type
BF16
·
U8
·
U32
·
MLX
Hardware compatibility
Log In to add your hardware

4-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for dzdave/gpt-oss-20b-commit-mlx

Quantized
(231)
this model