Sidekick:把 llama.cpp 與 RAG 包進原生 macOS 應用的本地優先 AI 工具
A native macOS app that allows users to chat with a local LLM that can respond with information from files, folders and websites on your Mac without installing any other software. Powered by llama.cpp.
秒懂
- 它是什麼?
- Sidekick 是一款以 Swift 撰寫的原生 macOS 應用,內建 llama.cpp 推論引擎,讓使用者直接與本機 GGUF 模型對話,並透過 RAG 讀取檔案、資料夾與網站內容。本文檢視它的架構、實際運作方式、限制與適用對象。
- 適合誰用?
- Sidekick 適合已經熟悉本地 LLM 生態、願意接受 release candidate 階段軟體、且需要把 macOS 上的檔案、資料夾與網站內容納入對話脈絡的個人研究者或學生。它不適合需要穩定生產環境、或依賴某個特定雲端模型而無意管理本機模型檔案的團隊。
- 可以商用嗎?
- 可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫最近一次提交在 115 天前。
- 用什麼語言寫的?
- 主要是 Swift(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。
開源專案深度解析
它解決什麼問題:本地 LLM 與個人文件的對話鴻溝
多數聊天機器人只能處理你貼上的文字,無法直接觸及你 Mac 上的檔案、資料夾或網站。Sidekick 要填補的正是這個缺口。它把一個完整的本地推論引擎(llama.cpp)與檢索增強生成(RAG)綁進單一 macOS 應用,讓使用者不必安裝 Python、ollama 或任何額外軟體,就能對自己收集的研究材料提問。典型的使用者是大學生或獨立研究者,例如 README 中提到的歷史論文寫作場景:使用者建立一個「English Literature」專家,放入相關 PDF,然後問「阿茲特克人是否使用繳獲的西班牙武器?」,Sidekick 回傳附有頁碼的直接引文。這個應用的核心主張是「local first」,所有對話都在離線狀態進行,資料不離開你的機器。對隱私敏感的人來說,這比把文件上傳到雲端服務更有吸引力。
架構與運作機制:RAG、專家與內建推論引擎
Sidekick 的運作建立在幾個層次上。底層是內建的 llama.cpp 後端,支援現代 GGUF 格式模型,例如 Qwen3.5。文件指出它「開箱即用」支援這些模型,但沒有列出完整清單。上一層是「專家」(Experts)概念,每個專家可以獨立設定要納入的資源,包括檔案、資料夾與網站。啟用某個專家後,Sidekick 會根據使用者的請求,從這些資源中檢索相關片段,再餵給模型生成回答。這正是 RAG 的典型流程。檢索的具體演算法(例如 chunk 大小、embedding 模型、相似度門檻)在 README 中完全沒有提及,這是一個明顯的資訊缺口。此外,Sidekick 還支援臨時資源:直接把檔案拖進輸入欄,該檔案就只對當次對話有效。這種設計讓使用者不必為了單一問題建立永久專家。
啟動與設定:從 GitHub 下載到第一個對話
README 沒有提供安裝指令,因為這不是命令列工具。使用者需前往 GitHub releases 頁面下載 1.0.0-rc.18 的 .app 檔案,或從原始碼以 Xcode 建置。首次啟動後,你需要一個 GGUF 模型檔。Sidekick 沒有內建模型下載器,這意味著你必須自行從 Hugging Face 或其他來源取得模型,然後在應用程式中指定路徑。對於不熟悉 GGUF 生態的人,這可能是第一個門檻。設定完成後,你可以建立一個專家,加入一個資料夾,然後開始提問。若要使用遠端模型,則在設定中選擇提供者(如 OpenAI、Anthropic、DeepSeek),輸入 API 金鑰即可。注意,Sidekick 的本地推論與遠端 API 是並存關係,不是取代關係,兩者可以隨時切換。
進階能力:函式呼叫、Deep Research、記憶與 Canvas
Sidekick 不只是聊天視窗。它實作了函式呼叫(function calling),模型可以在迴圈中依序呼叫工具,直到取得結果。README 舉例,當要求計算 Nvidia 2025 年第三季財務指標時,Sidekick 進行了 27 次工具呼叫,最後儲存 CSV 檔案並呈現結果。另一個例子是,它會讀取 macOS 聯絡人,找出朋友的電子郵件地址,並在預設郵件客戶端中建立草稿。這表示 Sidekick 能存取系統層級的資料,對隱私的影響值得注意。Deep Research 是另一個內建代理,它會閱讀 50 到 80 個網頁,然後綜合出一份研究報告。此外,Sidekick 有記憶功能,能在對話之間記住使用者的偏好,例如「我是 Python 初學者,正在寫 Tetris」,之後推薦程式庫時會根據這個脈絡。Canvas 功能則讓使用者建立與編輯網站或程式碼,並可選取文字片段進行選擇性修改。最後,影像生成功能由內建 CoreML 模型驅動,系統會自動判斷何時該產生圖片,不需要手動切換模式。
真正的限制與失敗模式
Sidekick 的設計有幾個內在限制。首先,它依賴 RAG,但 README 聲稱「理論上可以放入無限資源」,這在實務上不可能。檢索延遲會隨著資源數量增加而上升,而且如果檢索品質不佳,模型會給出看似合理但缺乏根據的答案。文件沒有提供任何關於檢索準確度或延遲的基準數據,這對想要處理大型研究資料庫的人是一個風險。其次,本地推論需要足夠的硬體資源。llama.cpp 在 Apple Silicon 上表現良好,但大型模型(例如 70B 參數)仍會佔用大量記憶體。README 沒有列出最低硬體需求,這是一個明顯的疏漏。第三,函式呼叫雖然強大,但「自動識別」影像生成提示的機制可能誤判,導致非預期的影像輸出。最後,Sidekick 目前處於 release candidate 階段,最後一次釋出是 1.0.0-rc.18,這表示 API 或功能可能仍有變動,不適合要求高度穩定的工作流程。
替代方案與方法差異
Sidekick 的主要競爭者是 ollama 搭配介面前端(如 Open WebUI),或 LM Studio。ollama 採取命令列優先、模型管理與 API 伺服器分離的架構,使用者需要自行組合前端與 RAG 管線。LM Studio 同樣提供圖形介面與本地推論,但它更聚焦於模型瀏覽與對話,RAG 與代理功能較弱。Sidekick 的差異在於它把 RAG、函式呼叫、Deep Research、記憶與 Canvas 全部整合在一個原生 macOS 應用中,且直接存取系統資源(如聯絡人)。這種整合度對非技術使用者較友善,但代價是靈活性較低:你無法像 ollama 那樣自由替換檢索元件或調整推論參數。另一個差異是 Sidekick 支援 OpenAI 相容 API,讓使用者可以混合本地與遠端模型,而 ollama 本身不提供這種整合,需要外部工具。
維護成本與授權考量
Sidekick 以 MIT 授權釋出,這表示你可以自由使用、修改與散佈,甚至用於商業用途,只要保留原始著作權聲明。專案的主要語言是 Swift,最後一次推送是 2026 年 5 月,顯示開發仍持續進行。然而,release candidate 版本頻繁更迭(rc.16 到 rc.18 之間隔了數月),升級時可能遇到設定檔或功能變動。由於它內建 llama.cpp 與 CoreML 模型,升級 Sidekick 時也可能需要更新模型或重新測試既有專家設定。文件沒有提供自動更新機制,使用者需手動追蹤 GitHub releases。若你打算修改原始碼,SwiftUI 的學習曲線與 macOS 版本相容性(README 未指定最低 macOS 版本)是需要先確認的項目。整體而言,MIT 授權對個人與組織都很友善,但維護負擔落在使用者身上,因為沒有商業支援。
編輯結論
Sidekick 適合已經熟悉本地 LLM 生態、願意接受 release candidate 階段軟體、且需要把 macOS 上的檔案、資料夾與網站內容納入對話脈絡的個人研究者或學生。它不適合需要穩定生產環境、或依賴某個特定雲端模型而無意管理本機模型檔案的團隊。在採用前,應先確認你使用的 GGUF 模型是否被內建 llama.cpp 版本支援,並測試 RAG 在大型資料夾上的檢索延遲,因為 README 宣稱可放入無限資源,但未提供任何效能數據。另外,若你仰賴 OpenAI 相容 API,需注意 Sidekick 的本地優先設計可能讓遠端模型缺少某些本機專屬工具(如聯絡人讀取),這點文件並未明說。最後,檢查 1.0.0-rc.18 的已知問題清單,因為 release candidate 版本通常存在尚未修補的邊界情況。
社群筆記