hermes-agent-cn-desktop
Health Warn
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 7 GitHub stars
Code Warn
- process.env — Environment variable access in .github/workflows/release-desktop.yml
- fs module — File system access in .github/workflows/release-desktop.yml
- network request — Outbound network request in .github/workflows/release-desktop.yml
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Hermes Agent CN desktop app built with Tauri, React, and Rust
Hermes Agent CN Desktop
简体中文 · English
Hermes Agent CN Desktop is a lightweight desktop client for the Hermes Agent Chinese community edition. It is built with Tauri v2, Rust, React, and TypeScript, and it wraps the hermes-agent-cn Dashboard with a native desktop shell.
Current release:
v0.1.0-alpha.2. The project is still in alpha. APIs, packaging, runtime distribution, and UI details may change before the first stable release.
Demo
If the embedded player is not available in your Markdown viewer, open the MP4 demo.
Why this project exists
Hermes Agent already provides a local Dashboard. This repository focuses on the desktop experience around that Dashboard: native windows, local process management, file dialogs, managed runtime installation, runtime diagnostics, and a safer production transport layer for REST and SSE traffic.
This repository is the desktop shell. The agent runtime and Dashboard source live in hermes-agent-cn.
Highlights
- Lightweight desktop shell: Tauri uses the system WebView instead of bundling Chromium.
- Managed runtime workflow: the desktop app can install, update, verify, and roll back the local Hermes runtime.
- Agent-first UI: chat, streaming responses, attachments, MCP tools, skills, memory, profiles, scheduled tasks, and runtime health panels.
- Production transport bridge: Rust commands proxy REST requests, uploads, and SSE streams to avoid WebView CORS limitations and centralize auth handling.
- Local-first defaults: the managed Dashboard uses port
9120by default, leaving9119free for a user-managed global Hermes Agent. - Cross-platform release target: macOS DMG and Windows NSIS installers are built by GitHub Actions.
Download
Pre-release builds are published on the GitHub Releases page.
The current alpha release includes:
- macOS Apple Silicon DMG:
Hermes.Agent.CN.Desktop_0.1.0_aarch64.dmg - Windows x64 installer:
Hermes.Agent.CN.Desktop_0.1.0_x64-setup.exe
The Windows installer currently stages a bundled hermes-agent-cn runtime. The macOS build uses the managed runtime download/update flow on first launch.
Requirements for development
- Rust stable
- Node.js 20+
- pnpm 9+
- hermes-agent-cn or an installed Hermes CLI for local Dashboard development
macOS also needs Xcode Command Line Tools:
xcode-select --install
Quick start
Install dependencies:
pnpm install
Start the Hermes Dashboard in a separate terminal:
hermes dashboard --host 127.0.0.1 --port 9120 --no-open
Start the desktop app in development mode:
pnpm web:dev
cargo run
You can also let the Tauri dev command start the Vite dev server:
pnpm tauri:dev
Build
# Production build for the current platform
pnpm tauri:build
# Debug build with debug symbols
pnpm tauri:build:debug
Build artifacts are written under target/release/bundle/ or target/debug/bundle/.
Repository layout
├── src/ Rust backend: Tauri commands, process management, runtime management
├── web/ React frontend: Vite, TanStack Query, Jotai
├── packages/
│ ├── protocol/ Zod schemas, API contracts, IPC types
│ └── shared-ui/ Design tokens and shared UI components
├── static/ Staged dashboard, runtime, and bundled skills for packaging
├── scripts/ Local development, runtime staging, and release staging scripts
├── .github/workflows/ CI and desktop release workflows
├── Cargo.toml Rust crate configuration
├── tauri.conf.json Tauri window, security, and bundle configuration
└── package.json pnpm workspace root
Common commands
| Command | Description |
|---|---|
pnpm web:dev |
Start the Vite dev server on port 9545 |
cargo run |
Compile and launch the Tauri desktop window |
pnpm typecheck |
Run TypeScript checks across the workspace |
pnpm test:unit |
Run Vitest unit tests |
cargo check |
Run Rust compile checks |
cargo test --all-features |
Run Rust tests |
pnpm tauri:build |
Build production desktop bundles |
Quality gates
Before opening a pull request, please run the relevant checks:
pnpm typecheck
pnpm test:unit
cargo fmt --all -- --check
cargo clippy --all-targets -- -D warnings
cargo test --all-features --no-fail-fast
CI runs separate frontend and Rust workflows on main and pull requests targeting main.
Release process
Releases use SemVer tags:
v0.1.0-alpha.1
v0.1.0-beta.1
v0.1.0
v0.1.1
Pushing a v* tag triggers .github/workflows/release-desktop.yml, which builds and uploads desktop installers to GitHub Releases. Alpha, beta, and release-candidate tags are marked as GitHub pre-releases.
Roadmap
The short-term roadmap is focused on:
- hardening the managed runtime installation and update path;
- improving first-run onboarding and provider setup;
- expanding diagnostics for Dashboard, gateway, MCP, skills, and model configuration;
- polishing macOS and Windows packaging behavior;
- documenting the desktop/runtime boundary for contributors.
Contributing
Issues and pull requests are welcome. Please read CONTRIBUTING.md before contributing.
For security-sensitive reports, please follow SECURITY.md instead of opening a public issue.
License
This project is licensed under the MIT License.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found