Kjør AgenticOS på Stav
Legg til Stav som modell i en AgenticOS-løsning du kjører selv, velg EU, EØS eller globalt per modell, og kjør agentene gjennom Stav.
AgenticOS er en plattform med åpen kildekode for å bygge og kjøre KI-agenter på dine egne servere. Agentene chatter, bruker verktøy, kjører kode og søker i kunnskapsbaser. Siden versjon 1.41.0 er Stav.ai en av modell-leverandørene, med valg av region på hver modell.
Ved å peke den mot Stav trekkes hver runde agenten gjør fra Stav-kreditten din, vises i forespørselsloggen og følger reglene i arbeidsområdet ditt. Velger du Kun EU på en modell, vil forespørslene skje med beregning i EU, eller avvises.
Testet med AgenticOS 1.43.0 mot Stav-API-et, installert med hurtigstart-skriptet i Docker. Tidligere versjoner dekkes under AgenticOS før 1.41.
Før du starter
- En Stav-API-nøkkel. Se Autentisering. Gi den tilgangen
inference:chat, oginference:modelsslik at AgenticOS kan vise modellene. - AgenticOS 1.41.0 eller nyere. Se hurtigstarten. Du kan starte den med
--provider noneog legge til Stav etterpå.
Kjøre AgenticOS på en server, ikke på localhost
Når folk bruker AgenticOS via et vertsnavn, må du sette PUBLIC_API_URL, PUBLIC_WS_URL, PUBLIC_SITE_URL, FRONTEND_URL og CORS_ORIGINS i .env-filen. Kjør hurtigstarten først, legg deretter til disse og kjør docker compose up -d. Hurtigstarten skriver bare SECRET_KEY og VAULT_MASTER_KEY når den oppretter .env selv. Hvis filen allerede finnes, startes løsningen uten disse, og hvelvet kan ikke åpne nøklene det lagrer.
Hvis det allerede har skjedd, må du legge til begge nøklene og deretter installere på nytt på en tom database. En nøkkel som er lagret uten disse, kan ikke leses med dem:
cd ~/agenticos # mappen med docker-compose.yml og .env
printf 'SECRET_KEY=%s\nVAULT_MASTER_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" >> .env
docker compose down -v # sletter AgenticOS-dataene
curl -fsSL https://raw.githubusercontent.com/vstorm-co/agenticos/main/scripts/quickstart.sh | bash -s -- --yes --provider none --dir .
docker compose exec app agenticos cmd doctor # skal ende med "Everything this can check is working."
Slik setter du det opp
I AgenticOS er en modell en modellprofil: en leverandør, en modell-ID, en nøkkel fra hvelvet og, for Stav, en region. Åpne en agent, gå til modellen dens og velg Legg til modell. Fyll ut:
| Felt | Verdi |
|---|---|
| Leverandør | Stav.ai |
| Nøkkel | Stav-nøkkelen din, sk_stav_live_..., lagret i hvelvet for Stav.ai |
| Modell | Velg en fra listen, f.eks. deepseek-ai/deepseek-v4-flash-0731 |
| Region | EU only (standard), EEA only eller Global |
| Endepunkt | La stå tomt |
- Modellisten kommer fra Stav. AgenticOS leser den fra
https://api.stav.ai/v1/modelsmed en Stav-nøkkel fra hvelvet ditt. - Du velger ikke API selv. Stav oppgir hvilket API som betjener hver modell. AgenticOS bruker Chat Completions der modellen har det, og Responses-APIet for de få modellene som bare betjenes der, som
openai/o3-pro. Skjemaet viser hvilken som ble valgt. - La «Endepunkt» stå tomt. Det brukes bare for et regionalt endepunkt eller et testendepunkt hos Stav.
Samme profil via AgenticOS-APIet:
curl -X POST http://localhost:8000/api/v1/providers/model-profiles \
-H "Authorization: Bearer $AGENTICOS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"label": "Stav DeepSeek V4 Flash (EU)",
"provider": "stav",
"model": "deepseek-ai/deepseek-v4-flash-0731",
"secret_id": "<vault secret id of your Stav key>",
"region": "eu"
}'
Deretter publiserer du agenten og sender den en melding.
Velg hvor forespørsler skal kjøre: EU, EØS eller globalt
Regionen i profilen sendes til Stav som en X-Stav-Runs-In-header på hver forespørsel. Stav svarer da bare fra leverandørendepunkter som har beregning der, gjør automatisk bytte bare innenfor regionen, og avviser en forespørsel som ikke kan betjenes der. Global sender ingen header, så bare reglene for arbeidsområdet ditt gjelder. En region kan bare snevre inn reglene for arbeidsområdet, aldri utvide dem.
- EU only er standard. En profil som lagres uten region, kjører i EU.
- Profilinnstillingene kan ikke overstyre dette. AgenticOS setter headeren på hver forespørsel selv, så
extra_headersellerextra_bodyi profilensparamsflytter ikke en EU- eller EØS-profil ut av regionen sin. - Modellisten filtreres ikke etter region. Den viser alle modeller nøkkelen din har tilgang til. Hvis en modell ikke har noen leverandørendepunkter i regionen, avvises forespørselen med
HTTP 403(se Feilsøking). For å se hvilke modeller som har beregning i EU, kan du filtrere modellkatalogen på beregningsregion.
Opprett én profil per region du vil tilby, for eksempel Stav auto (EU) og Stav auto (global), og velg mellom dem per agent. Forespørselsloggen viser regionen for hver forespørsel, og opplyser at den kom fra headeren. Se Velg hvor en forespørsel kjører.
Bruk Anthropic-API-et i stedet
AgenticOS kan også snakke med Stav via Anthropic Messages-API-et. Stav oversetter dette for alle modeller, ikke bare Claude. Denne profilen har ikke noe felt for region, så sett beregningsregion i arbeidsområdets regler hvis alt må bli værende i EU (se Velg en modell).
| Felt | Verdi |
|---|---|
| Leverandør | Anthropic |
| Modell | En modell-ID fra Stav, f.eks. deepseek-ai/deepseek-v4-flash-0731 |
| Nøkkel | Stav-nøkkelen din, lagret i hvelvet for Anthropic |
| Endepunkt | https://api.stav.ai, uten /v1 |
Anthropic-SDK-en legger til /v1/messages selv. Gi nøkkelen tilgangen inference:messages i tillegg.
Én nøkkel, én oppføring i hvelvet per leverandør
En hvelvnøkkel i AgenticOS tilhører én leverandør. For å bruke Stav gjennom både Stav.ai- og Anthropic-leverandøren, må du lagre den samme Stav-nøkkelen to ganger: én gang for Stav.ai og én gang for Anthropic.
Velg en modell
| Du sender | Hva som skjer |
|---|---|
modellskaper/modell, f.eks. deepseek-ai/deepseek-v4-flash-0731 | Stav velger ett av modellens leverandørendepunkter i profilens region |
modellskaper/modell/leverandør | Ett bestemt leverandørendepunkt. Bruk dette for å vite nøyaktig hvor arbeidet utføres |
auto | Standardrouteren din velger en modell per forespørsel, innenfor profilens region |
@ditt-arbeidsområde/router | En navngitt router du har satt opp i Arbeidsområdet ditt → Koble til → Routere |
anthropic/…, openai/… | Fungerer på en Global profil. Stav sender forespørselen videre til den amerikanske leverandøren, slik at reglene dine og forespørselsloggen gjelder. På en EU- eller EØS-profil svarer bare de som har et leverandørendepunkt i regionen |
På en Global profil kan auto velge en Claude- eller GPT-modell. I testen vår valgte den anthropic/claude-sonnet-5-5 for en agentrunde med verktøy.
For å beholde alt i EU for alle apper, sett beregningsregion til Kun EU i Arbeidsområdet ditt → Styr → Nøkkelpolicy → Rekkevidde. Dette gjelder for hver forespørsel fra hver nøkkel, inkludert auto, modeller du navngir, og profiler lagret som Global. Se Slik håndhever du et suverenitetsgulv.## Knowledge bases
AgenticOS kan ikke sende embeddinger for knowledge-base til Stav ennå. Innstillingene for embedding tar bare et egendefinert endepunkt for én leverandør som kjører selv, og Stav står ikke på listen. Du må derfor utføre embedding for knowledge-bases med en av embeddingleverandørene AgenticOS fører opp. Hvis dokumentene dine må bli i EU, kan du bruke Ollama-leverandøren på ditt eget nettverk.
Agenter som søker i en knowledge-base, svarer fortsatt gjennom Stav.
Dette fungerer
| Funksjon | Status |
|---|---|
| Chat, strømming | Fungerer |
Verktøykall (run_python og andre verktøy), med og uten strømming | Fungerer |
| Region per modell (EU, EØS, global) | Fungerer. En modell utenfor regionen avvises |
| Modelliste fra Stav | Fungerer |
Modeller som bare gir svar, f.eks. openai/o3-pro | Fungerer, på en Global-profil |
| Resonneringsutdata («Thought for»-linjen) | Fungerer på modeller som sender dette |
| Anthropic Messages-API, strømming og verktøy | Fungerer, også på modeller som ikke er Claude |
auto | Fungerer |
| Knowledge-base-embeddinger | Ikke gjennom Stav ennå. Se Knowledge bases |
| Kostnad vist i AgenticOS | Viser 0 og markerer den som delvis. Den faktiske kostnaden finner du i Stavs forespørselslogg |
Bildegenerering, tale, nettsøk og andre egenskaper som har egne leverandørinnstillinger, er ikke testet med Stav.
Forbruk
AgenticOS kjenner ikke prisene til Stav, så hver kjøring vises med en kostnad på 0. AgenticOS' egne budsjetter for agenter kan ikke se hva du bruker. Sett heller et forbrukstak på Stav-nøkkelen under Arbeidsområdet ditt → Koble til → API-nøkler. Taket gjelder for hver forespørsel nøkkelen gjør.
Hver runde for en agent sender også AgenticOS' egne instrukser og verktøydefinisjoner før meldingen din. I AgenticOS 1.43.0 utgjorde dette omtrent 57 000 inndatatoken for et spørsmål på én linje med standardagenten (omtrent 2 000 i 1.31.3). På en dyr modell utgjør dette mesteparten av kostnaden: én runde med «Reply with exactly: pong» på openai/o3-pro kostet omtrent 0,75 €. Gi agenter bare egenskapene de trenger, og velg en modell med lav pris på inndata.
AgenticOS før 1.41
Eldre versjoner har ingen Stav.ai-leverandør. Bruk OpenAI-leverandøren med base-URL https://api.stav.ai/v1 (behold /v1), skriv inn modell-ID-en manuelt, og la API stå på Chat Completions. Det finnes ikke noe regionsfelt: sett dette via AgenticOS-API-et som "params": {"extra_headers": {"X-Stav-Runs-In": "eu"}} på profilen. params erstattes i sin helhet når den endres, så husk å ta med headeren hver gang du redigerer, eller oppgrader til 1.41 eller nyere.
Feilsøking
| Du ser | Gjør dette |
|---|---|
ModelAuthenticationError, HTTP 403 ved kjøring | Som regel ikke nøkkelen: modellen har ikke noe leverandørendepunkt i profilens region, så Stav avviste den. Velg en modell som kjører der, eller en bredere region. Stavs forespørselslogg viser avvisningen og årsaken |
ModelHTTPError, HTTP 401 ved kjøring | Kontroller Stav-nøkkelen i hvelvet (vault) som modellprofilen bruker |
Choose a vault key before listing this endpoint | Du har lagt inn et endepunkt. Velg nøkkelen først, eller la feltet for endepunkt stå tomt |
404 på alle forespørsler, Anthropic-leverandør | Base-URL-en må ikke slutte på /v1 |
agenticos cmd doctor: VAULT_MASTER_KEY is unset eller credential could not be unsealed | .env fantes før hurtigstarten ble kjørt. Se Running AgenticOS on a server |
| En forespørsel ble kjørt utenfor EU | Kontroller at profilens region er satt til EU only, eller sett beregningsregion under Arbeidsområdet ditt → Styr → Nøkkelpolicy → Reach |
Flere feilkoder: Feil.
Kontroller at det fungerte
Åpne Arbeidsområdet ditt → Overvåk → Forespørselslogg. Hvert modellkall er én rad, med modell, inferensleverandør, land og kostnad. En runde for en agent med et verktøy er to rader: verktøykall og svar. Se Forespørselslogg og promptinnsamling.