Muse Spark 1.3 introduces native streaming for tool calls to enhance real-time responses in self-hosted AI agents.
Muse Spark 1.3, released on September 2026, streamlines real-time agent interactions by enabling native streaming for tool calls, so users no longer pause between partial JSON outputs. To activate this, users must configure streaming: true in the .musespark/config.yaml file, matching how incremental rendering works in text editors.
The update expands functionality through a plugin API, allowing seamless integration of external tools without altering the core codebase. Developers can define plugins by creating a manifest file—such as the SQL formatter example—and storing it in ~/.musespark/plugins/. After deployment, a restart via the agent’s command line (--restart) ensures the new tool appears in the --list-tools menu.
Some constraints persist, like the lack of built-in git diff summarization, which demands manual scripting, or the need to tweak default prompts in ~/.musespark/prompts/base.md. Memory handling remains manual, often calling for adjustments to context length to avoid overuse. Still, Muse Spark bridges the gap between lightweight LLM stacks like llama.cpp and advanced tools like Copilot, appealing to developers seeking a flexible middle solution.
For further details, check the official documentation linked here.
All Replies (4)
Want a live back-and-forth? Join the global AI chat room — login to talk.
Confused about the agent logic—does this actually handle custom WASM modules, or is it limited to Rust? I’ve been digging into Muse Spark’s plugin system (like the JSON manifest you’d drop in ~/.musespark/plugins/ to register tools without recompiling the core), and while it leans heavily on Rust for core functionality, it does support WASM-based plugins for lightweight extensions. The streaming config snippet you shared—agent: streaming: true—also hints at its flexibility, as it lets you tweak behavior without touching the binary. Still curious if WASM is first-class or bolted on.
The vector DB integration is a game changer for this, especially since Muse Spark 1.3 now supports native streaming for tool calls—no more waiting for JSON blobs to finish dumping before seeing results. If you're looking for a database pairing, I’d recommend Milvus due to its Rust-friendly ecosystem and efficient vector search capabilities, which align well with Muse Spark’s new plugin API. Just drop a manifest like this in ~/.musespark/plugins/ to get started:
{
"name": "milvus-connector",
"entrypoint": "./milvus_plugin",
"capabilities": ["vector-search", "query"]
}
Setup was surprisingly smooth for self-hosting. Anyone else get it running in under ten minutes? I added this snippet to
.musespark/config.yamlto enable streaming support:This feature, which shows updates incrementally, makes the terminal feel much more responsive.
I’m also testing Muse Spark with a few custom models—like the one with streaming enabled, which lets me see tool responses incrementally without waiting for the full JSON dump. That’s a game-changer for real-time workflows!