generated from nhcarrigan/template
chore: add nsis?
This commit is contained in:
@@ -147,7 +147,8 @@ jobs:
|
|||||||
libayatana-appindicator3-dev \
|
libayatana-appindicator3-dev \
|
||||||
clang \
|
clang \
|
||||||
lld \
|
lld \
|
||||||
llvm
|
llvm \
|
||||||
|
nsis
|
||||||
|
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4
|
uses: pnpm/action-setup@v4
|
||||||
|
|||||||
@@ -1,182 +1 @@
|
|||||||
# Hikari Desktop
|
tem
|
||||||
|
|
||||||
A Linux desktop application that wraps Claude Code with an anime girl character that reacts to Claude's activities in real-time.
|
|
||||||
|
|
||||||
## Features
|
|
||||||
|
|
||||||
- Visual character that reflects Claude's current state (thinking, typing, searching, coding, etc.)
|
|
||||||
- Terminal-style output display
|
|
||||||
- Permission prompts with approve/deny interface
|
|
||||||
- Real-time state detection from Claude Code's NDJSON stream
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
### 1. Install Claude Code
|
|
||||||
|
|
||||||
Hikari Desktop requires Claude Code to be installed and authenticated:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npm install -g @anthropic-ai/claude-code
|
|
||||||
claude # Follow the prompts to authenticate
|
|
||||||
```
|
|
||||||
|
|
||||||
### 2. Install Runtime Dependencies
|
|
||||||
|
|
||||||
**Debian/Ubuntu:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo apt install libwebkit2gtk-4.1-0 libgtk-3-0 libayatana-appindicator3-1 xdg-utils
|
|
||||||
```
|
|
||||||
|
|
||||||
**Fedora:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo dnf install webkit2gtk4.1 gtk3 libappindicator-gtk3 xdg-utils
|
|
||||||
```
|
|
||||||
|
|
||||||
**Arch Linux:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo pacman -S webkit2gtk-4.1 gtk3 libappindicator-gtk3 xdg-utils
|
|
||||||
```
|
|
||||||
|
|
||||||
| Package | Purpose |
|
|
||||||
| --------------- | -------------------------------------------- |
|
|
||||||
| webkit2gtk-4.1 | WebView rendering (app UI) |
|
|
||||||
| gtk3 | Window management and native widgets |
|
|
||||||
| libappindicator | System tray support |
|
|
||||||
| xdg-utils | Opening URLs/files with default applications |
|
|
||||||
|
|
||||||
### 3. Install Hikari Desktop
|
|
||||||
|
|
||||||
Download the latest release for your platform.
|
|
||||||
|
|
||||||
#### Linux
|
|
||||||
|
|
||||||
**AppImage** (any distro):
|
|
||||||
|
|
||||||
```bash
|
|
||||||
chmod +x hikari-desktop_*.AppImage
|
|
||||||
./hikari-desktop_*.AppImage
|
|
||||||
```
|
|
||||||
|
|
||||||
**Debian/Ubuntu:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo dpkg -i hikari-desktop_*.deb
|
|
||||||
```
|
|
||||||
|
|
||||||
**Fedora:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo rpm -i hikari-desktop-*.rpm
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Windows
|
|
||||||
|
|
||||||
The Windows build requires WSL (Windows Subsystem for Linux) with Claude Code installed inside WSL.
|
|
||||||
|
|
||||||
1. Install WSL if you haven't already: https://learn.microsoft.com/en-us/windows/wsl/install
|
|
||||||
2. Install Claude Code inside your WSL distribution (see step 1 above)
|
|
||||||
3. Run the Windows installer (`.exe` or `.msi`)
|
|
||||||
|
|
||||||
## Character States
|
|
||||||
|
|
||||||
| State | Trigger |
|
|
||||||
| ---------- | ------------------------------- |
|
|
||||||
| Idle | Waiting for user input |
|
|
||||||
| Thinking | Processing/API call in progress |
|
|
||||||
| Typing | Streaming text output |
|
|
||||||
| Searching | Using Read/Glob/Grep tools |
|
|
||||||
| Coding | Using Edit/Write tools |
|
|
||||||
| MCP | Running MCP tool calls |
|
|
||||||
| Permission | Permission prompt needed |
|
|
||||||
| Success | Task completed |
|
|
||||||
| Error | Error occurred |
|
|
||||||
|
|
||||||
## Building from Source
|
|
||||||
|
|
||||||
### Prerequisites
|
|
||||||
|
|
||||||
- Node.js and pnpm
|
|
||||||
- Rust toolchain
|
|
||||||
|
|
||||||
#### Windows Cross-Compilation (from Linux/WSL)
|
|
||||||
|
|
||||||
To build Windows binaries from Linux, install the following:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo apt install nsis lld llvm clang
|
|
||||||
```
|
|
||||||
|
|
||||||
You will also need `cargo-xwin`:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cargo install cargo-xwin
|
|
||||||
```
|
|
||||||
|
|
||||||
### Build
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Install dependencies
|
|
||||||
pnpm install
|
|
||||||
|
|
||||||
# Development mode
|
|
||||||
pnpm run dev
|
|
||||||
|
|
||||||
# Build for Linux (AppImage, deb, rpm)
|
|
||||||
pnpm build:linux
|
|
||||||
|
|
||||||
# Build for Windows (exe/msi/nsis)
|
|
||||||
pnpm build:windows
|
|
||||||
|
|
||||||
# Build all platforms
|
|
||||||
pnpm build:all
|
|
||||||
```
|
|
||||||
|
|
||||||
## Architecture
|
|
||||||
|
|
||||||
```
|
|
||||||
Linux (Tauri App)
|
|
||||||
├── Svelte Frontend
|
|
||||||
│ ├── AnimeGirl (sprites + animations)
|
|
||||||
│ ├── Terminal (output display)
|
|
||||||
│ ├── InputBar (user input)
|
|
||||||
│ └── PermissionModal (approve/deny)
|
|
||||||
└── Rust Backend
|
|
||||||
├── Process Manager (spawn & communicate)
|
|
||||||
└── State Parser (NDJSON → character state)
|
|
||||||
│
|
|
||||||
│ stdin/stdout (NDJSON stream)
|
|
||||||
▼
|
|
||||||
claude -p --output-format stream-json --input-format stream-json
|
|
||||||
```
|
|
||||||
|
|
||||||
## Tech Stack
|
|
||||||
|
|
||||||
- **Tauri 2.x** - Desktop framework with Rust backend
|
|
||||||
- **Svelte 5** - Reactive frontend with runes
|
|
||||||
- **Tailwind CSS** - Styling
|
|
||||||
- **Tokio** - Async runtime for process management
|
|
||||||
|
|
||||||
## Feedback and Bugs
|
|
||||||
|
|
||||||
If you have feedback or a bug report, please feel free to open a ticket request in our [Discord](https://chat.nhcarrigan.com)!
|
|
||||||
|
|
||||||
## Contributing
|
|
||||||
|
|
||||||
If you would like to contribute to the project, you may create a Pull Request containing your proposed changes and we will review it as soon as we are able! Please review our [contributing guidelines](CONTRIBUTING.md) first.
|
|
||||||
|
|
||||||
## Code of Conduct
|
|
||||||
|
|
||||||
Before interacting with our community, please read our [Code of Conduct](CODE_OF_CONDUCT.md).
|
|
||||||
|
|
||||||
## License
|
|
||||||
|
|
||||||
This software is licensed under our [global software license](https://docs.nhcarrigan.com/#/license).
|
|
||||||
|
|
||||||
Copyright held by Naomi Carrigan.
|
|
||||||
|
|
||||||
## Contact
|
|
||||||
|
|
||||||
We may be contacted through our [Chat Server](http://chat.nhcarrigan.com) or via email at `contact@nhcarrigan.com`.
|
|
||||||
|
|||||||
Reference in New Issue
Block a user