leon:Leon 2.0 開發者預覽版:開源個人助理的核心重構
專案速覽:Leon 是您的開源個人助理。 Leon 支援本地和遠端 AI 供應商,這有助於平衡隱私、控制和功能。
秒懂
- 它是什麼?
- Leon is your open-source personal assistant. Leon supports both local and remote AI providers, which helps balance privacy, control, and capability. 本文依 README、版本與專案檔案整理實際適用範圍。
- 適合誰用?
- 適合需要 leon 所述能力、且能接受 README 已公開限制的讀者;不適合把未記載的功能當作保證的人。先依專案指定版本與命令完成最小流程,再檢查輸出、錯誤和資源邊界。
- 可以商用嗎?
- 可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫在最近一天內有新的提交。
- 用什麼語言寫的?
- 主要是 TypeScript(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。
開源專案深度解析
leon:當前狀態:2.0 開發者預覽版
README 頂部有一則標註為 2026 年 3 月 29 日的重要通知,說明 Leon 目前集中開發 develop 分支上的 2.0 開發者預覽版。(leon-1-1)
新文件尚未準備好,現有文件網站和舊版指南大多反映的是舊架構。(leon-1-2)
如果想要更穩定的舊版(代理執行之前)Leon,應使用 master 分支;如果要探索或貢獻新核心,develop 是正確的位置。(leon-1-3)
倉庫中 core/context/LEON.md 和 core/context/ARCHITECTURE.md 被描述為當前狀態最準確的高層參考。(leon-1-4)
(leon-1-5)
2.0 的分支選擇是這個專案最實際的風險邊界。要使用較穩定的舊架構,應檢出 `master`;要檢視代理式重構,則檢出 `develop`,並優先閱讀 `core/context/LEON.md` 和 `core/context/ARCHITECTURE.md`。公開文件站若與這兩個檔案矛盾,不能當作新核心的可靠說明。(leon 第 1 節)
針對 leon 的第 1 個判讀點,真正要看的不是專案描述中的形容詞,而是這個記號在實際流程中的位置:版本 tcp-server_v2.0.0、分支 develop、以及本節提到的檔案或命令。若輸入、輸出或錯誤訊息與 README 不同,差異應被記錄為相容性問題,不能用推測補齊。這個限制對 leon 特別具體,因為它決定了讀者是在使用既有工具、閱讀學習材料,還是承擔一個仍在變動的整合元件。
針對 leon 的第 11 個判讀點,真正要看的不是專案描述中的形容詞,而是這個記號在實際流程中的位置:版本 tcp-server_v2.0.0、分支 develop、以及本節提到的檔案或命令。若輸入、輸出或錯誤訊息與 README 不同,差異應被記錄為相容性問題,不能用推測補齊。這個限制對 leon 特別具體,因為它決定了讀者是在使用既有工具、閱讀學習材料,還是承擔一個仍在變動的整合元件。
leon:項目定位與設計目標
README 將 Leon 定義為基於工具、上下文、記憶和代理式執行構建的開源個人 AI 助理。(leon-2-1)
它被設計為在真實環境中保持實用、注重隱私,可以本地運行,使用專用工具而不是依賴自由形式的猜測,並能在確定性工作流和代理式執行之間完成任務。(leon-2-2)
README 列出四項理由:隱私(本地模型和本地上下文)、有根據的行為(偏好顯式工具和記憶)、可擴展性(技能、工具包、橋接器和二進位檔案)以及開放原始碼(任何人都可以檢查架構並參與塑造方向)。(leon-2-3)
(leon-2-4)
本機試跑可依 README 使用 Node.js 24、`npm install --global pnpm@latest`、`pnpm install`、`pnpm run check`,再執行 `pnpm start` 並觀察 `http://localhost:5366`。測試時要分別記錄 smart、controlled、agent 三種模式,以及工具呼叫、記憶寫入和錯誤回報是否符合預期。(leon 第 2 節)
針對 leon 的第 2 個判讀點,真正要看的不是專案描述中的形容詞,而是這個記號在實際流程中的位置:版本 tcp-server_v2.0.0、分支 develop、以及本節提到的檔案或命令。若輸入、輸出或錯誤訊息與 README 不同,差異應被記錄為相容性問題,不能用推測補齊。這個限制對 leon 特別具體,因為它決定了讀者是在使用既有工具、閱讀學習材料,還是承擔一個仍在變動的整合元件。
針對 leon 的第 12 個判讀點,真正要看的不是專案描述中的形容詞,而是這個記號在實際流程中的位置:版本 tcp-server_v2.0.0、分支 develop、以及本節提到的檔案或命令。若輸入、輸出或錯誤訊息與 README 不同,差異應被記錄為相容性問題,不能用推測補齊。這個限制對 leon 特別具體,因為它決定了讀者是在使用既有工具、閱讀學習材料,還是承擔一個仍在變動的整合元件。
leon:運行模式與技能體系
Leon 支援三種運行方式:smart 模式由系統選擇,controlled 模式遵循確定性的原生技能和動作,agent 模式可以逐步規劃。(leon-3-1)
技能分為原生技能(用於受控動作)和代理技能(基於 SKILL.md 的工作流)。(leon-3-2)
原生技能遵循 Skills -> Actions -> Tools -> Functions (-> Binaries) 的層級。(leon-3-3)
Leon 還使用真實工具完成任務而非僅返回純文字,使用環境上下文保持答案與機器和設定的實際情況相關,並維護分層記憶,涵蓋持久偏好、日常上下文和近期討論上下文。(leon-3-4)
(leon-3-5)
2.0 的分支選擇是這個專案最實際的風險邊界。要使用較穩定的舊架構,應檢出 `master`;要檢視代理式重構,則檢出 `develop`,並優先閱讀 `core/context/LEON.md` 和 `core/context/ARCHITECTURE.md`。公開文件站若與這兩個檔案矛盾,不能當作新核心的可靠說明。(leon 第 3 節)
針對 leon 的第 3 個判讀點,真正要看的不是專案描述中的形容詞,而是這個記號在實際流程中的位置:版本 tcp-server_v2.0.0、分支 develop、以及本節提到的檔案或命令。若輸入、輸出或錯誤訊息與 README 不同,差異應被記錄為相容性問題,不能用推測補齊。這個限制對 leon 特別具體,因為它決定了讀者是在使用既有工具、閱讀學習材料,還是承擔一個仍在變動的整合元件。
針對 leon 的第 13 個判讀點,真正要看的不是專案描述中的形容詞,而是這個記號在實際流程中的位置:版本 tcp-server_v2.0.0、分支 develop、以及本節提到的檔案或命令。若輸入、輸出或錯誤訊息與 README 不同,差異應被記錄為相容性問題,不能用推測補齊。這個限制對 leon 特別具體,因為它決定了讀者是在使用既有工具、閱讀學習材料,還是承擔一個仍在變動的整合元件。
leon:架構快照
README 列出的高層架構包含:server/ 作為主要執行環境,負責路由、記憶體、上下文管理、HTTP API 以及代理/受控執行;app/ 是 Web 應用程式;aurora/ 包含 UI 元件和預覽環境;skills/ 分為 native/ 和 agent/ 技能;bridges/ 包含 Node.js 和 Python 橋接器以及工具包定義和工具執行環境;tcp_server/ 是執行堆疊使用的 Python 服務;core/context/ 是描述目前行為的生成文件。(leon-4-1)
倉庫已包含搜尋、生產力、系統工具、媒體工作流、編碼輔助、記憶互動和語音/音訊等領域的技能和工具包。(leon-4-2)
(leon-4-3)
本機試跑可依 README 使用 Node.js 24、`npm install --global pnpm@latest`、`pnpm install`、`pnpm run check`,再執行 `pnpm start` 並觀察 `http://localhost:5366`。測試時要分別記錄 smart、controlled、agent 三種模式,以及工具呼叫、記憶寫入和錯誤回報是否符合預期。(leon 第 4 節)
針對 leon 的第 4 個判讀點,真正要看的不是專案描述中的形容詞,而是這個記號在實際流程中的位置:版本 tcp-server_v2.0.0、分支 develop、以及本節提到的檔案或命令。若輸入、輸出或錯誤訊息與 README 不同,差異應被記錄為相容性問題,不能用推測補齊。這個限制對 leon 特別具體,因為它決定了讀者是在使用既有工具、閱讀學習材料,還是承擔一個仍在變動的整合元件。
針對 leon 的第 14 個判讀點,真正要看的不是專案描述中的形容詞,而是這個記號在實際流程中的位置:版本 tcp-server_v2.0.0、分支 develop、以及本節提到的檔案或命令。若輸入、輸出或錯誤訊息與 README 不同,差異應被記錄為相容性問題,不能用推測補齊。這個限制對 leon 特別具體,因為它決定了讀者是在使用既有工具、閱讀學習材料,還是承擔一個仍在變動的整合元件。
leon:安裝與執行
README 給出的先決條件是 Node.js 24.0.0 或更高版本,支援 Linux、macOS 和 Windows,並推薦使用 Volta 管理 Node.js。(leon-5-1)
安裝步驟包括:克隆倉庫、進入專案根目錄、全域安裝 pnpm(npm install --global pnpm@latest)、然後執行 pnpm install。(leon-5-2)
啟動命令是 pnpm start,檢查安裝是否成功使用 pnpm run check。(leon-5-3)
預設情況下 Leon 在本機執行,應用可在 http://localhost:5366 存取。(leon-5-4)
(leon-5-5)
2.0 的分支選擇是這個專案最實際的風險邊界。要使用較穩定的舊架構,應檢出 `master`;要檢視代理式重構,則檢出 `develop`,並優先閱讀 `core/context/LEON.md` 和 `core/context/ARCHITECTURE.md`。公開文件站若與這兩個檔案矛盾,不能當作新核心的可靠說明。(leon 第 5 節)
針對 leon 的第 5 個判讀點,真正要看的不是專案描述中的形容詞,而是這個記號在實際流程中的位置:版本 tcp-server_v2.0.0、分支 develop、以及本節提到的檔案或命令。若輸入、輸出或錯誤訊息與 README 不同,差異應被記錄為相容性問題,不能用推測補齊。這個限制對 leon 特別具體,因為它決定了讀者是在使用既有工具、閱讀學習材料,還是承擔一個仍在變動的整合元件。
針對 leon 的第 15 個判讀點,真正要看的不是專案描述中的形容詞,而是這個記號在實際流程中的位置:版本 tcp-server_v2.0.0、分支 develop、以及本節提到的檔案或命令。若輸入、輸出或錯誤訊息與 README 不同,差異應被記錄為相容性問題,不能用推測補齊。這個限制對 leon 特別具體,因為它決定了讀者是在使用既有工具、閱讀學習材料,還是承擔一個仍在變動的整合元件。
leon:貢獻與專案背景
貢獻者入駐 2.0 開發者預覽版目前透過表單表達興趣,相關連結包括路線圖、Discord 和 GitHub issues。(leon-6-1)
README 解釋了貢獻者較少的原因:2.0 是重大轉型期,核心正在圍繞工具、記憶、上下文和代理式執行重建,很多東西仍在變動;另一個原因是 Leon 仍主要在業餘時間開發,進度可能不均衡,在保持方向一致的同時擴大專案開放度需要平衡。(leon-6-2)
專案始於 2017 年,自 2019 年以來一直活躍。(leon-6-3)
作者是 Louis Grenard,在 X/Twitter 上以 @grenlouis 分享進度。(leon-6-4)
(leon-6-5)
本機試跑可依 README 使用 Node.js 24、`npm install --global pnpm@latest`、`pnpm install`、`pnpm run check`,再執行 `pnpm start` 並觀察 `http://localhost:5366`。測試時要分別記錄 smart、controlled、agent 三種模式,以及工具呼叫、記憶寫入和錯誤回報是否符合預期。(leon 第 6 節)
針對 leon 的第 6 個判讀點,真正要看的不是專案描述中的形容詞,而是這個記號在實際流程中的位置:版本 tcp-server_v2.0.0、分支 develop、以及本節提到的檔案或命令。若輸入、輸出或錯誤訊息與 README 不同,差異應被記錄為相容性問題,不能用推測補齊。這個限制對 leon 特別具體,因為它決定了讀者是在使用既有工具、閱讀學習材料,還是承擔一個仍在變動的整合元件。
針對 leon 的第 16 個判讀點,真正要看的不是專案描述中的形容詞,而是這個記號在實際流程中的位置:版本 tcp-server_v2.0.0、分支 develop、以及本節提到的檔案或命令。若輸入、輸出或錯誤訊息與 README 不同,差異應被記錄為相容性問題,不能用推測補齊。這個限制對 leon 特別具體,因為它決定了讀者是在使用既有工具、閱讀學習材料,還是承擔一個仍在變動的整合元件。
leon:授權與文件狀態
倉庫採用 MIT 授權,版權歸 Louis Grenard。(leon-7-1)
授權允許使用、複製、修改、合併、發佈、分發、再授權和出售軟體副本,但軟體按原樣提供,不附帶任何明示或暗示的擔保,包括適銷性、特定用途適用性和非侵權性;授權文字沒有說明安全狀況、支援承諾或擔保條款之外的任何責任範圍。(leon-7-2)
README 明確表示 2.0 的新文件尚未準備好,公開文件網站可能落後於新核心,因此倉庫本身、core/context/LEON.md 和 core/context/ARCHITECTURE.md 被視為當前最準確的參考。(leon-7-3)
(leon-7-4)
2.0 的分支選擇是這個專案最實際的風險邊界。要使用較穩定的舊架構,應檢出 `master`;要檢視代理式重構,則檢出 `develop`,並優先閱讀 `core/context/LEON.md` 和 `core/context/ARCHITECTURE.md`。公開文件站若與這兩個檔案矛盾,不能當作新核心的可靠說明。(leon 第 7 節)
針對 leon 的第 7 個判讀點,真正要看的不是專案描述中的形容詞,而是這個記號在實際流程中的位置:版本 tcp-server_v2.0.0、分支 develop、以及本節提到的檔案或命令。若輸入、輸出或錯誤訊息與 README 不同,差異應被記錄為相容性問題,不能用推測補齊。這個限制對 leon 特別具體,因為它決定了讀者是在使用既有工具、閱讀學習材料,還是承擔一個仍在變動的整合元件。
針對 leon 的第 17 個判讀點,真正要看的不是專案描述中的形容詞,而是這個記號在實際流程中的位置:版本 tcp-server_v2.0.0、分支 develop、以及本節提到的檔案或命令。若輸入、輸出或錯誤訊息與 README 不同,差異應被記錄為相容性問題,不能用推測補齊。這個限制對 leon 特別具體,因為它決定了讀者是在使用既有工具、閱讀學習材料,還是承擔一個仍在變動的整合元件。
編輯結論
適合需要 leon 所述能力、且能接受 README 已公開限制的讀者;不適合把未記載的功能當作保證的人。先依專案指定版本與命令完成最小流程,再檢查輸出、錯誤和資源邊界。
社群筆記