feat: Hermit 1.1.0 — HERMIT_* env, Tauri desktop shell
Wire hermit_getenv across the engine, rebrand WebUI/systemd/docs, and add apps/desktop (Tauri 2 + React) with a DeepSeek-Harness-like UI. Qt app/ is frozen; full libcstcore FFI is scaffolded behind --features engine. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
# Hermit Desktop (Tauri 2)
|
||||
|
||||
Cross-platform shell for Hermit. Visual layout follows DeepSeek Harness
|
||||
(session rail · chat · tool timeline · composer); the agent engine is the
|
||||
in-process C core (`libcstcore`), not a Cordis/plugin runtime.
|
||||
|
||||
## Stack
|
||||
|
||||
- **Tauri 2** + Rust host
|
||||
- **React 19** + Vite + TypeScript UI
|
||||
- FFI to `libcstcore` (same embed path as the legacy Qt app)
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Platform | Needs |
|
||||
|----------|--------|
|
||||
| All | Rust (stable), Node 20+, `pnpm` or `npm` |
|
||||
| Linux | `webkit2gtk-4.1`, `libgtk-3`, `librsvg`, `patchelf`, pkg-config, curl |
|
||||
| Windows | WebView2 runtime |
|
||||
| macOS | Xcode CLT |
|
||||
|
||||
Nix example:
|
||||
|
||||
```bash
|
||||
nix-shell -p rustc cargo nodejs_22 pkg-config webkitgtk_4_1 gtk3 librsvg openssl curl
|
||||
```
|
||||
|
||||
## Develop
|
||||
|
||||
```bash
|
||||
cd apps/desktop
|
||||
npm install
|
||||
npm run tauri dev
|
||||
```
|
||||
|
||||
Without a full engine link yet, the UI runs against the mock bridge
|
||||
(`HERMIT_DESKTOP_MOCK=1` or automatic when FFI is unavailable).
|
||||
|
||||
## Build
|
||||
|
||||
```bash
|
||||
npm run tauri build
|
||||
```
|
||||
|
||||
Artifacts land in `src-tauri/target/release/bundle/`.
|
||||
|
||||
## Layout
|
||||
|
||||
```
|
||||
apps/desktop/
|
||||
src/ React UI (DSH-like)
|
||||
src-tauri/ Rust + Tauri + FFI
|
||||
README.md
|
||||
```
|
||||
|
||||
The legacy Qt front end under `/app` is frozen and will be archived once
|
||||
desktop feature parity lands.
|
||||
Reference in New Issue
Block a user