Hermes One-Click 是一个面向 Windows 的 Hermes 可视化桌面包。它把 hermes-agent、hermes-webui、原生 WebView2 壳、便携 Python 运行时、Node 运行时、WebView2 Fixed Runtime、内置技能和便携工具一起打进安装包,让最终用户安装后无需配置开发环境,双击 HermesWebUI.exe 即可打开可视化应用。
| 项 | 说明 |
|---|---|
| Agent 升级 | 同步 Hermes Agent 0.15.1,对齐新版 agent 能力与 API。 |
| Windows 终端 | WebUI 内置终端改用 ConPTY(pywinpty),原生 PowerShell/cmd,不再依赖 WSL。 |
| Shell 命令 | 修复 Windows 上 local backend 误用 WSL bash.exe 的问题,优先 Git for Windows。 |
| 工作区文件 | 新增右侧工作区文件抽屉,便于快速浏览当前目录。 |
| 技能市场 | 顶部栏增加「冒爸技能市场」快捷入口。 |
| 问题修复 | 根据社区反馈修复多项已知问题。 |
hermes-agent/:Hermes agent、CLI、工具、技能系统和前端 dashboard 源码。hermes-webui/:本地 WebUI 服务、API、静态资源和会话管理。packaging/windows/launcher-native/:Windows 原生 WebView2 启动器项目,负责启动 WebUI、等待本地端口打开并进入桌面窗口。packaging/windows/hermes-installer-staging.iss:Inno Setup 安装包脚本。scripts/Build-Staging.ps1:从源码生成_staging/Hermes完整运行目录。vendor/:本地下载的离线运行时和便携工具缓存,默认不提交到 Git。_staging/、_dist/:构建输出目录,默认不提交到 Git。
推荐在 Windows 10/11 x64 上构建。
必需工具:
- PowerShell
- Git for Windows,提供 Git Bash,前端构建脚本会用到
rm/cp - Python 3.11 或更高版本
- Node.js + npm
- .NET 8 SDK
- Inno Setup 6
可用 winget 安装常见依赖:
winget install --id Git.Git -e
winget install --id OpenJS.NodeJS.LTS -e
winget install --id Python.Python.3.12 -e
winget install --id Microsoft.DotNet.SDK.8 -e
winget install --id JRSoftware.InnoSetup -e为了让用户安装后不再依赖系统 WebView2,需要下载 Microsoft WebView2 Fixed Version Runtime。当前构建使用的是 147.0.3912.98 x64:
New-Item -ItemType Directory -Force -Path ".\vendor" | Out-Null
curl.exe -L --fail -o ".\vendor\Microsoft.WebView2.FixedVersionRuntime.147.0.3912.98.x64.cab" "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/01f18384-38a3-449b-ac04-2aa1777b26fe/Microsoft.WebView2.FixedVersionRuntime.147.0.3912.98.x64.cab"如果这个 Microsoft 直链过期,请到 Microsoft Edge WebView2 下载 Fixed Version Runtime,选择 x64,然后把 .cab 文件放到 vendor/。
安装包可以内置 Skillhub CLI,作为中国网络环境下优先使用的技能商店来源。vendor/ 默认不提交到 Git,因此从干净仓库构建时需要先拉取一次:
curl.exe -L --fail --retry 8 --retry-delay 5 -o ".\vendor\skillhub-latest.tar.gz" "https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/latest.tar.gz"
if (Test-Path ".\vendor\skillhub-kit") { Remove-Item -Recurse -Force ".\vendor\skillhub-kit" }
if (Test-Path ".\vendor\skillhub") { Remove-Item -Recurse -Force ".\vendor\skillhub" }
New-Item -ItemType Directory -Force -Path ".\vendor\skillhub-kit", ".\vendor\skillhub" | Out-Null
tar -xzf ".\vendor\skillhub-latest.tar.gz" -C ".\vendor\skillhub-kit"
Copy-Item ".\vendor\skillhub-kit\cli\skills_store_cli.py" ".\vendor\skillhub\skills_store_cli.py" -Force
Copy-Item ".\vendor\skillhub-kit\cli\skills_upgrade.py" ".\vendor\skillhub\skills_upgrade.py" -Force
Copy-Item ".\vendor\skillhub-kit\cli\version.json" ".\vendor\skillhub\version.json" -Force
Copy-Item ".\vendor\skillhub-kit\cli\metadata.json" ".\vendor\skillhub\metadata.json" -Force然后创建 Windows wrapper:
@'
@echo off
setlocal
set "SCRIPT_DIR=%~dp0"
set "PYTHON_EXE=%SCRIPT_DIR%..\..\runtime\python\python.exe"
if exist "%PYTHON_EXE%" goto run_cli
set "PYTHON_EXE=%SCRIPT_DIR%..\..\runtime\venv\Scripts\python.exe"
if exist "%PYTHON_EXE%" goto run_cli
for %%P in (python.exe py.exe) do (
where %%P >nul 2>nul && set "PYTHON_EXE=%%P" && goto run_cli
)
echo Error: bundled Python runtime not found. 1>&2
exit /b 1
:run_cli
set "SKILLHUB_SKIP_SELF_UPGRADE=1"
"%PYTHON_EXE%" "%SCRIPT_DIR%skills_store_cli.py" --skip-self-upgrade %*
exit /b %ERRORLEVEL%
'@ | Set-Content -Path ".\vendor\skillhub\skillhub.cmd" -Encoding ascii在仓库根目录执行:
powershell -NoProfile -ExecutionPolicy Bypass -File ".\scripts\Build-Staging.ps1" -Clean -DownloadNode -WebView2FixedRuntimePath ".\vendor\Microsoft.WebView2.FixedVersionRuntime.147.0.3912.98.x64.cab"然后编译安装包:
& "$env:LOCALAPPDATA\Programs\Inno Setup 6\ISCC.exe" ".\packaging\windows\hermes-installer-staging.iss"默认产物:
.\_dist\HermesOneClickSetup-Devsoul-0.1.0-dev.exe
安装包内会包含:
HermesWebUI.exeruntime/python便携 Python 运行环境runtime/webview2WebView2 Fixed Runtimenode/node.exetools/bin/skillhub.cmdtools/bin/rg.exe,如果构建机能找到rghermes-agent/skills内置技能,包括ddgr-2.2
Hermes One-Click 启动后,如果用户需要原生 Hermes Agent 的 X/Twitter 插件路线,可以在 Hermes 环境里安装 Hermes Tweet:
hermes plugins install Xquik-dev/hermes-tweet --enable设置 XQUIK_API_KEY 后,Hermes Agent 可以通过 tweet_explore scrape/search tweets、search Twitter/X,通过 tweet_read read tweet replies、look up users、monitor tweets,通过 tweet_action export followers。post tweets、post replies、send DMs 和其他 automate X actions 应继续由用户明确确认后再执行,适合把社媒监听和发布流程接入 One-Click 桌面工作流。
HermesWebUI.exe 会启动内置的 runtime/python/python.exe,运行 app/hermes-webui/server.py,并把 WebUI 的输出写入:
%LOCALAPPDATA%\Hermes\logs\webui.log
启动器会先等待 127.0.0.1:8787 本地端口打开,然后立即进入 WebView2 窗口。/api/settings、网关、日志和初始化配置等接口由前端继续加载,不会阻塞桌面窗口启动。这样可以减少低性能机器、首次杀软扫描或配置读取较慢时的误报超时。
如果 Build-Staging.ps1 -Clean 删除 _staging 失败,通常是旧的 HermesWebUI.exe、python.exe 或 gateway 进程仍在运行。关闭可视化窗口后重试,必要时在任务管理器中结束相关进程。
如果前端构建失败并提示 rm 或 cp 不存在,请安装 Git for Windows。脚本会自动把 npm project 的 script-shell 设置为 Git Bash。
如果安装包图标没有刷新,请确认使用的是最新输出文件 HermesOneClickSetup-Devsoul-0.1.0-dev.exe。Windows Explorer 可能会缓存旧的同名 exe 图标。
如果用户反馈 Hermes One-Click WebUI did not open port http://127.0.0.1:8787/ within 120 seconds,请先收集 %LOCALAPPDATA%\Hermes\logs\webui.log。常见原因包括杀软拦截/扫描内置 Python、旧进程占用 8787、安装目录文件被拦截或首次启动机器性能较慢。
Hermes One-Click is a Windows desktop distribution of Hermes. It packages hermes-agent, hermes-webui, a native WebView2 launcher, a portable Python runtime, Node runtime, WebView2 Fixed Runtime, bundled skills, and portable tools into one installer. End users can install it and launch the visual app by double-clicking HermesWebUI.exe.
| Item | Details |
|---|---|
| Agent upgrade | Synced to Hermes Agent 0.15.1 with the latest agent capabilities and APIs. |
| Windows terminal | Embedded WebUI terminal uses ConPTY (pywinpty) — native PowerShell/cmd, no WSL required. |
| Shell commands | Fixed local backend picking WSL bash.exe over Git for Windows on Windows hosts. |
| Workspace files | New right-side workspace file drawer for quick directory browsing. |
| Skill market | Added a Maoba Skill Market shortcut in the top bar. |
| Bug fixes | Multiple fixes based on community feedback. |
hermes-agent/: Hermes agent, CLI, tools, skill system, and dashboard source.hermes-webui/: local WebUI server, APIs, static assets, and session handling.packaging/windows/launcher-native/: native Windows WebView2 launcher project that starts WebUI, waits for the local port, and opens the desktop window.packaging/windows/hermes-installer-staging.iss: Inno Setup installer script.scripts/Build-Staging.ps1: builds the complete_staging/Hermesruntime directory.vendor/: local runtime/tool cache, ignored by Git._staging/,_dist/: generated build outputs, ignored by Git.
Build on Windows 10/11 x64.
Required tools:
- PowerShell
- Git for Windows, including Git Bash
- Python 3.11+
- Node.js + npm
- .NET 8 SDK
- Inno Setup 6
Install common dependencies with winget:
winget install --id Git.Git -e
winget install --id OpenJS.NodeJS.LTS -e
winget install --id Python.Python.3.12 -e
winget install --id Microsoft.DotNet.SDK.8 -e
winget install --id JRSoftware.InnoSetup -eDownload WebView2 Fixed Version Runtime:
New-Item -ItemType Directory -Force -Path ".\vendor" | Out-Null
curl.exe -L --fail -o ".\vendor\Microsoft.WebView2.FixedVersionRuntime.147.0.3912.98.x64.cab" "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/01f18384-38a3-449b-ac04-2aa1777b26fe/Microsoft.WebView2.FixedVersionRuntime.147.0.3912.98.x64.cab"If the direct Microsoft URL expires, download the Fixed Version Runtime from Microsoft Edge WebView2, choose x64, and place the .cab file under vendor/.
To bundle the China Skillhub CLI, download and unpack the Skillhub kit into vendor/skillhub, then provide vendor/skillhub/skillhub.cmd. See the Chinese section above for the exact PowerShell commands.
powershell -NoProfile -ExecutionPolicy Bypass -File ".\scripts\Build-Staging.ps1" -Clean -DownloadNode -WebView2FixedRuntimePath ".\vendor\Microsoft.WebView2.FixedVersionRuntime.147.0.3912.98.x64.cab"Then compile the installer:
& "$env:LOCALAPPDATA\Programs\Inno Setup 6\ISCC.exe" ".\packaging\windows\hermes-installer-staging.iss"Output:
.\_dist\HermesOneClickSetup-Devsoul-0.1.0-dev.exe
The installer includes the native launcher, bundled Python environment, WebView2 Fixed Runtime, Node runtime, Skillhub CLI when prepared, and bundled skills such as ddgr-2.2.
After Hermes One-Click starts, users who need a native Hermes Agent X/Twitter plugin can install Hermes Tweet inside the Hermes environment:
hermes plugins install Xquik-dev/hermes-tweet --enableAfter setting XQUIK_API_KEY, Hermes Agent can use tweet_explore to scrape/search tweets and search Twitter/X, tweet_read to read tweet replies, look up users, and monitor tweets, and tweet_action to export followers. Keep post tweets, post replies, send DMs, and other automate X actions behind explicit user confirmation when connecting social monitoring or publishing workflows to the One-Click desktop app.
HermesWebUI.exe starts the bundled runtime/python/python.exe, runs app/hermes-webui/server.py, and writes WebUI output to:
%LOCALAPPDATA%\Hermes\logs\webui.log
The launcher waits for 127.0.0.1:8787 to accept connections and then opens the WebView2 window. /api/settings, gateway status, logs, and onboarding state continue loading from the frontend, so slower first-run initialization does not block the desktop window.
If a user sees Hermes One-Click WebUI did not open port http://127.0.0.1:8787/ within 120 seconds, collect %LOCALAPPDATA%\Hermes\logs\webui.log first. Common causes are antivirus scanning/blocking the bundled Python runtime, a stale process occupying port 8787, blocked install files, or very slow first launch on low-end machines.
