AI News HubLIVE
站内改写

Show HN:我將一個 Python AI 代理和 Vue 儀表盤打包成了一個 Electron 應用

Hermes Desktop 是一個跨平臺的桌面應用,它將 Python 執行時、hermes-agent(自改進 AI 代理)和 hermes-web-ui(Vue 3 + Koa 聊天儀表盤)打包到一個 Electron 應用中,使用者無需單獨安裝 Python 或 Node。應用整合了 DingTalk 並透過 DeepSeek 驅動。

文章情報

工程師進階

要點

  • 打包了 Python 執行時和 hermes-agent,實現無需依賴即可執行
  • 使用 Electron 作為外殼,整合 hermes-web-ui 前端
  • 支援 macOS、Windows 和 Linux 平臺
  • 不程式碼簽名,首次執行需繞過安全提示

為什麼重要

這條新聞值得關注,因為打包了 Python 執行時和 hermes-agent,實現無需依賴即可執行。

技術影響

可能影響模型選型、推理成本、產品能力和評測基準。

Hermes Desktop 是一個由 GitHub 使用者 sir1st 開發的開源專案,旨在將複雜的 AI 代理環境簡化為一個單一的、跨平臺的桌面應用。該應用打包了 Python 執行時、Nous Research 的 Hermes Agent(一個自改進的 AI 代理)以及 EKKO Learn AI 的 hermes-web-ui(一個基於 Vue 3 和 Koa 的多平臺聊天儀表盤),使用者無需手動安裝 Python 或 Node.js 即可使用。

應用架構方面,Electron 主程序會啟動一個本地的 hermes-web-ui Koa 伺服器(執行在 127.0.0.1:8648),該伺服器透過 HERMES_BIN 環境變數呼叫打包的 Python hermes CLI。瀏覽器視窗載入該伺服器頁面,並透過預載入指令碼注入認證令牌。Python 執行時使用 python-build-standalone 構建,hermes-agent 在構建時透過 pip 安裝到該 Python 環境中。

Hermes Desktop 的安裝方式非常簡便,使用者可以從 GitHub Releases 頁面下載對應平臺的安裝包。目前支援 macOS(Apple Silicon 和 Intel)、Windows x64 以及 Linux(x64 和 arm64)。由於應用在 v0.x 階段未進行程式碼簽名,macOS 使用者需要執行 xattr 命令移除 quarantine 屬性,Windows 使用者則需點選“更多資訊”並選擇“仍要執行”以繞過 SmartScreen 保護。

對於開發者,專案提供了完整的開發指南。克隆倉庫時需要初始化子模組,然後執行 npm install 安裝依賴。首次構建需要分別構建前端和 Python 環境,其中 npm run prepare:python 會下載 Python 並安裝 hermes-agent,推薦使用 uv 工具以加速依賴解析。開發模式使用 npm run dev 啟動 Electron。

打包釋出由 GitHub Actions 自動化完成,在標籤 vX.Y.Z 時觸發。每個平臺的任務構建對應的安裝包並上傳為工作流產物,最終由一個釋出任務統一建立 Release,避免了 electron-builder 的並行草稿競爭。electron-updater 會在下次啟動時自動檢測更新。

專案目錄結構清晰,主要包括 src/main(Electron 主程序)、src/preload(預載入指令碼)、vendor/hermes-web-ui(前端子模組)、resources/python(Python 執行時,gitignored)以及多個構建指令碼。版本方面,python-build-standalone 使用 20260510,Python 3.12.13,hermes-agent 0.14.0,hermes-web-ui 鎖定子模組的 HEAD。

Hermes Desktop 本身採用 MIT 許可證,但打包的元件保留其上游許可證:hermes-agent 為 MIT,hermes-web-ui 為 BSL-1.1,python-build-standalone 為 Python 軟體基金會許可證等。專案特別鳴謝了這些上游專案,並鼓勵使用者為它們加星。