This commit is contained in:
Joakim
2026-10-13 23:28:50 +02:00
parent e918554787
commit 8256254e38
2 changed files with 363 additions and 343 deletions

View File

@@ -1,6 +1,6 @@
# ai 0.3.3
# ai 0.3.4
Kompakt terminalklient för OpenRouter, optimerad för PicoCalc/Lyra.
Terminal AI-klient för OpenRouter, anpassad för Lyra/PicoCalc.
## Installation
@@ -8,12 +8,40 @@ Kompakt terminalklient för OpenRouter, optimerad för PicoCalc/Lyra.
./install
```
På system med `/data` används automatiskt:
På Lyra används `/data/tmp` och `/data/pip-cache` automatiskt om `/data` finns.
```text
/data/tmp
/data/pip-cache
```
## Tangentbeteende
### Input
- Enter = ny rad
- Enter två gånger = skicka
- När prompten fortfarande ryms på en visuell rad används piltangenterna för att scrolla historiken.
- När prompten blivit flera visuella rader används piltangenterna för att navigera i prompten.
- Home/End, Backspace och Delete fungerar i editorn.
### Historik
`Ctrl-B` följt av `↑` eller `↓` flyttar fokus till historiken. När historiken har fokus används alla piltangenter för att flytta markören i historiken.
`Ctrl-Q` återgår till inputfältet.
### Joe-liknande blockkommandon
`Ctrl-K B` börjar markera från aktuell cursorposition.
`Ctrl-K K` avslutar markeringen. I historiken kopieras markeringen även till terminalens clipboard via OSC 52 om terminalen stöder det.
Övriga grundkommandon:
- `Ctrl-K C` = kopiera markerad text i input
- `Ctrl-K X` = klipp ut markerad text i input
- `Ctrl-K Y` = klistra in intern kopia
- `Ctrl-K U` = ta bort markering
## AI-streaming
AI-svaret visas medan det genereras. PgUp/PgDn kan användas för att läsa tidigare text medan svaret fortfarande strömmar.
## Konfiguration
@@ -25,57 +53,4 @@ model: openrouter/auto
api_key: sk-or-v1-...
```
eller:
```bash
export OPENROUTER_API_KEY='sk-or-v1-...'
```
`.ai` ärvs upp genom katalogträdet.
## Chattar
```bash
ai
ai 2026-10-13-vinterdack.md
```
En ny chat sparas inte förrän den har passerat titeltröskeln:
- minst två användarmeddelanden, eller
- ett användarmeddelande på minst 100 tecken.
Titelmodellen får returnera `UNTITLED`.
Chatten sparas i aktuell katalog, inte i `.ai/chats`.
## Editor
Inputfältet är flerradigt.
- Enter = ny rad
- Enter två gånger = skicka
- ←/→ = flytta markören
- ↑/↓ = flytta mellan rader
- Home/End = början/slut av aktuell rad
- Backspace
- Delete
Visuell word wrapping påverkar inte den faktiska texten.
## AI-streaming
AI-svaret visas medan det genereras.
- PgUp = scrolla upp
- PgDn = scrolla ned
- När du är längst ned följer visningen automatiskt det nya svaret.
- Om du scrollar upp stannar visningen där även medan AI fortsätter generera.
## Layout
- `You:` och `AI:` på samma rad som texten
- fortsättningsrader har två teckens indrag
- hela You-meddelandet har You-färg
- hela AI-meddelandet har AI-färg
- faktiska radbrytningar bevaras
En lokal `.ai/config.yaml` i en underkatalog övertrumfar den globala konfigurationen.