OpenYoke – 將AI對話分支成圖形,支援本地或雲端模型
OpenYoke 是一款開源的桌面應用程式,旨在透過分支對話樹的形式與本地或雲端AI模型進行互動。它強調隱私,所有資料均儲存在本地,無需賬戶,且不聯網。使用者可以透過視覺化圖形介面管理對話分支,每個分支保持獨立上下文,避免資訊交叉汙染。
OpenYoke 是一款開源的桌面應用程式,旨在透過分支對話樹的形式與本地或雲端AI模型進行互動。它強調隱私,所有資料均儲存在本地,無需賬戶,且不聯網。使用者可以透過視覺化圖形介面管理對話分支,每個分支保持獨立上下文,避免資訊交叉汙染。
與傳統的線性聊天不同,OpenYoke 允許使用者從任意對話點分支,探索不同的方向,每個分支都擁有獨立的對話歷史。例如,在詢問“如何構建一個網頁應用?”後,使用者可以分支出“選擇哪種前端框架?”和“後端如何實現?”等子問題。當模型回答某個節點時,它只能看到從根節點到該節點的路徑,從而確保兄弟分支之間互不干擾。這種上下文隔離由Rust後端強制執行,而非僅僅在UI層面實現。
在模型管理方面,OpenYoke 整合了Ollama,使用者可以在應用內瀏覽、下載和刪除模型,無需使用終端。支援包括Llama、Qwen、Mistral、Gemma、Phi、DeepSeek等在內的多種開源模型。所有模型權重由Ollama管理,OpenYoke只負責通訊。應用內模型管理頁面提供即時進度條和模型庫瀏覽功能。
技術架構上,OpenYoke 採用Tauri框架,前端為純Web UI(HTML/CSS/JS),後端用Rust編寫。Rust後端負責對話樹邏輯(tree.rs)、模型通訊和流式聊天(ollama.rs)、儲存管理(storage.rs)以及模型庫目錄(catalog.rs)。前端透過Tauri的invoke橋與後端互動,後端透過HTTP與本地Ollama例項通訊。這種設計使得應用輕量高效,啟動快速。
使用者資料完全由使用者控制:首次啟動時選擇儲存資料夾,對話歷史(conversations.json)和設定(settings.json)以JSON格式儲存。作業系統應用資料目錄中僅儲存一個指向該資料夾的小配置檔案(config.json)。模型權重則儲存在Ollama的預設目錄(~/.ollama/)下。所有資料傳輸均在本地進行,不離開使用者機器。
OpenYoke 的路線圖包括支援多個後端提供者(透過提供者抽象層)、可選捆綁Ollama(無需單獨安裝)、更豐富的工具/函式呼叫整合、多模型代理模式(不同分支使用不同模型)以及分支或整個對話樹的匯出功能(Markdown/JSON)。專案採用MIT許可證,歡迎社群貢獻。