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:
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    
  2. 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
    
  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:
    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:

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)
Description
No description provided
Readme Apache-2.0 1 MiB
Languages
Rust 100%