Postaw Sluis przed swoimi wywołaniami modeli.
Sluis to proxy zgodne z OpenAI. Zmień jedną linijkę, swoje base_url, a każde żądanie zaczyna płynąć przez Twoją politykę rezydencji do rejestru odpornego na manipulacje. Żadnego SDK do nauki, żadnych payloadów do przepisywania. Pięć kroków poniżej; pełna referencja znajduje się w pasku bocznym.
Czas do pierwszego zapieczętowanego wywołania: ~2 minuty. Jeśli Twój kod już rozmawia z OpenAI, zachowujesz swojego klienta, swoje modele i format wiadomości dokładnie takimi, jakie są.
Zdobądź klucz
Utwórz klucz w Konsoli, w sekcji Workloady. Obciążenie definiuje limity i ustawienia polityki; klucz służy tylko do uwierzytelniania. Polityka lokalizacji organizacji może przypisać eu-only wszystkiemu, co osobowe, a eu-uk-us ogólnemu redagowaniu, bez zmiany ani linijki kodu.


# keep it in your environment, never in source export SLUIS_KEY="sluis-7Qk2vN4xR…"
Wskaż base_url na Sluis
Podmień host. Wszystko dalej (modele, streaming, narzędzia, function calling) działa bez zmian, bo Sluis proxuje tę samą powierzchnię API.
from openai import OpenAI client = OpenAI( base_url="https://api.sluis.ai/v1", api_key=os.environ["SLUIS_KEY"], )
import OpenAI from "openai"; const client = new OpenAI({ baseURL: "https://api.sluis.ai/v1", apiKey: process.env.SLUIS_KEY, });
// no SDK required — reqwest = { version = "0.12", features = ["json"] } let client = reqwest::Client::new(); let base = "https://api.sluis.ai/v1"; // ← the only change let key = std::env::var("SLUIS_KEY")?;
curl https://api.sluis.ai/v1/chat/completions \ -H "Authorization: Bearer $SLUIS_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "mistral/mistral-large-latest", "messages": [...] }'
# already on the Anthropic SDK? Only the base URL changes. from anthropic import Anthropic client = Anthropic( base_url="https://api.sluis.ai", # the SDK appends /v1/messages api_key=os.environ["SLUIS_KEY"], ) # Claude Code, in one line — no plugin, no config file export ANTHROPIC_BASE_URL="https://api.sluis.ai" ANTHROPIC_AUTH_TOKEN="$SLUIS_KEY"
Używasz SDK Anthropic lub Claude Code? Skieruj jego base URL na Sluis. Nagłówki, streaming i błędy opisuje dokumentacja API.
Wyślij żądanie
Wywołaj dokładnie tak, jak wywołujesz dostawcę. Sluis sprawdza żądanie, routuje je przez Twoją politykę, pieczętuje w łańcuchu audytu i zwraca odpowiedź modelu bez zmian. Wywołania aliasu sluis/* ujawniają konkretną trasę w nagłówkach odpowiedzi x-sluis.
# Anthropic Claude, served from Google's EU multi-region resp = client.chat.completions.create( model="vertex/claude-opus-4-8", messages=[{"role": "user", "content": "Summarise this chart…"}], ) print(resp.choices[0].message.content)
// Anthropic Claude, served from Google's EU multi-region const resp = await client.chat.completions.create({ model: "vertex/claude-opus-4-8", messages: [{ role: "user", content: "Summarise this chart…" }], }); console.log(resp.choices[0].message.content);
// Anthropic Claude, served from Google's EU multi-region let resp: serde_json::Value = client .post(format!("{base}/chat/completions")) .bearer_auth(&key) .json(&serde_json::json!({ "model": "vertex/claude-opus-4-8", "messages": [{ "role": "user", "content": "Summarise this chart…" }] })) .send().await? .json().await?; println!("{}", resp["choices"][0]["message"]["content"]);
# response headers on a sluis/* alias call { "x-sluis-route": "sluis/auto", "x-sluis-model": "vertex/claude-opus-4-8" }
Ustaw rezydencję
Rezydencja to polityka organizacji, ustawiana w Konsoli (Rezydencja) i egzekwowana przy wysyłce każdego żądania. Domyślnie dozwolona jest wyłącznie jurysdykcja UE: żądanie, które trafiłoby do dostawcy spoza dozwolonego zbioru, jest odrzucane z 403, zanim wyjdzie choć jeden bajt, czy to PHI w procesie objętym HIPAA, czy szczególne kategorie danych w rozumieniu RODO.

# default policy is EU-only — a US provider is refused at dispatch curl https://api.sluis.ai/v1/chat/completions \ -H "Authorization: Bearer $SLUIS_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "openai/gpt-5.6", "messages": [...] }' # → 403 permission_error # "provider `openai` (jurisdiction `US`) is not permitted by the tenant's residency policy"
Rozszerzenie tego, dokąd mogą trafiać dane, jest zawsze jawną, odnotowaną decyzją: Konsola wymaga potwierdzenia warunków transferu przed odblokowaniem dostawców z USA lub Chin, a zmiana trafia do dziennika audytu.
Chcesz całkowicie odseparować dane osobowe od modelu, by używać dowolnego modelu bez ujawnienia ani jednego nazwiska, numeru czy sekretu? Włącz Ochrona danych: Sluis zastępuje wykryte PII i sekrety stabilnymi typizowanymi tokenami (np. «EMAIL_1»), przekazuje do dostawcy wyłącznie tokeny, a w odpowiedzi przywraca oryginalne wartości. Mapowanie nie jest nigdy utrwalane. To właśnie sprawia, że wywołanie dowolnego modelu zewnętrznego dostawcy jest bezpieczne. Pełną bibliotekę detektorów oraz wykrywanie nazwisk opisano w Referencji ochrony danych poniżej.
Zweryfikuj pieczęć
Każde wywołanie dopisuje wpis do łańcucha hashy. Hash każdego wpisu to sha256(prev_hash + record), więc każde zmienione pole łamie wszystkie kolejne ogniwa. Metadane audytu czytasz przez API administracyjne; pełny eksport i weryfikacja łańcucha działają przez CLI gatewaya.
W dzienniku audytu w Konsoli każde żądanie to jeden wiersz. Rozwiń go, aby zobaczyć wykonane kontrole: rozpoznawanie nazw, inspekcję prywatności LLM, strażnika zakresu workloadu i skan bezpieczeństwa. Każda kontrola pozostaje osobnym zapieczętowanym wpisem w łańcuchu, z własnym kosztem. GET /admin/audit zwraca je na liście checks danego żądania.


# audit metadata over the admin API, admin token scope audit:read curl "https://api.sluis.ai/admin/audit?from=2026-09-01" \ -H "Authorization: Bearer $SLUIS_ADMIN_TOKEN" # a full export and a chain verification are operator CLI subcommands sluis-gateway audit export --tenant $TENANT_ID sluis-gateway audit verify-chain --tenant $TENANT_ID # → chain intact
Umiejętność agenta dla twojego asystenta kodowania
Pracujesz z asystentem kodowania AI? Pobierz umiejętność agenta Sluis: jeden plik SKILL.md oraz pliki referencyjne obejmujące każdy endpoint, dokładne kody błędów, rezydencję, ochronę danych, klucze i workloady. Rozpakuj ją do katalogu umiejętności swojego asystenta. Odpowie wtedy na podstawie naszej dokumentacji, zamiast zgadywać API.
Pobierz umiejętność agentaZIP z plikiem SKILL.md i plikami referencyjnymi