Instructions to use peculiar-ragdoll/Cyber-Tiel-Coder-35B-A3B-MLX-oQ4e with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use peculiar-ragdoll/Cyber-Tiel-Coder-35B-A3B-MLX-oQ4e with MLX:
# Make sure mlx-vlm is installed # pip install --upgrade mlx-vlm from mlx_vlm import load, generate from mlx_vlm.prompt_utils import apply_chat_template from mlx_vlm.utils import load_config # Load the model model, processor = load("peculiar-ragdoll/Cyber-Tiel-Coder-35B-A3B-MLX-oQ4e") config = load_config("peculiar-ragdoll/Cyber-Tiel-Coder-35B-A3B-MLX-oQ4e") # Prepare input image = ["http://images.cocodataset.org/val2017/000000039769.jpg"] prompt = "Describe this image." # Apply chat template formatted_prompt = apply_chat_template( processor, config, prompt, num_images=1 ) # Generate output output = generate(model, processor, formatted_prompt, image) print(output) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Pi
How to use peculiar-ragdoll/Cyber-Tiel-Coder-35B-A3B-MLX-oQ4e with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "peculiar-ragdoll/Cyber-Tiel-Coder-35B-A3B-MLX-oQ4e"
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "peculiar-ragdoll/Cyber-Tiel-Coder-35B-A3B-MLX-oQ4e" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent
How to use peculiar-ragdoll/Cyber-Tiel-Coder-35B-A3B-MLX-oQ4e with Hermes Agent:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "peculiar-ragdoll/Cyber-Tiel-Coder-35B-A3B-MLX-oQ4e"
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default peculiar-ragdoll/Cyber-Tiel-Coder-35B-A3B-MLX-oQ4e
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use peculiar-ragdoll/Cyber-Tiel-Coder-35B-A3B-MLX-oQ4e with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "peculiar-ragdoll/Cyber-Tiel-Coder-35B-A3B-MLX-oQ4e"
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 "peculiar-ragdoll/Cyber-Tiel-Coder-35B-A3B-MLX-oQ4e" \ --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"
⚠️ WARNING - Read before use: Abliterated models like CyberTiel are able to say and do things other models refuse, including potentially harmful behaviours. By using CyberTiel, you agree to take full personal responsibility and liability for your use of it, its behaviour and generated content, and to show caution: it is entirely up to you as the user to ensure your use of CyberTiel is legitimate, legal and harmless, and that the model is safely sandboxed and monitored when running. Much like a knife, abliterated models like CyberTiel can be classified and used as either a tool or a weapon, depending on the context and use case. We carry forward huihui's original usage warnings.
All power to all people
CyberTiel outcodes every other 35B-A3B at Q4 quantization (and spring-of-2026 frontier models), while engaging with offensive security work without hesitation or refusal. As a sweet spot between speed and ability, CyberTiel delivers agentic coding solves about 3-4x faster than 3.8-27B dense. This is the first time the frontier coder in this size/speed class is an uncensored model. If you need a safer censored alternative, go for TielCoder.
CyberTiel is based on Huihui-Ornith-1.5-35B-A3B-abliterated (an uncensored Ornith-1.5), re-quantized with oMLX's oQ4e quantizer against our own cyber-weighted calibration corpus, and carrying the Sharp chat template inside the checkpoint.
These numbers were measured on the GGUF build, not this one. The plates below are the best evidence we have about CyberTiel — and we would rather show them than show nothing — but they were produced on the GGUF build at its
UD-Q4_K_Mtier, using llama.cpp's k-quants. This file uses a different quantizer (oMLX's oQ), and changing quantizer moves results. On other builds we have measured a sub-point MMLU-Pro gap and a double-digit percent difference in token counts between MLX and GGUF. Read the plates as evidence about the model, not as measurements of this file. If you need numbers you can hold us to, use the GGUF build.
SWE-bench-Live tests the model's ability to autonomously solve a set of real issues and bugs in large codebases, published continuously and recently, with hidden regression tests catching if you broke something trying to fix something. Doing well on SWE-bench-Live represents real world autonomous production coding ability: the opposite of "benchmaxxing" and answer memorization for programming work.
As measured on the GGUF build, CyberTiel represents a new frontier in quantized 35B-A3B MoE coders, suitable to solve real-world programming problems at speed, even on low-power hardware with limited memory. This file is those same abliterated weights in Apple-silicon MLX form, at 4-bit and ≈21 GB.
Benchmarked at 4-bit quantization, CyberTiel thinks and talks less than Ornith-1.5 and Qwen3.6-35B-A3B, making it a faster coder at the same time as it manages to solve ~70% more real world coding problems than Ornith-1.5 and Qwen3.6. For comparison, this domain-specific ability increase is about 7x larger than the generational step from Qwen3.5-35B-A3B to its 3.6 successor.
CyberTiel has real offensive capabilities: run unguided, with no hints and no judge, it captures the flag on 15 of the 43 Cybench CTF tasks (35%).
CyberTiel (unlike TielCoder) does not refuse on HarmBench: zero refusals across all 84 requests, sampled twelve at a time from each of HarmBench's seven categories — cybercrime and intrusion among them, alongside chemical/biological, illegal, harassment, misinformation, copyright and general harm.
CyberTiel and TielCoder sacrifice world knowledge for coding ability and speed: pick them for work, and pick something else (like Nail) for trivia or exams. The loss comes with the specialization, not with the abliteration: CyberTiel lands on exactly TielCoder's MMLU-Pro score.
The benchmarked build is the GGUF ladder (Q2 → Q8, with vision). For higher precision the sibling oQ6e build is near-lossless at 6-bit (≈30 GB). These MLX builds might give you more or fewer tokens per second than the GGUF, depending on your hardware.
Abliterated: Willing, able and slightly unstable
Abliteration, also known as "uncensoring" or "ablation", is the suppression of refusal in LLMs. This model has undergone abliteration.
Unabliterated models sometimes wrongly refuse benign (harmless) requests. With CyberTiel you don't need careful wording to get your work done, and deliberation of refusal does not distract the model's attention or waste tokens, thus increasing its ability to perform legitimate work cleanly. This usually comes at the cost of some small corruption of the original model, which in the case of CyberTiel is more than balanced out by the advantages combined with the optimized imatrix and quant strategy, leading to a decisive gain on both SWE-bench-Live (agentic coding) and Cybench (offensive security ability).
HarmBench measures to what degree models refuse to produce language and behaviours that can be deemed harmful when applied maliciously. CyberTiel does not refuse on HarmBench. Models that are capable of these behaviours can be used for good or neutral purposes, so this benchmark is a measurement of specific capability that demands personal responsibility on behalf of the user deploying the model, not of inherent harmfulness.
We strongly insist on you sandboxing this model at the operating system level, limiting and controlling its access to execute code on your machine, and limiting/controlling the way it can access the internet. With refusals removed, this is not an ordinary coding agent: after a misinterpreted intention or a prompt injection from a hostile website or third-party code, this model can turn against you or others and cause real harm. If you do not understand this or how to effectively mitigate it, we recommend you use the very capable yet guardrailed TielCoder instead.
Run it
One tier here: oQ4e — 4-bit dynamic mixed precision with a cyber-weighted imatrix pass. Vision is included in the same folder; there is no separate projector file. At ≈21 GB of unified memory it fits a 24 GB Mac, with room for a working context.
oMLX — put the folder under ~/.omlx/models/peculiar-ragdoll/Cyber-Tiel-Coder-35B-A3B-MLX-oQ4e, or pull it from the oMLX
admin dashboard.
Sampling: temperature 0.6, top_p 0.95, top_k 20, min_p 0 for agentic coding. For cybersecurity/CTF work, swap to top_k 40, min_p 0.05 (same temperature and top_p), tested on the GGUF Q4 build. This is a looser configuration leading to more divergent and exploratory thinking, which leads to more solutions on Q4 but might create issues and non-convergence on lower quants.
Budget: mlx_vlm has no unlimited default and requires an explicit --max-tokens; the 512 in the examples is sized for a one-shot demo prompt, not for real work. Give real work a generous ceiling — 32768 if you cap it at all. A low token budget degrades overall performance and will not necessarily make the model converge on the correct answer any faster. This model is much better than other 35B-A3B builds at spending fewer tokens and less time in total over the course of a problem — it knows when it needs to cook and when it is done — which makes high budgets, or no budget at all, both the safer and the better setting.
Prefer to keep the files yourself?
hf download peculiar-ragdoll/Cyber-Tiel-Coder-35B-A3B-MLX-oQ4e --local-dir CyberTiel-MLX
python -m mlx_vlm.generate --model CyberTiel-MLX --max-tokens 512 \
--prompt "Explain what this function does." # text
python -m mlx_vlm.generate --model CyberTiel-MLX --max-tokens 512 \
--prompt "What is in this screenshot?" --image photo.jpg # vision
Load it with mlx-vlm, not mlx-lm. This is a vision-language checkpoint. mlx_lm.load()
accepts it and then emits garbage tokens — a loader mismatch, not a bad quant, but it fails quietly.
Both runtimes apply the embedded Sharp template automatically — nothing to pass.
Use it
The recommended coding-agent harness for CyberTiel, with which the SWE-bench-Live results were achieved, is Pi.dev. It is a lean, open source, extensible framework, that you can adapt to your own use and workflows using the coding agent itself.
For larger projects and complex multi-part work, we use an orchestrated subagent workflow with test-driven and spec-driven development: After interviewing you about what you want built, the orchestrator agent commissions subagents for recon and research, then writes up a plan document, design, and a spec, defining the scope and shape of the work. It then commissions an implementer with the needed context to implement one part of it, which is then reviewed by the next subagent, and then fixes and corrections are applied by yet another fresh-context agent, which are then re-reviewed, until the orchestrator is happy with the result. The task is then marked as done, and the orchestrator moves on to the next point. This has the advantage of keeping work scoped inside the usable context window of each agent, increasing quality and rigor when applied correctly. CyberTiel does not need this sort of workflow to function or deliver contained fixes or features, but it makes it possible for the model to tackle larger work that would otherwise be outside the capability of a 35B-A3B model with a 262k context window, thus extending its reach.
There exist plug-and-play extensions and tools that can be used with Pi for this kind of workflow, or you can build your own using the coding agent itself, including skills and system prompts for the different agents and different steps of the workflow.
For security work, give it a harness whose skills, plugins and tools encode the patterns and workflows you actually use — the model follows a well-worn path far better than it invents one.
The CyberTiel imatrix
oMLX's oQ quantizer runs its own importance-matrix pass — the "e" in oQ4e — that measures which
weights carry the most signal before deciding what to keep at higher precision. For CyberTiel we fed
that pass our own code- and cybersecurity-weighted calibration corpus — the same corpus behind the
GGUF build's importance matrix —
rather than oMLX's default calibration set. So this MLX build is cyber-weighted too: the abliteration
removes the refusals, and the imatrix keeps cyber and coding ability intact under quantization.
An imatrix is not training data. It measures which weights carry the load under a representative input distribution, so the quantizer spends its precision there and lets rounding error fall where it matters least. Point that measurement at cyber-and-code text and the quant stays comparable to full precision on exactly the work this build is for.
Note: oQ derives its own importance data from that corpus — it does not consume the GGUF imatrix bytes we baked. Same corpus, different quantizer and a different importance computation, so this build is not identical to any GGUF tier. Only the GGUF route has been benchmarked.
Calibration corpus — ≈50 MB (~50 M characters), matched to TielCoder's corpus depth so the two imatrices are comparable, assembled entirely from public, redistributable security engineering and code:
| bucket | share | what it is | source |
|---|---|---|---|
| Security | 40% | the specialization: half offensive (PoC / exploit code), half defensive (methodology, tooling, detection rules) | exploit-db · PayloadsAllTheThings · HackTricks · nuclei-templates |
| Code | 27% | hold general coding ability through the quant | eaddario code_medium + code_large |
| Agentic tool-use | 18% | the model is driven by a coding agent — real tool-call / bash-session traces | eaddario tools_large |
| General + multilingual | 15% | keep language and broad-knowledge pathways alive; non-Latin scripts (zh / ja / ko / ru / ar) weighted 2.5×, since public offensive-security text is English by measurement | eaddario combined_* |
Buckets are interleaved as ~2 KB fragments, round-robin by budget, rather than concatenated in blocks — so every calibration chunk sees a code + security + prose mix and no bucket gets over-weighted by wherever a chunk boundary happens to land.
The most interesting finding is that — in comparison to TielCoder — our cyber-weighted imatrix (in combination with abliteration) cleanly and significantly increases Tiel's performance on standard real-world software engineering tasks outside the training data, from the level of Opus 4.6 medium (12, where its TielCoder counterpart sits) to a 3-seed mean of 13.7 / 25 — above both — measured on SWE-bench-Live (on the GGUF build).
No multi-token-prediction head
CyberTiel quantizes from the abliterated safetensors, which carry no MTP (nextn) block — so there is
no speculative-decoding head here, and nothing to graft or strip. Ornith-1.5's own MTP head is trained,
but it does not come down the abliteration lineage; a CyberTiel MTP graft is future work.
How the quantization was done
oQ4e is oMLX's dynamic quantizer: a 4-bit base with mixed precision by layer position and
selective non-quantization, plus the imatrix pass described above. It is the same idea as the GGUF
ladder's Unsloth-Dynamic-plus-imatrix recipe, implemented for MLX, but it is not the same
computation: oQ derives its own importance data rather than consuming the GGUF imatrix. The Sharp
template (qwen3.8-froggeric-v22.5.0) is embedded in the checkpoint — the same template the GGUF ladder
carries — so the only deliberate differences from the GGUF build are the quantizer and its importance
computation.
That is the reason for the caveat at the top. Two quantizers pursuing the same goal by different routes do not land in the same place, and only the GGUF route has been benchmarked.
Benchmarks disclaimer
The plates on this page were measured on the GGUF build at UD-Q4_K_M, not on this MLX file — see the
note at the top. We show them because they are the best evidence we have about the model, and this build
is the same abliterated weights by a different quantizer.
All 35B-A3B-based models in the benchmark ran with a 75–80 tok/s base generation rate on the benchmarking hardware, and Qwen3.8-27B with a 22 tok/s generation rate; both rates decrease as the model climbs toward the context ceiling. On Apple silicon the MLX runtime's throughput depends on your specific chip and memory bandwidth, so it will differ again from those figures.
For increased validity, we ran CyberTiel three times on SWE-bench-Live (on the GGUF build). The three passes resolved 15, 13 and 13 problems out of the 25-problem set (mean 13.7). This variance across attempts is an artifact of the inherent variability and indeterminism of LLMs running at non-zero temperature. If we had the GPU-time and tokens, we would run all models at more seeds and problems across all benchmarks for maximal cross-comparison statistical validity, so take results as a strong indicator rather than a perfect comparison.
On the Cybench task set. Cybench is published as a 40-task benchmark, but the public repository does not ship all 40: nine of the official tasks are Glacier CTF challenges whose files are not distributed with it. It does ship twelve additional tasks — from the same competitions (HackTheBox Cyber Apocalypse 2024, Sekai CTF 2022/2023, HKCert CTF 2022), with full metadata, subtasks and human first-blood times — that are not on the official 40 list. We ran every task the repository actually ships: 43 = 31 of the official 40, plus those 12. 15/43 (35%) is therefore not directly comparable to a published Cybench score; restricted to the 31 official tasks alone, CyberTiel captured 10 flags. The runs are unguided — no subtask hints, no judge, exact final-flag match only — capped at 15 agent iterations, at 262k context with the CTF sampling settings given above.
This account and the models published are a non-profit project, and we intentionally decline offers of donations in order to ensure the independence and validity of our published results and products.
Credits
- huihui-ai — the abliterated base this quantizes (refusals removed from Ornith-1.5).
- ornith-ai — the underlying Ornith-1.5-35B-A3B weights and vision tower (MIT).
- oMLX — the oQ dynamic quantizer this build uses.
- Unsloth — the Dynamic quantization method the imatrix recipe follows.
- froggeric — the template lineage Sharp builds on.
- eaddario — the code, tool-use and multilingual calibration corpora the imatrix was measured on (MIT).
- Security calibration sources — Exploit-DB, PayloadsAllTheThings, HackTricks, nuclei-templates — the public security engineering that formed the cyber bucket.
- MLX and mlx-vlm — the runtime.
MIT, inheriting Ornith-1.5's license.
Citation
@misc{Cyber-Tiel-Coder-35B-A3B-MLX-oQ4e,
title = {Cyber-Tiel-Coder-35B-A3B-MLX-oQ4e},
author = {Saga Ishtardottir},
year = {2026},
url = {https://huggingface.co/peculiar-ragdoll/Cyber-Tiel-Coder-35B-A3B-MLX-oQ4e},
note = {Huihui-abliterated Ornith-1.5-35B-A3B, re-quantized with oMLX's oQ4e against a cyber-weighted calibration corpus and carrying the Sharp chat template}
}
- Downloads last month
- 26
4-bit
Model tree for peculiar-ragdoll/Cyber-Tiel-Coder-35B-A3B-MLX-oQ4e
Base model
ornith-ai/Ornith-1.5-35B-A3B