# 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.