juggler-ai/juggler

The Juggler Code Agent

解決的問題

Juggler 解決了傳統 AI 程式設計代理的「無盡滾動 (doom-scroll)」問題,即對話是難以導航、編輯或恢復的線性轉錄。它為希望更深入控制 LLM 如何與程式碼庫互動的開發人員提供了一個視覺化工作台,從簡單的聊天介面轉向結構化、可檢查的環境。

工作原理

Juggler 採用客戶端-伺服器架構,基於 Go 的後端管理有狀態的會話文件(使用 Yjs),前端提供圖形化使用者介面。會話不再是線性聊天,而是組織成分支執行緒樹。UI 利用 Miller columns(類似於 macOS Finder)允許使用者深入查看工具呼叫、項目屬性和嵌套的子執行緒。系統具有高度模組化,使用 JavaScript 擴充來定義上下文項目、LLM 迴圈策略和斜線命令。

適用對象

專為偏好使用視覺化、非線性方式管理 AI 程式設計會話的開發人員,以及需要代理狀態(包括待處理的核准)在應用重啟或不同裝置(桌面端與瀏覽器)之間保持持久化的開發人員而設計。

亮點

  • 基於樹的對話:支援分支執行緒和子執行緒而非線性歷史,從而更輕鬆地進行回溯和比較。
  • 持久化狀態:會話作為文件儲存在磁碟上,這意味著代理的精確狀態(包括等待使用者核准)在關閉應用後仍會被保留。
  • Miller Column UI:一種 Finder 風格的導航系統,用於快速檢查工具呼叫、原始上下文和執行緒結構。
  • 可擴充架構:上下文項目、迴圈策略和命令都是可以檢查或替換的 JavaScript 插件。
  • 多用戶端同步:單一伺服器會話可以透過原生桌面應用程式和多個瀏覽器分頁同時存取。