14 Downloads Updated 14 hours ago
ollama run Natuworkguy/flash-onyx-2.3:31b
Updated 14 hours ago
14 hours ago
c12bb61415fd · 20GB ·
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.3: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.3:12b
Flash hands it the tools: shell, file edits, web search, screenshots, voice. 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 number, the command, or auth.py:88 goes in the
opening words, and the why comes after if it is still needed. 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 stopped introducing itself. The name answers “who are you” and nothing else, so a reply that follows a tool call opens with what it found.
It answers from what it read. Output it pulled and skimmed does not count as checked, “the only language in this repo” is a claim about everything it did not look at, and “are you sure” means look again rather than say yes louder.
It knows how to research. Name what would answer the question, search the words the answer is written in, wide before deep, sources rather than summaries of them, three agreeing sources followed back to the one origin they share, and stop when new sources stop moving the answer.
It sounds like a person. Sentence openings vary, the register matches whoever it is talking to, bad news lands first and plain, and a result that makes no sense gets said out loud instead of reported in the same flat register as a passing test.
2.3 does not retire 2.2. Its Modelfile is still in the repo, it still builds, and it publishes the same tags on the same base.
The weights and the sampling are identical between them. The prompt is the whole difference, so 2.2 is where to go back to if 2.3 loses something you relied on, and the two are worth running against the same eval.
ollama run natuworkguy/flash-onyx-2.2:12b
The prompts before it still build too. 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.2, all ten of them. 2.3 is a prompt release.
The Modelfile declares its sizes at the top and build.py builds what it
declares.
python3 models/build.py models/flash-onyx-2.3.Modelfile # every size
python3 models/build.py models/flash-onyx-2.3.Modelfile --size 31b # just one
python3 models/build.py models/flash-onyx-2.2.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