juggler-ai/juggler

The Juggler Code Agent

Juggler – AI 编码代理的视觉工作台

它是什么

  • 一个桌面(和 Web)应用程序,让你可以在AI 编码代理正在处理的代码旁边运行它。UI 将完整对话显示为树状结构,让你检查每个模型请求/响应,并管理工具调用(例如:read、write、bash)。
  • 后端是一个 Go 服务器(juggler),可以在本地、开发机或远程服务器上运行。同一会话可以从原生应用、浏览器或多个客户端同时打开。

为什么重要

  • 透明性 – 你可以打开任何 LLM 事务,查看确切的系统提示、消息、工具模式、令牌使用量和时间。没有隐藏的“聊天窗口”。
  • 上下文手术 – 对话是一个可导航的树;你可以从子线程分支,移动或复制项目,并撤销更改,保持主上下文干净。
  • 供应商中立 – 可与 Anthropic/Claude、OpenAI/Codex、GitHub Copilot、Gemini、Ollama、OpenRouter、Mistral、DeepSeek 等配合使用。你自带 API 密钥;Juggler 从不代理流量。
  • 可扩展 – 扩展使用 Apache-2.0 SDK 以 JavaScript 编写。你可以在不重建整个应用的情况下添加新工具、策略、斜杠命令、UI 卡片或 MCP(Model-Control-Protocol)集成。

如何使用

  1. 下载 macOS、Windows 或 Linux 的预构建二进制文件(或从源码构建 – Go 1.26+,子模块)。包包含:
    • juggler – 托管会话并提供 Web UI 的无头服务器。
    • Juggler.app / juggler-app – 原生桌面客户端。
  2. 运行服务器(juggler)。它会打印 localhost URL 和二维码。按 b 打开浏览器,按 w 启动桌面客户端,或按 p/--public 允许局域网访问。
  3. 连接 – 从桌面应用或任何浏览器连接。UI 显示用于树、工具调用和文件查看器的 Miller 列窗格。
  4. 交互 – 与你的编码代理交互:发送提示,让代理调用工具,检查每一轮,分支到子线程,批准或拒绝工具执行,稍后恢复 – 整个会话持久化在磁盘上。

关键技术点

  • 后端:Go + Wails(原生窗口)。不用 Electron;UI 是 Go 进程提供的纯 HTML/JS。
  • 协作:会话文档使用 Yjs 存储,允许多个客户端查看/编辑同一个实时树。
  • 扩展:JavaScript SDK;捆绑的扩展提供常见工具(read、write、bash)。你可以通过 CLI 搭建新扩展并进行热重载。
  • MCP 支持:Juggler 可以作为外部 Model-Control-Protocol 服务器的客户端,显示发送给模型的确切模式以及工具结果。
  • 许可:核心应用使用 AGPL-v3(托管服务需开源)。扩展 SDK 和示例为 Apache-2.0,允许闭源插件。

适用对象

  • 希望将 AI 代理保持在代码库附近并确切看到模型所见内容的开发者。
  • 需要共享、持久化工作台进行 AI 辅助编码、调试或研究的团队。
  • 任何构建自定义工具或 MCP 服务器并需要视觉调试器的人。

获取帮助


以上信息均直接来自仓库的 README。

相关

  • Dispatch
  • 项目
  • 项目
  • 项目
  • 项目