Powrót do strony głównej

Obejście blokady Anthropic w OpenClaw: przewodnik

Artykuł analizuje obejście blokady serwerowej Anthropic dla OpenClaw poprzez łańcuch proxy. Detekcja odbywa się na podstawie nazw tools subagents i session_status. Konfiguracja CLIProxyAPI i Node.js replace-proxy pozwala korzystać z subskrypcji Pro bez Extra Usage.

Jak obejść detekcję Anthropic w klientach zewnętrznych
Advertisement 728x90

Omijanie blokady serwerowej Anthropic w aplikacjach zewnętrznych: analiza techniczna

Anthropic wprowadziła serwerową weryfikację źródeł zapytań do API. Zapytania z oficjalnych klientów, takich jak Claude Code i Cowork, są objęte subskrypcją Pro. Zewnętrzne narzędzia, jak OpenClaw, są przekierowywane do trybu Extra Usage z opłatą za tokeny API, co wielokrotnie zwiększa koszty. Proste zapytanie HTTP z fałszywymi nagłówkami nie działa — serwer analizuje zawartość ciała zapytania.

Cel: sprawić, aby zapytanie było nie do odróżnienia od oficjalnego klienta, zachowując funkcjonalność OpenClaw z 17 narzędziami.

Analiza struktury zapytania

Zapytanie do API Anthropic — JSON z promptem systemowym, historią wiadomości, metadanymi i listą narzędzi. Testy wykazały:

Google AdInline article slot
  • Prompt systemowy i historia przechodzą weryfikację.
  • Dodanie narzędzi prowadzi do detekcji.

Analiza narzędzi w grupach ujawniła problematyczne:

  • read, edit, write — przechodzą.
  • exec, process — przechodzą.
  • sessions_list, sessions_history, sessions_send — przechodzą.
  • web_search, web_fetch — przechodzą.
  • image, memory_search, memory_get — przechodzą.
  • subagents — jest blokowane.
  • session_status — jest blokowane.

Serwer Anthropic szuka specyficznych nazw narzędzi, których nie ma w Claude Code. Dwa narzędzia z 17 są wystarczające do przekierowania do Extra Usage.

Architektura proxy-chain

Rozwiązanie: dwupoziomowy proxy między OpenClaw a api.anthropic.com.

Google AdInline article slot
  • CLIProxyAPI (Go, 23k gwiazd na GitHub): imituje nagłówki Claude Code (user-agent, billing header, client_id). Autoryzacja przez OAuth — proxy generuje URL, użytkownik loguje się w przeglądarce, refresh_token jest zapisywany lokalnie.
  • Replace-proxy (Node.js, 133 linie kodu, bez zależności): przechwytuje JSON w obie strony.

- W zapytaniu: subagentssub_dispatch, session_statuscheck_status, OpenClawAssistant.

- W odpowiedzi: odwrotna zamiana linia po linii dla streaming.

Łańcuch: OpenClaw (port 8318) → replace-proxy → CLIProxyAPI (8317) → api.anthropic.com.

Google AdInline article slot

Replace-proxy uruchamia się jako usługa systemd z automatycznym restartem.

Konfiguracja replace-proxy

Kod proxy jest minimalny: serwer HTTP analizuje ciało, stosuje zamiany przez regex, buforuje streaming-zdarzenia.

// Przykład fragmentu: przetwarzanie przychodzącego zapytania
const replaceMap = {
  'subagents': 'sub_dispatch',
  'session_status': 'check_status',
  'OpenClaw': 'Assistant'
};
// JSON.parse(body).tools.forEach(tool => {
//   if (replaceMap[tool.name]) tool.name = replaceMap[tool.name];
// });
// Analogicznie dla odpowiedzi

Serwer nasłuchuje na localhost:8318, przekierowuje na CLIProxyAPI:8317.

Konfiguracja OpenClaw

W openclaw.json dodaj providera:

{
  "models": {
    "providers": {
      "custom-proxy": {
        "baseUrl": "http://localhost:8318",
        "apiKey": "<api-key-z-CLIProxyAPI>",
        "api": "anthropic-messages",
        "models": [
          {"id": "claude-opus-4-6", "contextWindow": 1000000, "maxTokens": 16384},
          {"id": "claude-sonnet-4-6", "contextWindow": 200000, "maxTokens": 16384}
        ]
      }
    }
  }
}

Ustaw domyślne:

openclaw config set "agents.defaults.model.primary" "custom-proxy/claude-opus-4-6"

Zrestartuj OpenClaw. Przełączanie modeli działa przez chat.

Co jest ważne

  • Detekcja przez narzędzia: Anthropic sprawdza nazwy narzędzi w JSON-ciele. Unikalne dla OpenClaw (subagents, session_status) wywołują Extra Usage.
  • Dwupoziomowy proxy: CLIProxyAPI maskuje nagłówki, replace-proxy — zawartość.
  • Autoryzacja OAuth: CLIProxyAPI automatycznie odświeża tokeny, reautoryzacja przy wygaśnięciu refresh_token.
  • Wsparcie streaming: Replace-proxy buforuje zdarzenia do zamiany w czasie rzeczywistym.
  • Ryzyka: Obejście ToS Anthropic. Możliwe zablokowanie konta; detekcja może się zmienić (wzorce prompta, struktura).

Ograniczenia i monitoring

  • Nie dla produkcji: użycie osobiste na własne ryzyko.
  • Monitoring: logi proxy pod kątem błędów zamiany lub nowych detekcji.
  • Skalowanie: systemd zapewnia stabilność, ale przy aktualizacjach Anthropic wymagane są modyfikacje replace-map.

Testy potwierdziły działanie na Opus 4.6 i Sonnet 4.6 bez Extra Usage.

— Editorial Team

Advertisement 728x90

Czytaj dalej