Preskoči na sadržaj

Prilagođena TUI traka statusa

Izvorni Markdown kôd.md
---
title: Prilagođena TUI traka statusa
description: Praćenje popunjenosti kontekstnog prozora i potrošnje tokena u stvarnom vremenu unutar terminalskog sučelja alata Antigravity.
sidebar:
  order: 3
---

Antigravity **terminalsko korisničko sučelje (TUI)** uključuje interaktivnu traku statusa usidrenu na samom dnu vašeg zaslona.

Dok razgovarate s modelom, CLI alat u stvarnom vremenu šalje JSON paket podataka na standardni ulaz (`stdin`) vaše prilagođene skripte ljuske te na dnu zaslona prikazuje točno ono što vaša skripta vrati na standardni izlaz (`stdout`). To vam omogućuje da jednim pogledom pratite potrošnju tokena, naziv aktivnog modela i stanje kontekstnog prozora.

---

## Nadzorna skripta (`statusline.sh`)

Spremite sljedeću skriptu na lokaciju `~/.gemini/antigravity-cli/statusline.sh`:

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

# Dohvaćanje metrika kontekstnog prozora
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')

# Dohvaćanje čistog naziva modela (podržava objekt ili niz)
MODEL=$(echo "$INPUT" | jq -r 'if (.model | type) == "object" then (.model.display_name // .model.id // "model") else (.model // "model") end')

# Oblikovanje postotka na jedno decimalno mjesto
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")

# ANSI boje i pragovi
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

# Ispis oblikovane trake statusa
printf "${CYAN}${BOLD}[%s]${RESET} Kontekst: ${COLOR}%s%%${RESET} (%s / %s tokena)\n" \
    "$MODEL" "$FORMATTED_PCT" "$FORMATTED_USED" "$FORMATTED_MAX"
```

Dodijelite joj prava za izvršavanje:
```bash
chmod +x ~/.gemini/antigravity-cli/statusline.sh
```

---

## Konfiguracija u `settings.json`

Naredbu dodajte u konfiguracijsku datoteku `~/.gemini/antigravity-cli/settings.json`:

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

---

## Aktivacija i prikaz TUI sučelja

U aktivnoj sesiji traku statusa možete trenutačno uključiti naredbom:
```text
/statusline ~/.gemini/antigravity-cli/statusline.sh
```

### Primjer prikaza uživo:
```text
[Gemini 3.8 Flash (Medium)] Kontekst: 4.0% (42.0k / 1.0M tokena)
```

* **Cijan**: Naziv trenutno aktivnog modela.
* **Zelena**: Potrošnja tokena ispod 50% (optimalno, brzo i pouzdano).
* **Žuta**: Potrošnja tokena između 50% i 80% (prostor se puni).
* **Crvena**: Potrošnja tokena iznad 80% (upozorenje: opasnost od gubitka konteksta!).

---

### Sesija uživo na zaslonu

Ovako izgleda terminal tijekom aktivnog razgovora s uključenom trakom statusa:

![Antigravity TUI sesija uživo s prilagođenom trakom statusa](../../../assets/agy-tui-live.png)

Primijetite kako je zeleni okvir za unos teksta izravno povezan sa statusnim podacima ispod njega (`Context: 23.1% (241.8k / 1.0M tokens)`). Uvijek točno znate koliko vam je prostora preostalo i koji model vam odgovara, bez prekidanja tipkanja!

Antigravity terminalsko korisničko sučelje (TUI) uključuje interaktivnu traku statusa usidrenu na samom dnu vašeg zaslona.

Dok razgovarate s modelom, CLI alat u stvarnom vremenu šalje JSON paket podataka na standardni ulaz (stdin) vaše prilagođene skripte ljuske te na dnu zaslona prikazuje točno ono što vaša skripta vrati na standardni izlaz (stdout). To vam omogućuje da jednim pogledom pratite potrošnju tokena, naziv aktivnog modela i stanje kontekstnog prozora.


Spremite sljedeću skriptu na lokaciju ~/.gemini/antigravity-cli/statusline.sh:

#!/usr/bin/env bash
INPUT=$(cat)
# Dohvaćanje metrika kontekstnog prozora
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')
# Dohvaćanje čistog naziva modela (podržava objekt ili niz)
MODEL=$(echo "$INPUT" | jq -r 'if (.model | type) == "object" then (.model.display_name // .model.id // "model") else (.model // "model") end')
# Oblikovanje postotka na jedno decimalno mjesto
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")
# ANSI boje i pragovi
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
# Ispis oblikovane trake statusa
printf "${CYAN}${BOLD}[%s]${RESET} Kontekst: ${COLOR}%s%%${RESET} (%s / %s tokena)\n" \
"$MODEL" "$FORMATTED_PCT" "$FORMATTED_USED" "$FORMATTED_MAX"

Dodijelite joj prava za izvršavanje:

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

Naredbu dodajte u konfiguracijsku datoteku ~/.gemini/antigravity-cli/settings.json:

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

U aktivnoj sesiji traku statusa možete trenutačno uključiti naredbom:

/statusline ~/.gemini/antigravity-cli/statusline.sh
[Gemini 3.8 Flash (Medium)] Kontekst: 4.0% (42.0k / 1.0M tokena)
  • Cijan: Naziv trenutno aktivnog modela.
  • Zelena: Potrošnja tokena ispod 50% (optimalno, brzo i pouzdano).
  • Žuta: Potrošnja tokena između 50% i 80% (prostor se puni).
  • Crvena: Potrošnja tokena iznad 80% (upozorenje: opasnost od gubitka konteksta!).

Ovako izgleda terminal tijekom aktivnog razgovora s uključenom trakom statusa:

Antigravity TUI sesija uživo s prilagođenom trakom statusa

Primijetite kako je zeleni okvir za unos teksta izravno povezan sa statusnim podacima ispod njega (Context: 23.1% (241.8k / 1.0M tokens)). Uvijek točno znate koliko vam je prostora preostalo i koji model vam odgovara, bez prekidanja tipkanja!