开发与工程 coding-assistantgui-workbenchyjs-sessionsmcpgo-backendjavascript-extensionsmiller-columnsself-hosted

Juggler

一个可视化 AI 编码代理工作台,让你直接检查、编辑和控制 LLM 对代码库所做的每一步操作。

FollowAgents 评估 · FARS-2.1
谨慎使用
65/ 100 五分制 3.3 / 5
1 2 3 4 5 6
1信任安全17 / 29 · 2.9/5

信任:SECURITY.md 明确描述了信任模型——默认仅本机回环、LAN 需显式 opt-in 且无鉴权、远程流量仅作 viewer、shell/写文件工具须 UI 审批,并坦承 @-mention 可读项目外文件、shell 过滤器非安全控制、凭据明文存于 ~/.juggler/credentials.。审批流与默认关闭的暴露面支撑 user_confirmation=3;但 LAN 模式完全无鉴权、子进程以用户全权限运行、凭据对 agent 工具可见,敏感数据处理与回滚仅获部分证据,故扣分。

2可靠稳定8 / 14 · 2.9/5

可靠性:README 与 SECURITY.md、go.mod、CI 相互一致(localhost 默认、审批为状态机一部分可恢复、make test 无需 API key),CI 有跨平台构建与 -race 测试门禁,支撑 self_consistency 与 dependency_availability=2。错误信息质量在所给文件中缺乏直接证据(仅见 CI 失败诊断思路),仅可记 1。

3适用触发14 / 18 · 3.9/5

适应性:README 明确目标用户(想掌控 LLM 行为的动手型开发者)、支持本地/远程/多客户端/多平台(macOS/Windows/Linux/无头服务器),平台与系统依赖在构建说明中具体列出,audience_and_scenarios=3。能力边界有说明但部分依赖官网文档;触发精度(@-mention、审批粒度)有描述但仅见于文档层,各记 2。

4规范维护12 / 18 · 3.3/5

规范:文档结构清晰(README/SECURITY/CONTRIBUTING/LICENSING/安装分平台说明),许可证明确且 SDK 部分区分 Apache-2.0,license=3、information_architecture=3、install_notes=3。但无 CHANGELOG/版本策略文件,维护者是'一人副业'且仅支持 main 分支、无 LTS,known_limitations 有部分坦承但 examples/FAQ 缺失,分别扣分至 1-2。

5有效结果9 / 13 · 3.5/5

有效性:可编辑会话树、可检查工具调用、审批持久化等对动手型用户有明确差异化价值,marginal_value=2;输出可用性与成本收益在静态材料中只能从设计主张推断,缺乏实测证据,记 2。

6证据核验5 / 8 · 3.1/5

可验证性:README 声称的信任模型在 SECURITY.md 与 CI 配置中可交叉印证(如 Origin 校验、LAN gate、最小权限 workflow、CLA pin 到 commit),claim_traceability 与 corroboration=2。事实与推断区分良好(如明确'shell 过滤器非安全控制'),但缺少代码级逐条核对的证据,扣分不至于满分。

证据充分度: 评估于 2026年9月7日 审查版本 4948bf1ec60a
使用前请注意
  • LAN 模式无任何鉴权:知道 URL 或扫描 QR 码的任何设备都可驱使 agent,仅在可信网络启用。
  • agent 的 shell 命令以您的用户全权限运行,可读取 ~/.juggler/credentials. 及环境变量中的凭据;'防误删过滤器'不是安全控制。
  • @-mention 可使 LLM 读取项目目录之外的任意可读文件(含审计日志,但属设计行为),注意提示注入风险。
  • 发布者身份未经企业注册库验证,且为单维护者项目,仅支持 main 分支、无 LTS;依赖更新与安全修复的及时性不可保证。
  • 静态审查未执行任何运行验证,测试质量与运行时行为未独立核实。
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

Juggler 是一个用 Go 编写的开源 AI 编码代理,主打可视化操作而非终端交互。它包含一个原生桌面应用和一个无头命令行服务器(`juggler`),两者以一个单元发布;底层是一个本地 Web 服务器,桌面应用和浏览器都可以作为客户端连接同一个会话。会话不是线性聊天记录,而是一棵可编辑的 Yjs 文档树,支持子线程分支、回溯和持久化恢复,包括暂停等待用户批准的状态。所有工具调用、系统提示词和原始上下文都以 Finder 风格的 Miller 列展示,可随时检查。几乎一切(上下文项、斜杠命令、LLM 循环策略、读写/bash 工具)都是 JavaScript 插件,可检查、分支或替换,MCP 服务器和技能也接入同一模型。它连接 Claude Code、OpenAI/Codex、GitHub Copilot、Gemini、Mistral、Z.ai、Ollama、OpenRouter、Deepseek 等常见模型来源。

运行 juggler 命令启动一个本地(默认仅 localhost)服务器,打印浏览器连接 URL 和二维码;按 p 或使用 --public 可开放局域网访问。代理通过 JavaScript 扩展定义的工具(read-file、replace-text、bash 等)读写文件和执行命令,每次工具调用都会成为会话文档中可检查、可批准的条目。会话以 Yjs 文档形式存储在磁盘上,可在子线程中分支和回溯;点击 footer 的 token 计数可查看某一轮实际发送的上下文,选择 System Prompt 可查看模型收到的指令和可用工具。MCP 服务器的工具通过 docs/mcp.md 描述的方式接入,表现为与内置工具一致的上下文项。桌面应用、浏览器标签页乃至手机浏览器可同时连接同一会话并保持同步。

  1. 希望在终端之外用 GUI 检查每次工具调用和原始上下文的开发者,尤其是对 LLM 修改代码库过程需要强掌控的人
  2. 需要长时运行会话的工程师:退出、断线或跨日后重新打开,代理仍停留在等待批准的决策点,可立即恢复
  3. 想让代理跑在代码所在的服务器/构建机上,而自己从浏览器或另一台机器查看进度的远程开发场景
  4. 想为 LLM 编排流程定制 UI、斜杠命令或循环策略的插件作者,包括构建闭源扩展(SDK 为 Apache-2.0)
  5. 已经为 Claude Code、Codex 或 Copilot 付费订阅,希望复用现有订阅或自有 API 密钥而不是另购服务的用户
  6. 在无显示器的服务器、容器或 CI 环境中运行无头会话的运维人员(见 docs/headless-linux.md)

这个 Agent 有哪些优点和局限?

优点
  • 真正基于 Miller 列的 GUI:工具调用、属性、嵌套子线程可视化导航,而非终端中的长文本流
  • 会话是可编辑的 Yjs 文档树而非线性记录,支持分支、回溯,且等待批准的暂停状态也能跨重启恢复
  • 几乎所有组件都是可检查、可分支、可替换的 JavaScript 插件,包括 read/write/bash 基础工具;扩展 SDK 采用 Apache-2.0,允许闭源扩展
  • 多客户端架构:桌面应用、浏览器、手机可同时同步同一会话;服务器可跑在代码所在的远程机器上
  • 不依赖 Node、Electron 或 npm 安装,Go 单二进制内置 HTML/JS,前端无构建步骤
局限
  • 项目非常新且由一人维护,README 自述存在大量稳定性修复期,成熟度和长期支持存在不确定性
  • 本仓库构建的版本仅支持本地 + 局域网访问,跨互联网的 WAN 访问模式不在本仓库中(见 LICENSING.md),需要官方二进制或商业授权
  • 局域网模式没有密码保护,任何能访问地址的人都能驱动代理,需信任的网络环境
  • Linux 构建依赖 GTK4 和 WebKitGTK 的 cgo 链接,需要安装相应开发包;Windows 构建要求 Git Bash + GNU make,WSL2 只能产出 Linux 二进制
  • 前端使用 JSDoc 类型检查的 JavaScript 而非 TypeScript,且 CI 不发布构建产物,需自行从源码或官方发布渠道获取

如何安装或部署这个 Agent?

从 GitHub Releases 页面或 juggler.studio 下载构建包:macOS 下载 .dmg 拖入 Applications(首次启动可能被 Gatekeeper 拦截,右键 → 打开,或在系统设置中允许);Windows 下载 Juggler-<version>-setup.exe 运行安装,会同时安装桌面应用和 juggler.exe;Linux 下载 juggler 服务器二进制,从终端运行,再用浏览器或桌面应用连接。无显示器环境参考 docs/headless-linux.md。从源码构建:需要 Go 1.26+,执行 git clone --recurse-submodules https://github.com/juggler-ai/juggler.git && cd juggler && make go-build;Linux 还需 sudo apt-get install -y libgtk-4-dev libwebkitgtk-6.0-dev libsoup-3.0-dev;Windows 需在 Git Bash 中配合 GNU make 构建。

如何使用这个 Agent?

在终端运行 juggler,它会启动 Web UI 并打印连接 URL 和二维码;默认仅限 localhost,按 p 或加 --public 开放局域网(无密码保护,仅在你信任的网络中使用)。macOS/Linux 可运行桌面应用(open bin/Juggler.app./bin/juggler-app),Windows 为 bin/juggler-app.exe。在服务器终端输入 w 可直接打开桌面应用。通过 UI 配置模型来源(Claude Code CLI/API、OpenAI Codex plan/API 等)和 MCP 服务器(Juggler 使用自己的配置,不读取其他代理的),然后发起编码任务;会话在磁盘中持久化,任何客户端断开后可随时重连恢复,包括等待批准的状态。

这个 Agent 与同类方案有什么区别?

README 将自己定位为『又一个 AI 编码代理』并明确与基于终端、线性聊天记录的代理作对比:Juggler 的差异化在于可视化 Miller 列工作台、可编辑的树状会话文档和全插件化架构,而非 headless 终端脚本。

常见问题

使用 Juggler 需要付费或注册吗?
不需要。它是免费开源软件,无需注册,下载 Go 二进制即可运行。模型方面可以复用你已有的订阅(Claude Code、Codex、Copilot)或使用自己的 API 密钥。
我的会话数据存在哪里,安全吗?
会话是存储在磁盘上的文档,服务器默认只监听 localhost。局域网访问无密码,任何能连上地址的人都能操作代理,因此只在信任的网络中开启 --public。跨互联网访问不包含在本仓库构建中。
如果代理在等待我批准命令时我关掉了应用怎么办?
等待批准的状态是会话文档的一部分。重新启动或从另一台机器重连后,代理仍停留在同一决策点,批准对话框会原样出现。
我不想改核心代码能定制吗?
可以。上下文项、斜杠命令、LLM 循环策略和所有工具(包括 read/write/bash)都是 JavaScript 扩展;MCP 服务器和技能也可通过配置接入。扩展 SDK 与捆绑扩展采用 Apache-2.0 许可,允许闭源扩展。
AGPL-3.0 许可对我的使用有什么影响?
应用代码采用 AGPLv3 或更新版本:你可以自由使用、修改和再分发,但分发或以服务形式托管修改版时必须同样以 AGPLv3 开放源码。若需闭源使用,需联系作者讨论商业许可。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents