Files
AI-translater-clinet/README.md

111 lines
3.8 KiB
Markdown

# AI Typist Client
En smart skrivbordsassistent utvecklad i Rust och Tauri v2. Applikationen hjälper dig att översätta, rättstava och förbättra text i realtid genom att integrera lokala AI-modeller (Ollama) eller molntjänster (OpenAI) direkt i ditt arbetsflöde.
## 🚀 Komma Igång
### Förutsättningar
För att utveckla och bygga applikationen behöver du följande installerat:
1. **Rust & Cargo**:
```bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```
2. **System-beroenden (Linux/Debian/Ubuntu)**:
```bash
sudo apt update
sudo apt install libwebkit2gtk-4.1-dev \
build-essential \
curl \
wget \
file \
libssl-dev \
libgtk-3-dev \
libayatana-appindicator3-dev \
librsvg2-dev
```
3. **Cross-compilation (Windows från Linux)**:
Om du vill bygga för Windows från Linux behöver du `nsis` samt Rust-målet för Windows:
```bash
rustup target add x86_64-pc-windows-msvc
# Observera att cross-compilation med MSVC kan kräva ytterligare konfiguration (libs).
# Alternativt använd x86_64-pc-windows-gnu om du har Mingw installerat.
```
---
## 💻 Utveckling i VS Code
Det här projektet är konfigurerat för en smidig upplevelse i VS Code.
### Rekommenderade Tillägg
VS Code kommer automatiskt rekommendera dessa, men se till att du har:
* **rust-analyzer** (Rust språkstöd)
* **Tauri** (Tauri verktyg)
* **CodeLLDB** (För debugging)
### Debugging (Felsökning)
Du kan köra och debugga appen direkt inifrån redigeraren:
1. Gå till **Run and Debug** fliken (Ctrl+Shift+D).
2. Välj **"Debug Tauri App"** i menyn.
3. Tryck **F5** (Play).
* *Detta bygger appen och startar debuggern automatiskt. Du kan sätta breakpoints i din Rust-kod.*
### Bygga för Release 📦
För att skapa färdiga körbara filer (binärer) utan debug-info:
1. Öppna **Command Palette** (Ctrl+Shift+P).
2. Skriv och välj **"Tasks: Run Task"**.
3. Välj en av följande:
* **Build Release (Linux)**: Skapar en optimerad build för Linux.
* *Resultat:* `src-tauri/target/release/bundle/deb/` (eller AppImage)
* **Build Release (Windows)**: Skapar en `.exe` för Windows.
* *Resultat:* `src-tauri/target/x86_64-pc-windows-msvc/release/bundle/msi/` (eller nsis)
---
## 📂 Projektstruktur
Så här hittar du i koden:
* **`src-tauri/`**: Backend-koden (Rust) och Tauri-konfigurationen.
* `Cargo.toml`: Beroenden för Rust.
* `tauri.conf.json`: Inställningar för fönster, ikoner, behörigheter och bundles.
* `build.rs`: Byggscript.
* **`src/`**: Källkoden för backend.
* `main.rs`: Entry point.
* `controllers/`: Logik för applikationens tillstånd och kommandon.
* `viewers/`: Hantering av fönster och System Tray.
* `utilities/`: Hjälpfunktioner (loggning, config).
* **`dist/`**: (Frontend) Om du har en frontend (HTML/JS/CSS) ligger de kompilerade filerna här som Tauri laddar.
* **`.vscode/`**: Inställningar för debugging och tasks i VS Code.
---
## 🛠 Felsökning
### Error 71 (Protocol Error) på Linux (Wayland)
Om appen kraschar eller inte startar på Wayland:
Debuggern är konfigurerad att automatiskt sätta `WEBKIT_DISABLE_COMPOSITING_MODE=1`.
Om du kör manuellt från terminalen:
```bash
WEBKIT_DISABLE_COMPOSITING_MODE=1 cargo tauri dev
```
### Debuggern startar inte
* Kontrollera att du installerat **CodeLLDB** tillägget.
* Om du får fel vid länkning, kontrollera att du har alla system-beroenden installerade (se "Förutsättningar").
---
## 🧠 Teknisk Stack
* **Core**: Rust
* **Framework**: Tauri v2
* **Input Monitoring**: `enigo` (tangentbords-simulering), `global-hotkey` (genvägar)
* **Clipboard**: `arboard`
* **AI**: `ollama-rs` (lokal) & `reqwest` (API)