hermes-agent-cn-desktop

agent
Security Audit
Warn
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.

SUMMARY

Hermes Agent CN desktop app built with Tauri, React, and Rust

README.md

Hermes Agent CN Desktop

简体中文 · English

web-test
rust-test
release-desktop
License: MIT

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 9120 by default, leaving 9119 free 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

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)

No results found