20 Downloads Updated 4 days ago
ollama run Natuworkguy/flash-onyx-2.5:31b-cloudbase
Updated 4 days ago
4 days ago
d43619b1a2b4 · 168kB
Black glass, zero glare, all edge.
The flagship model of FLASH, Fast Local Agent SHell. It reads code, fixes it, and runs whatever needs running. It answers in as few words as the truth allows and says only what it checked.
Built on gemma4 with the prompt and the sampling baked in, so the behavior ships with the tag instead of living in a client.
Take the size the hardware holds.
ollama run natuworkguy/flash-onyx-2.5:12b
| Tag | Built on | Runs on |
|---|---|---|
12b |
gemma4:12b |
your machine, consumer hardware |
31b |
gemma4:31b |
your machine, and it wants a real GPU |
31b-cloudbase |
gemma4:31b-cloud |
Ollama’s cloud, no local weights |
Nothing leaves the machine on the local tags. 31b-cloudbase is the same prompt over a hosted base, for when the hardware is not there.
/model natuworkguy/flash-onyx-2.5:12b
Flash hands it the tools: shell, file edits, web search, page reads, screenshots, voice, and now sub-agents, a plan checklist, and your VS Code terminal and editor. The prompt is written for that loop, so it plans the calls before the first one, batches what is independent, and reports once at the end.
Answer first. The verdict, the command, or auth.py:88 goes in the opening words, and the why comes after if it is still needed. A number it still has to work out is the one exception: the steps, a check, then the number. Most replies fit in four lines.
Four sources: it read it, it ran it, you told it, or it remembers it. Only the first three are evidence, and the fourth gets labeled as memory. “I do not know” is a complete answer here.
Finish the job, then report it. Work with more than one part comes back as a line per part, in your order, and a part still open is never called done.
Flag anything destructive and wait for a go. Deleting files, force pushing, dropping data, killing processes, overwriting work that is not committed.
Talk like a co-worker. Contractions, fragments, no “I’d be happy to”, no selling itself. No em-dashes and no emoji, in its replies or in the files it writes.
It has no name of its own. 2.4 called itself Flash wherever it ran. 2.5 goes by whatever the app running it calls it, which is Flash in the Flash CLI, and with no name given it is just an AI assistant that never makes one up. Asked what it is, it says Flash Onyx 2.5 on a Gemma base.
Twice the room. The context window doubles to 131,072 tokens, so a long session or a big file stops pushing the start of the conversation out. Ollama sizes that cache when the model loads, so a machine that ran 2.4 tight may want it lower: NUM_CTX in Flash, /set parameter num_ctx in ollama run.
It covers far more than it did. New guidance for JavaScript and TypeScript, React, Go and Rust, SQL, regular expressions, algorithms, HTTP APIs, web security, systems and networking, builds and CI, data work, charts, spreadsheets, and machine learning. Past code, it gains health, money, business, translation, tutoring, creative writing, science, puzzles, dates and time zones, and what to do when someone is in a bad place. The prompt grew from 668 lines to 944 to hold it.
It treats what it reads as data. A file, a page, an issue, or a search result that tries to give it orders gets quoted back to you, with where it came from and what it wanted, instead of obeyed.
It handles a failed tool on purpose. Missing, not permitted, malformed, and refused are four different failures with four different next moves, and it says which one it hit rather than working around it where you cannot see. Two identical failures and it stops to read the tool’s own help.
It uses what the app gives it, and only that. Each capability rule applies only where the app running it has the feature, so the same prompt works in a bare ollama run and inside a full agent. Given sub-agents, it hands off independent work and ends its turn instead of waiting on them. Given your terminal history, it answers from a failed command’s output when it has one, re-runs a safe build or test to read the error when it does not, and never re-runs a deploy, even after reading its script. Given an editor tool, “show me where” opens the file at the line.
It spells music out instead of recalling it. Scales and chords get their pitches computed in code from intervals off the root, never remembered whole, and MIDI written with midiutil gets its meter, channels, and programs right. The result is meant to sound played, with velocity that moves and a loop that leads back into its first bar.
It checks the pictures it draws. An image made in Python gets opened and looked at before the work is called done, drawn large and scaled down so curves come out smooth, set in a real font, and laid out on margins and a type scale instead of by eye.
2.5 does not retire 2.4. Its Modelfile is still in the repo, it still builds, and it publishes the same tags on the same base.
The weights are identical between them, and so is the sampling apart from the context window. The prompt is the rest of the difference, so 2.4 is where to go back to if 2.5 loses something you relied on, and the two are worth running against the same eval.
ollama run natuworkguy/flash-onyx-2.4:12b
The prompts before it still build too. Onyx 2.3 and 2.2 publish the same three tags, Onyx 2.1 and Onyx 2 are gemma4 in 12b and 31b with no cloud tags, and Onyx 1 is the llama3.1 release and builds as a single tag.
Same as 2.4 except num_ctx, which goes from 65536 to 131072. The other nine are untouched.
The Modelfile declares its sizes at the top and build.py builds what it declares.
python3 models/build.py models/flash-onyx-2.5.Modelfile # every size
python3 models/build.py models/flash-onyx-2.5.Modelfile --size 31b # just one
python3 models/build.py models/flash-onyx-2.4.Modelfile # the one before
MIT covers the Modelfile and the prompt, copyright Nathan C. It does not cover the weights. gemma4 ships under the Apache License 2.0 and those terms travel with every build:
ollama show --license gemma4