Preskoči na vsebino

Prilagojena TUI vrstica stanja

Izvorna Markdown koda.md
---
title: Prilagojena TUI vrstica stanja
description: Sprotno spremljanje zasedenosti kontekstnega okna in porabe žetonov v terminalskem vmesniku orodja Antigravity.
sidebar:
  order: 3
---

Antigravity **terminalski uporabniški vmesnik (TUI)** vključuje interaktivno vrstico stanja na samem dnu vašega zaslona.

Medtem ko se pogovarjate z modelom, orodje CLI v realnem času pošilja podatkovni paket JSON na standardni vhod (`stdin`) vaše lupinske skripte ter na dnu zaslona izpiše natanko to, kar vaša skripta vrne na standardni izhod (`stdout`). To vam omogoča, da z enim samim pogledom spremljate porabo žetonov, ime aktivnega modela in zdravje kontekstnega okna.

---

## Nadzorna skripta (`statusline.sh`)

Shranite naslednjo skripto na lokacijo `~/.gemini/antigravity-cli/statusline.sh`:

```bash
#!/usr/bin/env bash
INPUT=$(cat)

# Pridobi metrike kontekstnega okna
RAW_PCT=$(echo "$INPUT" | jq -r '.context_window.used_percentage // 0')
TOTAL_IN=$(echo "$INPUT" | jq -r '.context_window.total_input_tokens // 0')
WINDOW_SIZE=$(echo "$INPUT" | jq -r '.context_window.context_window_size // 0')

# Pridobi čisto ime modela (podpira tako objekt kot niz)
MODEL=$(echo "$INPUT" | jq -r 'if (.model | type) == "object" then (.model.display_name // .model.id // "model") else (.model // "model") end')

# Oblikuj odstotke na eno decimalno mesto
FORMATTED_PCT=$(LC_ALL=C awk -v pct="$RAW_PCT" 'BEGIN {printf "%.1f", pct}')

format_num() {
    local n=$1
    if [ -z "$n" ] || [ "$n" = "null" ]; then
        echo "0"
    elif [ "$n" -ge 1000000 ] 2>/dev/null; then
        LC_ALL=C awk "BEGIN {printf \"%.1fM\", $n/1000000}"
    elif [ "$n" -ge 1000 ] 2>/dev/null; then
        LC_ALL=C awk "BEGIN {printf \"%.1fk\", $n/1000}"
    else
        echo "$n"
    fi
}

FORMATTED_USED=$(format_num "$TOTAL_IN")
FORMATTED_MAX=$(format_num "$WINDOW_SIZE")

# Barvni pragovi ANSI
RESET="\033[0m"
BOLD="\033[1m"
CYAN="\033[36m"
GREEN="\033[32m"
YELLOW="\033[33m"
RED="\033[31m"

COLOR="$GREEN"
INT_PCT=${RAW_PCT%.*}
if [ -n "$INT_PCT" ] && [ "$INT_PCT" -eq "$INT_PCT" ] 2>/dev/null; then
    if [ "$INT_PCT" -ge 80 ]; then
        COLOR="$RED"
    elif [ "$INT_PCT" -ge 50 ]; then
        COLOR="$YELLOW"
    fi
fi

# Izpis oblikovane vrstice stanja
printf "${CYAN}${BOLD}[%s]${RESET} Kontekst: ${COLOR}%s%%${RESET} (%s / %s žetonov)\n" \
    "$MODEL" "$FORMATTED_PCT" "$FORMATTED_USED" "$FORMATTED_MAX"
```

Nastavite ji pravice za izvajanje:
```bash
chmod +x ~/.gemini/antigravity-cli/statusline.sh
```

---

## Nastavitev v `settings.json`

Ukaz dodajte v konfiguracijsko datoteko `~/.gemini/antigravity-cli/settings.json`:

```json
{
  "statusLine": {
    "type": "command",
    "command": "/home/samob/.gemini/antigravity-cli/statusline.sh",
    "enabled": true
  }
}
```

---

## Vklop in prikaz vmesnika TUI

V aktivni seji vrstico stanja takoj vklopite z ukazom:
```text
/statusline ~/.gemini/antigravity-cli/statusline.sh
```

### Primer izpisa v živo:
```text
[Gemini 3.8 Flash (Medium)] Kontekst: 4.0% (42.0k / 1.0M žetonov)
```

* **Cijan**: Ime trenutno aktivnega modela.
* **Zelena**: Poraba žetonov pod 50 % (optimalno, hitro in zanesljivo).
* **Rumena**: Poraba žetonov med 50 % in 80 % (prostor se polni).
* **Rdeča**: Poraba žetonov nad 80 % (opozorilo: nevarnost izgube konteksta!).

---

### Seja v živo na zaslonu

Tako izgleda terminal med aktivnim pogovorom z delujočo vrstico stanja:

![Antigravity TUI seja v živo s prilagojeno vrstico stanja](../../assets/agy-tui-live.png)

Opazite lahko, kako je zeleni okvir za vnos besedila neposredno povezan s sprotnimi podatki spodaj (`Context: 23.1% (241.8k / 1.0M tokens)`). Vedno natančno veste, koliko prostora vam je še ostalo in kateri model vam odgovarja, ne da bi prekinili tipkanje!

Antigravity terminalski uporabniški vmesnik (TUI) vključuje interaktivno vrstico stanja na samem dnu vašega zaslona.

Medtem ko se pogovarjate z modelom, orodje CLI v realnem času pošilja podatkovni paket JSON na standardni vhod (stdin) vaše lupinske skripte ter na dnu zaslona izpiše natanko to, kar vaša skripta vrne na standardni izhod (stdout). To vam omogoča, da z enim samim pogledom spremljate porabo žetonov, ime aktivnega modela in zdravje kontekstnega okna.


Shranite naslednjo skripto na lokacijo ~/.gemini/antigravity-cli/statusline.sh:

#!/usr/bin/env bash
INPUT=$(cat)
# Pridobi metrike kontekstnega okna
RAW_PCT=$(echo "$INPUT" | jq -r '.context_window.used_percentage // 0')
TOTAL_IN=$(echo "$INPUT" | jq -r '.context_window.total_input_tokens // 0')
WINDOW_SIZE=$(echo "$INPUT" | jq -r '.context_window.context_window_size // 0')
# Pridobi čisto ime modela (podpira tako objekt kot niz)
MODEL=$(echo "$INPUT" | jq -r 'if (.model | type) == "object" then (.model.display_name // .model.id // "model") else (.model // "model") end')
# Oblikuj odstotke na eno decimalno mesto
FORMATTED_PCT=$(LC_ALL=C awk -v pct="$RAW_PCT" 'BEGIN {printf "%.1f", pct}')
format_num() {
local n=$1
if [ -z "$n" ] || [ "$n" = "null" ]; then
echo "0"
elif [ "$n" -ge 1000000 ] 2>/dev/null; then
LC_ALL=C awk "BEGIN {printf \"%.1fM\", $n/1000000}"
elif [ "$n" -ge 1000 ] 2>/dev/null; then
LC_ALL=C awk "BEGIN {printf \"%.1fk\", $n/1000}"
else
echo "$n"
fi
}
FORMATTED_USED=$(format_num "$TOTAL_IN")
FORMATTED_MAX=$(format_num "$WINDOW_SIZE")
# Barvni pragovi ANSI
RESET="\033[0m"
BOLD="\033[1m"
CYAN="\033[36m"
GREEN="\033[32m"
YELLOW="\033[33m"
RED="\033[31m"
COLOR="$GREEN"
INT_PCT=${RAW_PCT%.*}
if [ -n "$INT_PCT" ] && [ "$INT_PCT" -eq "$INT_PCT" ] 2>/dev/null; then
if [ "$INT_PCT" -ge 80 ]; then
COLOR="$RED"
elif [ "$INT_PCT" -ge 50 ]; then
COLOR="$YELLOW"
fi
fi
# Izpis oblikovane vrstice stanja
printf "${CYAN}${BOLD}[%s]${RESET} Kontekst: ${COLOR}%s%%${RESET} (%s / %s žetonov)\n" \
"$MODEL" "$FORMATTED_PCT" "$FORMATTED_USED" "$FORMATTED_MAX"

Nastavite ji pravice za izvajanje:

Terminal window
chmod +x ~/.gemini/antigravity-cli/statusline.sh

Ukaz dodajte v konfiguracijsko datoteko ~/.gemini/antigravity-cli/settings.json:

{
"statusLine": {
"type": "command",
"command": "/home/samob/.gemini/antigravity-cli/statusline.sh",
"enabled": true
}
}

V aktivni seji vrstico stanja takoj vklopite z ukazom:

/statusline ~/.gemini/antigravity-cli/statusline.sh
[Gemini 3.8 Flash (Medium)] Kontekst: 4.0% (42.0k / 1.0M žetonov)
  • Cijan: Ime trenutno aktivnega modela.
  • Zelena: Poraba žetonov pod 50 % (optimalno, hitro in zanesljivo).
  • Rumena: Poraba žetonov med 50 % in 80 % (prostor se polni).
  • Rdeča: Poraba žetonov nad 80 % (opozorilo: nevarnost izgube konteksta!).

Tako izgleda terminal med aktivnim pogovorom z delujočo vrstico stanja:

Antigravity TUI seja v živo s prilagojeno vrstico stanja

Opazite lahko, kako je zeleni okvir za vnos besedila neposredno povezan s sprotnimi podatki spodaj (Context: 23.1% (241.8k / 1.0M tokens)). Vedno natančno veste, koliko prostora vam je še ostalo in kateri model vam odgovarja, ne da bi prekinili tipkanje!