Juggler is an open-source GUI coding agent designed for developers who demand hands-on control over their LLM interactions [1]. It offers a visual workbench where conversations are structured as editable trees rather than linear transcripts [2]. The agent is built with a Go backend and uses Wails for windowing, with a UI served as HTML/JS [3]. Sessions are stored and synchronized using Yjs, allowing for branching, editing, undo/redo, and inspection [4].

Almost everything in Juggler is a JavaScript plugin, including context items, LLM loop strategies, and slash commands [5]. The agent also features a native desktop app with multi-client architecture, allowing seamless collaboration across browsers and devices [6]. Juggler supports connections to various LLM models, including Claude Code, OpenAI, Gemini, Ollama, OpenRouter, Z.AI, and Deepseek [7]. The project is licensed under the GNU Affero General Public License v3.0 or later, with the extension SDK and bundled extensions licensed under Apache-2.0 [8].

Overall, Juggler provides a unique approach to LLM interactions, offering a high degree of control and customization for developers.

Sources

  1. https://github.com/juggler-ai/juggler
  2. https://news.ycombinator.com/item?id=48883305
  3. https://beyond-desk.com/signal/g-0563
  4. https://github.com/juggler-ai/juggler/blob/develop/docs/context-window.md
  5. https://github.com/juggler-ai/juggler/blob/develop/web/sdk/LICENSE
  6. https://juggler.studio
  7. https://github.com/juggler-ai/juggler/blob/develop/README.md
  8. https://github.com/juggler-ai/juggler/blob/develop/LICENSING.md