mnemosyne systems is happy to announce orangu 1.3.0 - the Open Source AI-powered coding environment.
1.2.0 made the large models practical on your own hardware. 1.3.0 goes the other way and hands you the parts underneath: a binary that trains a model from nothing, a language for describing the work you want done, and a backend for the accelerator that has been sitting unused in your machine.
orangu remains a complete, self-contained stack that runs entirely on your own machine - a terminal environment, an on-demand model manager, and a native GGUF inference server, written end to end in Rust . No llama.cpp, no ggml, no Python. No API keys, no telemetry, and no code leaving your machine.
Train your own model
The headline of this release is orangu-gguf, and it is the piece the stack was missing. Hand it a JSON manifest of permissively-licensed repositories and it clones them, trains a tokenizer on what it finds, packs the corpus into tokens, pretrains a transformer from random weights, and writes a GGUF file that orangu-server loads directly. There is no conversion step between the two - what training produces is already the file the server serves.
orangu-gguf corpus.json
orangu-server ./my-model-smoke-BF16.gguf
The manifest is the whole build. The size, the context length, the weight format, the corpus, and the schedule all live in it, nothing is passed on the command line that the file cannot say, and the same manifest and seed produce the same file bit for bit - on one core or on thirty-two. Start with smoke, which trains in about a quarter of an hour and exists to prove the pipeline works on your machine before you commit a week to it.
The same binary rewrites a model you already have at a smaller weight format - the K-quants from Q6_K down to Q2_K with their _S/_M/_L mixtures, plus IQ4_NL and IQ4_XS:
orangu-gguf -m ./my-model-BF16.gguf -q q4_k_m
There is nothing to install beside the binary. No Python, no training framework, no CUDA toolchain - it trains on the CPU. contrib/orangu-model/ ships a ready-to-run corpus manifest with one script per stage, and the Building a model from scratch
guide covers the GPU-trained sizes for anyone going further.
The workflow language
/review tells you what is wrong. /create_patch fixes it. What was missing was a way to say keep doing that until it is clean, across several projects, without sitting in front of it.
1.3.0 adds workflows: a YAML layer over the same slash commands, prompts, skills, and tools you already drive by hand.
orangu:
version: 1
jobs:
- job: pgagroal
workspace: /home/me/PostgreSQL/pgagroal
- job: orangu
workspace: /home/me/Company/orangu
main:
- loop:
objective: Fix ${job}'s parser without changing its public API.
stop:
type: goal
condition: All parser tests pass and review finds no regression.
review:
checks:
- cargo test
Jobs run in their own workspaces, each in its own conversation. loop alternates a tool-enabled work phase with an independent, tool-free review phase, and stops on a turn count, a time budget, or a verified goal - the reviewer sees the worker’s report, the check results, and the branch diff, and its response becomes the next iteration’s feedback. Variables, reusable functions, and a small set of programming constructs (if, for, while, break, return, label, goto) cover the rest.
Everything is validated before anything runs:
orangu --workflow improve.yaml --dry-run
--dry-run loads no model configuration and executes nothing - it checks every job, workspace, variable, function call, approval, loop, and slash command, so an error in a rarely taken branch fails in a second rather than three hours into a run. Paths that come in through a variable need an explicit approved step before a command may use them, and the file tools keep their existing workspace rooting either way.
This is a community contribution, and a substantial one.
NPU support
orangu gains a seventh backend. Rockchip’s RKNPU - the neural processing unit on boards like the RK3588 - is now usable for matmul offload rather than merely detected. On an Orange Pi 5 prefilling a 1976-token prompt through gemma-4-E2B-it at Q4_K_M, that is 21.2 tokens/second against the CPU path’s 16.4, and it is still climbing at the top of the range the device’s memory allows.
The rule that makes it a win rather than a regression is a width floor: the device costs about 0.4 ms per call, so narrow decode matmuls stay on the CPU, which reads the quantized weight straight out of the mapped file. Everything that does not fit on the device runs exactly as it did before, and says so once.
Arm China’s Zhouyi AIPU, reached through CIX’s NOE driver, is detected and reported by orangu-server system as well. The two stacks are probed separately, so a board is never handed to a runtime that does not speak its dialect, and a machine with neither reports no NPU rather than a wrong one.
/create_patch
A review that finds ten things is only half the job. /create_patch takes the most recent /review or /auto_review in the active tab and turns it into changes in the working tree: the model inspects the current code before editing, verifies each finding rather than applying stale advice blindly, implements the valid fixes, updates tests where appropriate, runs focused validation, and reports what it fixed, what it validated, and what it deliberately left alone. It never commits and never pushes.
The same command handles the other kind of mess. A merge, rebase, or cherry-pick that stops on conflicts is enough to run it with no review report at all - it takes every unmerged path from Git, reconstructs the intended combined behaviour from both sides and the surrounding code, and stages the result, leaving --continue or --abort to you.
/create_patch is a community contribution.
New models
Three families join the engine:
- Qwen 3.8-Flash-Next, which ships multi-token-prediction draft heads alongside the weights - one block trained with the model that reads the served model’s own hidden state to guess the next token.
orangu-server downloadfetches the best head in the repository and the server attaches it with nothing to configure. Every guess is still verified, so the answer is the answer you would have got without it, only sooner - GLM 5.3-Flash
- Ornith 1.5
Also in this release
orangu-server refresh --all, so every model that has a newer hash upstream updates in one command rather than one at a time - a community contributionorangu-server list --sortby size or last-used, with the row numbers staying put so a model you found once is still where you left it - a community contribution- Last-use tracking in plain
orangu-server, not only behind the coordinator - GGUF performance work across the engine, with the tuning thresholds documented and measured rather than asserted
- Windows fixes
- The complete manual ships with the release as PDF and HTML, and is embedded in the binary for offline reading with
/manual
Our thanks to everyone who filed an issue, opened a discussion, or sent a patch.
Upgrading
The one-liner installer puts the whole stack on the machine in a single step, on Linux, macOS, and Windows:
curl -fsSL https://mnemosyne-systems.github.io/orangu/install.sh | sh
Availability
orangu 1.3.0 is available now for Linux, macOS, and Windows on x86_64 and aarch64, with source and checksums published alongside the binaries. The backends are CPU, Vulkan, Metal, CUDA, ROCm, OpenCL, and NPU. Everything is Open Source under the GNU General Public License v3.0 - the environment, the coordinator, the inference engine, and now the trainer alike.
Commercial support for orangu is available from mnemosyne systems - contact sales .
We would genuinely like your feedback - especially from anyone who trains a model with orangu-gguf, and from anyone running orangu on a single-board machine with an NPU.
Be part of the community, and be proud of your contributions ! Try it, star it, fork it, break it, tell us what’s missing.
Thanks for your time !
Overview: https://www.mnemosyne-systems.ai/products/orangu
Repository: https://github.com/mnemosyne-systems/orangu
Release: https://github.com/mnemosyne-systems/orangu/releases/tag/1.3.0