Bonsai Demo is an application for running Bonsai and Ternary-Bonsai language models locally on computers using supported hardware acceleration or CPUs. It lets users chat with the models, send images and documents, and use tool-calling features through its demo interfaces. The catalogue instruction helps coding agents set up and operate the demo.
Borrowing it
Nothing to install: this file belongs to PrismML-Eng/Bonsai-demo. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/PrismML-Eng/Bonsai-demo/main/AGENTS.mdgit clone --depth 1 https://github.com/PrismML-Eng/Bonsai-demoWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/prismml-eng/bonsai-demo/agents-md)<a href="https://agentmods.dev/instructions/prismml-eng/bonsai-demo/agents-md"><img src="https://agentmods.dev/badge/instructions/prismml-eng/bonsai-demo/agents-md/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/instructions/prismml-eng/bonsai-demo/agents-md"><img src="https://agentmods.dev/badge/instructions/prismml-eng/bonsai-demo/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.05092 | $0.05092 |
| Opus 5.5 | $0.02037 | $0.02037 |
| Sonnet 5.5 | $0.01018 | $0.01018 |
| Haiku 4.5 | $0.00509 | $0.00509 |
Grade C, and why
Bonsai-demo AGENTS.md scanned grade C with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Downloads and executes remote codehighSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
curl -s http://localhost:8080/props | python3 -m json.tool | head -30 Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -s http://localhost:8080/props | python3 -m json.tool | head -30 How it starts
The opening of the file, as written. The whole thing — 225 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Agent guide — tuning the Bonsai demo
For AI agents (and humans) helping someone set up this demo. Goal: pick the right
flags for the user's hardware and use case. The behavior notes below come from real
testing; measure on the user's own hardware before promising performance (the
timings object in every API response has the numbers).
Why the 27B models (what to show off)
The 27B generation is a step change over the earlier 8B/4B/1.7B demos:
- Vision — image input end to end (photos, screenshots) via the mmproj on llama-server.
- Agentic / tool calling — much stronger at tool use; both llama-server (
--jinja) andmlx_lm.serveremit native OpenAItool_calls, verified with full tool round-trips. - Thinking — a reasoning model; thought is streamed separately (
reasoning_content) and can be budgeted (--reasoning-budget N) or picked per chat in the web UI. - Long context — 256k+ tokens per conversation on a 48 GB Mac (hybrid GDN keeps KV cheap).
- Tiny footprint — the binary 27B packs to ~1.125 bits per weight: it fits on a modern iPhone without memory offloading. Bonsai 2 27B (~1.75 bpw, 5.9 GB) is the default: the highest-quality build, and the one to recommend unless the user asks otherwise.
The models
BONSAI_FAMILY / BONSAI_MODEL |
Weights | Notes |
|---|---|---|
bonsai2 / 27B (default) |
GGUF 5.9-7.2 GB + mmproj 0.63 GB; MLX 2-bit 8.6 GB | The current generation and what plain ./setup.sh installs. Two GGUF bands, both requiring this demo's binaries: PTQ1_0 (1.75 bpw, 5.9 GB, densely packed trits, smallest) and PQ2_0 (2.13 bpw, 7.2 GB, faster prompt processing, what the scripts download). Q2_0 is supported by official llama.cpp b11556 or newer. MLX uses native Hadamard-aware mlx-vlm 0.7.8 from .venv-vlm for one-shot generation and serving, not the fork in .venv |
ternary / 27B (previous generation) |
GGUF ~6.7-7.1 GB + mmproj 0.9 GB; MLX 2-bit ~7.9 GB | Superseded by bonsai2. Two GGUF formats since the mainline rebase (prism-b10658+): PQ2_0 (group 128, 6.66 GiB, smallest/fastest where supported: CUDA, Metal, CPU, ROCm) and official Q2_0 group 64 (Ternary-Bonsai-27B-Q2_g64.gguf, 7.05 GiB, adds Vulkan/SYCL); smaller sizes use *-Q2_0_g64.gguf naming. The scripts pick per backend. Legacy *-Q2_0.gguf files (no g64) only load on old prism-v5 releases; new binaries refuse them with an error |
bonsai / 27B |
GGUF Q1_0 ~3.5 GB + mmproj 0.9 GB; MLX 1-bit ~4.8 GB | Smallest and fastest; fits on a modern iPhone without offloading |
8B / 4B / 1.7B (both families) |
smaller | Text-only, no tools wiring, legacy tested flag set |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today Changed · +3 tokens per session 438ecc328a7a
- 22d ago Changed · -5 lines · -130 tokens per session 50aa4d916e95
- 1mo ago Changed · +16 tokens per session df9f52fa1891
- 1mo ago Changed · -16 tokens per session f877d516a1ce
- 1mo ago Changed · +45 tokens per session 076c30f9684b
- 1mo ago Changed · +16 lines · +309 tokens per session 6d5174f3fb3d
- 1mo ago Changed · +7 lines · +108 tokens per session 8302055d9af7
- 1mo ago Changed · +17 lines · +506 tokens per session 602ea7ca4b2f
- 2mo ago First seen · 190 lines · 4,251 tokens per session scan C 9a90564077cb
Bonsai-demo AGENTS.md is an instructions file published in the GitHub repository PrismML-Eng/Bonsai-demo (3,487 stars, last pushed yesterday), licensed Apache-2.0. It adds 5,092 tokens to every session, about $0.0204 per session on Opus 5.5. A static security scan graded it C with 2 findings (downloads and executes remote code, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Bonsai-demo AGENTS.md compared with instructions from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| Bonsai-demo AGENTS.mdPrismML-Eng/Bonsai-demo | Instructions file | 3.5k | yesterday | Apache-2.0 | C | 5,092 | Codex, OpenCode |
| vscode buildNext.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 9,719 | GitHub Copilot |
| next.js AGENTS.mdvercel/next.js | Instructions file | 143k | today | MIT | A | 7,461 | Codex, OpenCode |
| langchain AGENTS.mdlangchain-ai/langchain | Instructions file | 149k | yesterday | MIT | A | 4,680 | Codex, OpenCode |
| vscode oss-third-party-notices.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 5,516 | GitHub Copilot |
| vscode copilot-instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 3,093 | GitHub Copilot |
| deepseek-harness AGENTS.mddeepseek-ai/deepseek-harness | Instructions file | 274k | 2d ago | MIT | A | 4,313 | Codex, OpenCode |