Przejdź do głównej treści
Skompromitowany agent nie zatrzymuje się sam. Prompt injection, który podstępem wciąga go w pętlę ponawiania, albo wyciekły klucz w logu CI, będzie wywoływał modele, aż coś powie stop. Na OrcaRouter tym „czymś” są dwa pola na samym kluczu: limit wydatków i wygaśnięcie. Ustaw je raz w edytorze klucza, a brama egzekwuje oba przy każdym żądaniu — bez zmiany w kodzie agenta, bez ponownego wdrożenia. Ta strona to skupiona referencja dla tych dwóch limitów. Pełną listę pól klucza znajdziesz w obiekcie tokenu; model tożsamości wokół nich, zobacz przegląd kluczy o ograniczonym zakresie.

1. Limit wydatków klucza api: credit_limit_usd

credit_limit_usd to pułap wydatków w całym okresie życia klucza, wyrażony w zwykłych USD. Wpisujesz kwotę w dolarach w edytorze klucza; OrcaRouter przelicza ją na początkową kwotę klucza i mierzy każde wywołanie wobec niej.

Ograniczone

credit_limit_usd: 25 wybija klucz z $25 wydatków. Każde wywołanie obciąża swoim kosztem; gdy pozostałe saldo dojdzie do zera, klucz przestaje autoryzować, a każde dalsze żądanie jest odrzucane.

Nieograniczone

credit_limit_usd: 0 to wartownik dla braku limitu — klucz czerpie z salda twojej przestrzeni roboczej bez pułapu per klucz. Wygodne, ale najgorszy promień rażenia, gdy wycieknie.
0 nie oznacza „zero dolarów” — oznacza nieograniczone. Klucz, który zamierzałeś zamknąć do maleńkiego budżetu, musi nieść dodatnią liczbę. By wyrazić „ten klucz może wydać nic”, wyłącz lub usuń go, nie ustawiaj limitu na 0.

2. Jak limit jest mierzony: remain_quota i used_quota

Limit w dolarach, który wpisujesz, to powierzchnia widoczna dla człowieka. Pod nią brama śledzi dwa bieżące liczniki na kluczu:
PoleZnaczenie
remain_quotaWydatki pozostałe, zanim klucz przestanie autoryzować.
used_quotaWydatki zużyte dotąd przez okres życia klucza.
Ustawienie dodatniego credit_limit_usd zasiewa remain_quota z tej kwoty w dolarach; każde rozliczone wywołanie przesuwa koszt z remain_quota do used_quota. Klucz z nieograniczonym limitem niesie zamiast tego unlimited_quota, a sprawdzenie salda jest pomijane całkowicie.
Block guardrailu lub firewalla nic nie kosztuje wobec limitu, gdy odpala, zanim model się uruchomi — guardrail_blocked na etapie wejścia i firewall_blocked inbound oba dzieją się przed pomiarem, więc remain_quota jest nietknięte. Block guardrailu na etapie wyjścia zwraca koszt żądania. Zobacz guardrails i firewall.

3. Auto-wygaśnięcie: expired_time

expired_time to bezwzględny punkt odcięcia — uniksowy znacznik czasu epoki (sekundy), po którym klucz przestaje autoryzować, bez względu na to, ile budżetu zostaje.
  • Przyszły znacznik czasu wygasza klucz w tym momencie. Brama porównuje go z aktualnym czasem przy każdym żądaniu i odrzuca wywołanie, gdy minie.
  • -1 to wartownik dla nigdy nie wygasa.
Dwa limity są niezależne i oba muszą przejść. Klucz z pozostałym budżetem, ale minionym expired_time, jest martwy; klucz w swoim oknie ważności z remain_quota na zerze jest martwy. Wygrywa ten, który zadziała pierwszy. Edytor odrzuca wygaśnięcie ustawione w przeszłości, więc nie możesz przez przypadek wybić urodzonego-wygasłym klucza.
Dla krótkożyciowych kluczy wybijanych per przebieg CI lub per efemeryczny agent, zobacz klucze wygasające.

4. Jeden konkretny ograniczony, wygasający klucz

Nocne zadanie, które uzgadnia faktury jednym tanim modelem, działa przez dwutygodniowy pilotaż i nigdy nie powinno kosztować więcej niż kilka dolarów na noc, potrzebuje prawie żadnych uprawnień. Skonfiguruj jego klucz w edytorze klucza w konsoli (/console/tokenDeveloper+):
1

Ustaw limit wydatków

credit_limit_usd: 40 — cały budżet pilotażu. Rozbiegana pętla ponawiania wyczerpuje klucz, nie saldo twojej przestrzeni roboczej.
2

Ustaw wygaśnięcie

expired_time: uniksowy znacznik czasu końca okna pilotażu. Klucz auto-wygasa i nie może być ponownie użyty po zakończeniu pilotażu.
3

Połącz z innymi zakresami

Dodaj model_limits, by nie mógł eskalować do modelu z pierwszej linii, oraz allow_ips, by wyciekły klucz był bezużyteczny poza hostem schedulera.
Jeśli ten agent zostanie przejęty trzeciego dnia, szkoda jest ograniczona do tego, co zostało z jego $40, a cały klucz znika za jedenaście dni mimo wszystko. Reszta przestrzeni roboczej jest nietknięta.
Oba pola to USD-i-czas na kluczu, nie polityka obejmująca całą przestrzeń roboczą. By ograniczyć wydatki pojedynczego przebiegu agenta (a nie życia klucza), werdykt cap_cost Firewalla to bezpiecznik per przebieg — zobacz reguły firewalla. Oba się komponują: limit klucza ogranicza okres życia, cap_cost ogranicza pojedynczy przebieg.

5. Kto może to ustawić

Ustawienie credit_limit_usd i expired_time jest częścią tworzenia lub edycji klucza, co wymaga roli Developer lub wyższej. Każdy członek przestrzeni roboczej może odczytać zamaskowany rekord klucza; tylko Developer+ może zmienić jego limity. Klucze są maskowane przy wyświetlaniu — plaintext jest pokazywany raz przy tworzeniu (zobacz maskowanie klucza).

6. Ograniczony domyślnie

Klucz z credit_limit_usd: 0 i expired_time: -1 nie ma limitu wydatków i nigdy nie wygasa — maksymalne uprawnienia, najgorszy promień rażenia. Uczyń to świadomym wyjątkiem, nie domyślnym.

Nieograniczone vs ograniczone

Kiedy klucz bez limitu i niewygasający to faktycznie właściwy wybór — a kiedy nie.

Lista kontrolna minimalnych uprawnień

Przepuść każdy produkcyjny klucz przez ten sam przebieg utwardzania, zanim trafi na produkcję.

7. Powiązane

Obiekt tokenu

Każde pole na kluczu, w tym liczniki kwoty.

Powiązanie polityk

Dołącz guardrail i politykę firewalla do tego samego klucza.

Nadmierne uprawnienia

Zagrożenie, które limity wydatków i wygaśnięcie mają zawężać.
Limit wydatków i wygaśnięcie to najtańsze ubezpieczenie na kluczu: dwie liczby, które zamieniają otwarte poświadczenie w takie, które zawodzi bezpiecznie — puste lub wygasłe — zamiast działać, aż zauważy twój rachunek.