3.8 KiB
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:
- Rust & Cargo:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh - System-beroenden (Linux/Debian/Ubuntu):
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 - Cross-compilation (Windows från Linux):
Om du vill bygga för Windows från Linux behöver du
nsissamt Rust-målet för Windows: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:
- Gå till Run and Debug fliken (Ctrl+Shift+D).
- Välj "Debug Tauri App" i menyn.
- 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:
- Öppna Command Palette (Ctrl+Shift+P).
- Skriv och välj "Tasks: Run Task".
- 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)
- Resultat:
- Build Release (Windows): Skapar en
.exeför Windows.- Resultat:
src-tauri/target/x86_64-pc-windows-msvc/release/bundle/msi/(eller nsis)
- Resultat:
- Build Release (Linux): Skapar en optimerad build för Linux.
📂 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:
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)