Leon:意圖優先、可離線自架的開源個人助理,核心正重寫為 TypeScript

Published · AI Daily — AI-assisted deep research, methodology & disclosure

Leon 是 MIT 授權的開源個人助理,可部署在自己的伺服器上,支援語音與文字,並能完全離線運作。它的自然語言理解堅持意圖優先,用自訓練模型而非大型語言模型,功能以技能形式承載。最新 1.0.0-beta.8 提供二進位發行並把核心改寫為 TypeScript。作者計畫讓大型模型負責意圖兜底,目前外部貢獻暫停,也未公布基準資料。

專案定位:能住在你自己伺服器上的開源個人助理

Leon 是一個 MIT 授權的開源個人助理,口號是「你的開源個人助理」。它不是又一個雲端聊天機器人,而是一個可以部署在你自己伺服器上的常駐程式:你可以對它說話,它也可以回話;你可以傳文字給它,它也可以主動傳訊息給你。更重要的是,它可以完全離線運作,以保護隱私。在大型語言模型熱潮裡,這個定位顯得很「逆潮流」,也正因此值得認真讀一遍。

作者在 README 裡給出了五條初衷:第一,開發者想做很多能改善日常生活的小工具,與其為每個點子單獨建專案,不如用 Leon 的「技能(Skills)」結構統一承載;第二,通用結構讓每個人都能寫技能並分享,核心只需要一個;第三,它使用 AI 概念,本身就有趣;第四,隱私很重要,可以設定成不依賴任何第三方服務的離線對話;第五,開源很棒。

核心架構:多個節點協同

依 README 的描述,這個倉庫包含 Leon 的多個節點:伺服器、技能、Web 應用、熱詞節點、TCP 伺服器,以及 Python 橋接。其中 TCP 伺服器負責 Leon 與 spaCy 等第三方節點之間的行程間通訊。這種「主行程加若干專職子行程」的拆法很務實:自然語言處理生態大多在 Python 裡,而伺服器與 Web 端更適合 TypeScript,用本機 TCP 把兩邊接起來,各取所長。

最新版本 1.0.0-beta.8 的發布部落格標題是「二進位檔與 TypeScript 重寫」。這說明兩件事:一是核心正在用 TypeScript 重寫;二是專案開始提供預先編譯的二進位檔,降低安裝門檻。README 同時提到未來會有 JavaScript 橋接,與現有 Python 橋接並行,技能作者可以用熟悉的語言寫技能。

運作原理:意圖優先的 NLU

Leon 的自然語言理解(NLU)堅持「意圖優先」,使用自己訓練的模型,而不依賴大型語言模型。流程大致是:使用者的話(語音轉文字後或直接輸入的文字)先被分類到某個意圖,同時擷取命名實體,然後路由到對應的技能執行,最後產生回答。這種設計的好處很清楚:模型小、推論快、結果可預測,能在邊緣裝置上完全離線運作;缺點同樣清楚:只能處理預先定義過的意圖,泛化能力遠不如大型模型。

作者對此有清醒的認識,並在 README 裡規劃了大型語言模型的四種用法。其一,意圖兜底:當話語比對不到任何意圖時,再交給大型模型給出結果。其二,新的命名實體辨識引擎:更好地從話語裡擷取水果、數字、城市、時長、人名等。其三,技能能力:讓技能直接獲得摘要、翻譯、情感分析等開箱即用的 NLP 功能。其四,輔助技能開發:改寫範例語句、翻譯回答、在 Python 橋接與未來的 JavaScript 橋接之間轉換程式碼。作者的判斷是,借助量化等縮小模型的技術,Leon 遲早能把大型模型放在核心裡,同時仍然能在邊緣裝置上執行。

效能與成本:README 沒有給出基準

需要坦率說明:這份 README 沒有公布任何基準資料,沒有延遲、準確率或資源占用的對比。因此本文不編造數字。

我們只能從架構上推斷取捨:意圖優先的小模型成本極低,幾乎沒有按量計費的推論開銷;代價是技能涵蓋面取決於社群寫了多少技能,以及每個意圖需要多少範例語句。若將來引入量化後的本機大型模型,記憶體與首次回應延遲會成為新的主要成本,這也是作者強調「邊緣可執行」的原因。

生態與採用影響

對開發者來說,Leon 的價值在於「技能」這一統一抽象:每個小點子都寫成技能,重用同一套語音、文字、NLU 與部署能力。

對注重隱私的個人或小團隊來說,可自架、可離線是硬需求,Leon 提供了少見的完整開源方案。作者還提到,技能平台上線後,同步進度與發布新技能會更容易,並計畫經營社群、定期通話、共同開發技能。

限制與挑戰

第一,專案現況並不輕鬆。作者坦言,因個人原因只能在下班後和週末開發新核心,並且為了避免大量破壞性變更帶來的衝突,暫時不接受外部貢獻,也不會為新核心之前的版本補寫文件和測試。

第二,意圖優先的 NLU 涵蓋面有限,需要靠大型模型兜底,而這部分仍在規劃中。第三,資金是現實問題:作者希望有一天能全職投入,並考慮未來的變現方式,同時承諾核心永遠開源,目前接受贊助。

未來演進

可以預期的方向有:新核心正式發布;技能平台上線;JavaScript 橋接與大型模型兜底落地;社群經營(Discord、定期通話)。

值得關注的是新核心發布之後,貢獻是否重新開放,以及大型模型接入能否真的保持「離線可用」。在此之前,Leon 更像一個有清晰理念、仍在重建地基的長期專案:理念值得借鑑,但正式使用前應先核對最新分支與發布說明。

選型建議

如果你的需求是固定、可枚舉的日常任務,例如查詢、提醒、裝置控制,並且必須把資料留在本機,意圖優先的架構足夠用,而且執行成本最低。

如果你需要開放式對話和複雜推理,則要等待大型模型兜底落地,或者自行把外部模型接入技能。無論哪種選擇,技能這一層都是 Leon 最穩定的資產:把能力寫成技能,就能隨核心升級遷移,也方便在社群裡分享。

Sources