Skip to content

Troubleshooting: Configuration ​

YAML Parse Errors ​

"Configuration parse failed" ​

May syntax error ang YAML file. Mga karaniwang dahilan:

  • Indentation mismatch. Sensitibo ang YAML sa whitespace. Gumamit ng spaces, hindi tabs. Bawat nesting level ay dapat eksaktong 2 spaces.
  • Hindi naka-quote ang special characters. Ang mga values na naglalaman ng :, #, {, }, [, ], o & ay kailangang naka-quote.
  • Walang colon pagkatapos ng key. Bawat key ay nangangailangan ng : (colon na sinusundan ng space).

I-validate ang iyong YAML:

bash
triggerfish config validate

O gumamit ng online YAML validator para mahanap ang eksaktong linya.

"Configuration file did not parse to an object" ​

Matagumpay na na-parse ang YAML file pero ang result ay hindi isang YAML mapping (object). Nangyayari ito kung ang file mo ay naglalaman lamang ng scalar value, isang list, o walang laman.

Kailangan ng iyong triggerfish.yaml ng top-level mapping. Sa 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" ​

Hinahanap ng Triggerfish ang config sa mga paths na ito, sunud-sunod:

  1. $TRIGGERFISH_CONFIG environment variable (kung naka-set)
  2. $TRIGGERFISH_DATA_DIR/triggerfish.yaml (kung naka-set ang TRIGGERFISH_DATA_DIR)
  3. /data/triggerfish.yaml (Docker environments)
  4. ~/.triggerfish/triggerfish.yaml (default)

Patakbuhin ang setup wizard para gumawa ng isa:

bash
triggerfish dive

Validation Errors ​

"Configuration validation failed" ​

Ibig sabihin nito ay na-parse ang YAML pero nabigo sa structural validation. Mga specific na mensahe:

"models is required" o "models.primary is required"

Mandatory ang models section. Kailangan mo ng kahit isang primary provider at model:

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

"primary.provider must be non-empty" o "primary.model must be non-empty"

Ang primary field ay kailangan may parehong provider at model na naka-set sa non-empty strings.

"Invalid classification level" sa classification_models

Ang mga valid levels ay: RESTRICTED, CONFIDENTIAL, INTERNAL, PUBLIC. Case-sensitive ang mga ito. Tingnan ang iyong classification_models keys.


Secret Reference Errors ​

Hindi na-resolve ang secret sa startup ​

Kung ang config mo ay naglalaman ng secret:some-key at hindi umiiral ang key na iyon sa keychain, mag-exit ang daemon na may error tulad ng:

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

Ayusin:

bash
# Tingnan kung anong secrets ang umiiral
triggerfish config get-secret --list

# I-store ang nawawalang secret
triggerfish config set-secret provider:anthropic:apiKey sk-ant-...

Hindi available ang secret backend ​

Sa Linux, gumagamit ang secret store ng secret-tool (libsecret / GNOME Keyring). Kung hindi available ang Secret Service D-Bus interface (headless servers, minimal containers), makikita mo ang mga errors kapag nagsi-store o nagre-retrieve ng secrets.

Workaround para sa headless Linux:

  1. Mag-install ng gnome-keyring at libsecret:

    bash
    # Debian/Ubuntu
    sudo apt install gnome-keyring libsecret-tools
    
    # Fedora
    sudo dnf install gnome-keyring libsecret
  2. I-start ang keyring daemon:

    bash
    eval $(gnome-keyring-daemon --start --components=secrets)
    export GNOME_KEYRING_CONTROL
  3. O gamitin ang encrypted file fallback sa pamamagitan ng pag-set ng:

    bash
    export TRIGGERFISH_SECRETS_MEMORY_FALLBACK=true

    Tandaan: ang memory fallback ay nangangahulugang mawawala ang secrets sa restart. Angkop lamang ito para sa testing.


Mga Isyu sa Config Value ​

Boolean coercion ​

Kapag gumagamit ng triggerfish config set, ang string values na "true" at "false" ay awtomatikong kino-convert sa YAML booleans. Kung kailangan mo talaga ang literal string na "true", direktang i-edit ang YAML file.

Gayundin, ang mga strings na mukhang integers ("8080") ay kino-coerce sa numbers.

Dotted path syntax ​

Ang config set at config get commands ay gumagamit ng dotted paths para mag-navigate sa nested YAML:

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

Kung ang isang path segment ay naglalaman ng dot, walang escape syntax. Direktang i-edit ang YAML file.

Secret masking sa config get ​

Kapag nagpa-patakbo ka ng triggerfish config get sa key na naglalaman ng "key", "secret", o "token", naka-mask ang output: ****...**** na ang unang at huling 4 na characters lang ang nakikita. Sinadya ito. Gamitin ang triggerfish config get-secret <key> para makuha ang actual value.


Config Backups ​

Gumagawa ang Triggerfish ng timestamped backup sa ~/.triggerfish/backups/ bago ang bawat config set, config add-channel, o config add-plugin operation. Hanggang 10 backups ang pinapanatili.

Para mag-restore ng backup:

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

Provider Verification ​

Vine-verify ng setup wizard ang API keys sa pamamagitan ng pagtawag sa model-listing endpoint ng bawat provider (na hindi kumokukunsumo ng tokens). Ang verification endpoints ay:

ProviderEndpoint
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

Kung mabigo ang verification, i-double-check:

  • Tama at hindi expired ang API key
  • Naabot ang endpoint mula sa iyong network
  • Para sa local providers (Ollama, LM Studio), talagang tumatakbo ang server

Hindi nahanap ang model ​

Kung matagumpay ang verification pero hindi nahanap ang model, magwa-warn ang wizard. Karaniwang ibig sabihin nito ay:

  • Typo sa pangalan ng model. Tingnan ang docs ng provider para sa eksaktong model IDs.
  • Hindi na-pull ang Ollama model. Patakbuhin muna ang ollama pull <model>.
  • Hindi nili-list ng provider ang model. Ang ilang providers (Fireworks) ay gumagamit ng iba't ibang naming formats. Nino-normalize ng wizard ang mga karaniwang patterns, pero ang mga hindi karaniwang model IDs ay puwedeng hindi mag-match.