Skip to content

Feilsøking: Konfigurasjon

YAML-parserfeil

«Configuration parse failed»

YAML-filen har en syntaksfeil. Vanlige årsaker:

  • Innrykk-mismatch. YAML er mellomromsensitivt. Bruk mellomrom, ikke tabulator. Hvert nøstingsnivå bør være nøyaktig 2 mellomrom.
  • Uquotede spesialtegn. Verdier som inneholder :, #, {, }, [, ] eller & må kvoteres.
  • Manglende kolon etter nøkkel. Hver nøkkel trenger : (kolon etterfulgt av mellomrom).

Valider YAML-en din:

bash
triggerfish config validate

Eller bruk en online YAML-validator for å finne den eksakte linjen.

«Configuration file did not parse to an object»

YAML-filen ble tolket, men resultatet er ikke en YAML-tilordning (objekt). Dette skjer hvis filen kun inneholder en skalerverdi, en liste, eller er tom.

triggerfish.yaml må ha en overordnet tilordning. Som minimum:

yaml
models:
  primary:
    provider: anthropic
    model: claude-sonnet-4-20250514
  providers:
    anthropic:
      model: claude-sonnet-4-20250514
      apiKey: "secret:provider:anthropic:apiKey"

«Configuration file not found»

Triggerfish leter etter konfigurasjon på disse banene, i rekkefølge:

  1. $TRIGGERFISH_CONFIG-miljøvariabelen (hvis satt)
  2. $TRIGGERFISH_DATA_DIR/triggerfish.yaml (hvis TRIGGERFISH_DATA_DIR er satt)
  3. /data/triggerfish.yaml (Docker-miljøer)
  4. ~/.triggerfish/triggerfish.yaml (standard)

Kjør oppsettveiviseren for å opprette en:

bash
triggerfish dive

Valideringsfeil

«Configuration validation failed»

Dette betyr at YAML ble tolket, men mislyktes strukturell validering. Spesifikke meldinger:

«models is required» eller «models.primary is required»

models-seksjonen er obligatorisk. Du trenger minst en primær leverandør og modell:

yaml
models:
  primary:
    provider: anthropic
    model: claude-sonnet-4-20250514

«primary.provider must be non-empty» eller «primary.model must be non-empty»

primary-feltet må ha både provider og model satt til ikke-tomme strenger.

«Invalid classification level» i classification_models

Gyldige nivåer er: RESTRICTED, CONFIDENTIAL, INTERNAL, PUBLIC. Disse er store/små bokstav-sensitive. Sjekk classification_models-nøklene dine.


Feil med hemmelighetreferanser

Hemmelighet ikke løst ved oppstart

Hvis konfigurasjonen inneholder secret:noen-nøkkel og den nøkkelen ikke eksisterer i nøkkelringen, avsluttes daemonen med en feil som:

Secret resolution failed: key "provider:anthropic:apiKey" not found

Løsning:

bash
# List eksisterende hemmeligheter
triggerfish config get-secret --list

# Lagre den manglende hemmeligheten
triggerfish config set-secret provider:anthropic:apiKey sk-ant-...

Hemmelighetbackend ikke tilgjengelig

På Linux bruker hemmelighetlageret secret-tool (libsecret / GNOME Keyring). Hvis Secret Service D-Bus-grensesnittet ikke er tilgjengelig (hodeløse servere, minimale containere), vil du se feil ved lagring eller henting av hemmeligheter.

Løsning for hodeløs Linux:

  1. Installer gnome-keyring og libsecret:

    bash
    # Debian/Ubuntu
    sudo apt install gnome-keyring libsecret-tools
    
    # Fedora
    sudo dnf install gnome-keyring libsecret
  2. Start nøkkelringdaemonen:

    bash
    eval $(gnome-keyring-daemon --start --components=secrets)
    export GNOME_KEYRING_CONTROL
  3. Eller bruk den krypterte filerstatningen ved å sette:

    bash
    export TRIGGERFISH_SECRETS_MEMORY_FALLBACK=true

    Merk: Minnefallback betyr at hemmeligheter går tapt ved restart. Det er kun egnet for testing.


Problemer med konfigurasjonsverdier

Boolsk tvang

Når du bruker triggerfish config set, konverteres strengverdiene "true" og "false" automatisk til YAML-boolske verdier. Hvis du faktisk trenger den bokstavelige strengen "true", rediger YAML-filen direkte.

Tilsvarende tvinges strenger som ser ut som heltall ("8080") til tall.

Punktum-bane-syntaks

config set- og config get-kommandoene bruker punktum-baner for å navigere nestet YAML:

bash
triggerfish config set models.primary.provider openai
triggerfish config get channels.telegram.ownerId
triggerfish config set scheduler.trigger.interval "30m"

Hvis et banesegment inneholder et punktum, er det ingen escape-syntaks. Rediger YAML-filen direkte.

Hemmelighetmaskering i config get

Når du kjører triggerfish config get på en nøkkel som inneholder «key», «secret» eller «token», maskeres utdataet: ****...**** med bare de første og siste 4 tegnene synlige. Dette er tilsiktet. Bruk triggerfish config get-secret <nøkkel> for å hente den faktiske verdien.


Konfigurasjonssikkerhetskopier

Triggerfish oppretter en tidsstemplet sikkerhetskopi i ~/.triggerfish/backups/ før hver config set-, config add-channel- eller config add-plugin-operasjon. Opptil 10 sikkerhetskopier beholdes.

For å gjenopprette en sikkerhetskopi:

bash
ls ~/.triggerfish/backups/
cp ~/.triggerfish/backups/triggerfish.yaml.2026-02-15T10-30-00Z ~/.triggerfish/triggerfish.yaml
triggerfish stop && triggerfish start

Leverandørverifisering

Oppsettveiviseren verifiserer API-nøkler ved å kalle hver leverandørs modellopplistingsendepunkt (som ikke bruker tokens). Verifiseringsendepunktene er:

LeverandørEndepunkt
Anthropichttps://api.anthropic.com/v1/models
OpenAIhttps://api.openai.com/v1/models
Googlehttps://generativelanguage.googleapis.com/v1beta/models
Fireworkshttps://api.fireworks.ai/v1/accounts/fireworks/models
OpenRouterhttps://openrouter.ai/api/v1/models
ZenMuxhttps://zenmux.ai/api/v1/models
Z.AIhttps://api.z.ai/api/coding/paas/v4/models
Ollamahttp://localhost:11434/v1/models
LM Studiohttp://localhost:1234/v1/models

Hvis verifisering mislykkes, sjekk:

  • API-nøkkelen er riktig og ikke utløpt
  • Endepunktet er nåbar fra nettverket ditt
  • For lokale leverandører (Ollama, LM Studio) at serveren faktisk kjører

Modell ikke funnet

Hvis verifisering lykkes, men modellen ikke er funnet, advarer veiviseren deg. Dette betyr vanligvis:

  • Skrivefeil i modellnavnet. Sjekk leverandørens dokumentasjon for eksakte modell-ID-er.
  • Ollama-modell ikke hentet. Kjør ollama pull <modell> først.
  • Leverandøren lister ikke modellen. Noen leverandører (Fireworks) bruker forskjellige navneformater. Veiviseren normaliserer vanlige mønstre, men uvanlige modell-ID-er stemmer kanskje ikke.