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 軟件基金會許可證等。項目特別鳴謝了這些上游項目,並鼓勵用户為它們加星。