№ 0043GitHub
Zero-backend Muse Glimmer agent console
A browser-only agent console for Muse Glimmer 30B that renders the model's ATEM tool-call format client-side, streams from a local server and runs every tool inside the tab across seven capability tracks.
# Muse Glimmer — local agent console **Try it live: [carlosrymer.github.io/muse-glimmer-local-agent-console](https://carlosrymer.github.io/muse-glimmer-local-agent-console/)** An agent scaffold for Meta's **Muse Glimmer 30B** that has no backend at all. It renders the model's prompt format in your browser, streams from a server running on your own machine, and executes every tool inside the tab — so the records it reasons over never leave your device. The site is useful with or without the weights. Without them you get a live protocol inspector and the conformance results. With them you get seven capability tracks — five scored mechanically from an action ledger, two observational. ## What this showcases **Technology:** Muse Glimmer 30B (Meta Superintelligence Labs, released 10 August 2026) — a ~29.6B-parameter open-weight agentic model under Apache 2.0, distilled from Muse Spark, that fits in 16.76 GB at 4-bit and is built to run local agent workflows on one consumer GPU. I picked it up expecting the interesting part to be *whether a 30B model can hold an agent loop together*. It wasn't. The interesting part turned out to be one layer lower. **Muse Glimmer does not emit OpenAI-style JSON tool calls.** Its chat template builds a channel-token transcript and asks for tool calls in a dialect the template itself calls **ATEM**: ``` <|start|>assistant to=self<|message|>Search first, then escalate.<|eom|> <|start|>assistant to=workspace.search_tickets<|message|><atem:function_calls> <atem:invoke name="workspace.search_tickets"> <atem:parameter name="query">billing</atem:parameter> <atem:parameter name="limit">20</atem:parameter> </atem:invoke> </atem:function_calls><|eot|> ``` Four things I found building against it: 1. **Reasoning is a routing target, not a tag.** Chain-of-thought is addressed `to=self` and closed with `<|eom|>`; the visible answer goes `to=user` and closes with `<|eot|>`. There is no `<think>` block to strip — if your scaffold doesn't understand recipients, the model's private reasoning lands in front of the user. 2. **ATEM is not XML, and the template says so out loud.** Verbatim, in the tool preamble the model is shown on every single turn: *"The output is not expected to be valid XML and is parsed with regular expressions."* Parameter bodies carry raw `<`, `&` and unbalanced quotes. I wrote the parser with regexe




ChatForm
Tgmlabs