Artykuł 7
Ten artykuł wyjaśnia techniczną implementację systemu wielo-użytkownikowego SafeClaw — jak działa izolacja użytkowników, jak egzekwowane są kontrole dostępu oraz jak są kierowane trzy typy kont Binance.
━━━ GŁÓWNE WYZWANIE ━━━
Agenta AI dla jednego użytkownika jest stosunkowo łatwo zabezpieczyć. Publiczny agent wielo-użytkownikowy obsługujący prawdziwe klucze API finansowych to fundamentalnie inny problem.
Wymagania:
1. Klucz API Użytkownika A musi być niewidoczny dla Użytkownika B
2. Historia transakcji Użytkownika A musi być niewidoczna dla Użytkownika B
3. Plan DCA użytkownika A nie może wpływać na użytkownika B
4. Kompromitowana sesja dla użytkownika A nie może ujawniać użytkownika B
5. Bot musi kierować wywołania API każdego użytkownika do odpowiedniego środowiska Binance
SafeClaw rozwiązuje wszystkie pięć.
━━━ ARCHITEKTURA IZOLACJI SESJI ━━━
System sesji OpenClaw jest skonfigurowany z:
dmScope: "per-channel-peer"
To oznacza: każdy unikalny identyfikator użytkownika Telegrama otrzymuje swój własny izolowany kontekst sesji.
Technicznie, co to oznacza:
• Wiadomości każdego użytkownika są przetwarzane w osobnej przestrzeni nazw sesji
• Dane sesji (przechowywane w sessions.json) są kluczone według identyfikatora użytkownika Telegrama
• Sesja żadnego użytkownika nie może odczytać danych z sesji innego użytkownika
• Kontekst agenta AI dla każdego użytkownika zawiera tylko dane tego użytkownika
Dane sesji przechowywane na użytkownika:
• typ_konta_binance (na żywo/demo/testnet)
• klucz_na_żywo_binance, tajny_klucz_na_żywo_binance
• klucz_demo_binance, tajny_klucz_demo_binance
• klucz_testnet_binance, tajny_klucz_testnet_binance
• klucz_square_binance
• waluta, metody płatności, profil ryzyka
• dca_asset, dca_amount, dca_interval, dca_history
• simulation_history, evaluation_scores
Żadne z tych danych nie jest dostępne dla innych użytkowników.
━━━ SYSTEM KONTROLI DOSTĘPU TRZECH KONTA ━━━
SafeClaw obsługuje trzy różne typy kont Binance dla każdego użytkownika. Umiejętność api-router zajmuje się kierowaniem:
KONTO RZECZYWISTE (Produkcja)
Polecenie: /updatekey [KEY] [SECRET]
Koniec walidacji: https://api.binance.com/api/v3/account
Koniec handlowy: https://api.binance.com
Koniec kontraktów terminowych: https://fapi.binance.com
Przypadek użycia: Żywe DCA, rzeczywiste monitorowanie zysków
Bezpieczeństwo: Uprawnienie do wypłat = natychmiastowe odrzucenie
Ograniczenie IP: Użytkownicy zostali poinformowani, aby ograniczyć do IP serwera
KONTO DEMO (Praktyka)
Polecenie: /updatekey-demo [KEY] [SECRET]
Koniec walidacji: https://demo-api.binance.com/api/v3/account
Koniec handlowy: https://demo-api.binance.com
Koniec kontraktów terminowych: https://demo-fapi.binance.com
Przypadek użycia: Symulacja w Akademii, testowanie strategii
Saldo: 5,000 USDT dostarczone przez Binance
Bezpieczeństwo: Brak rzeczywistych funduszy, brak ryzyka wypłat
TESTNET (Rozwój)
Polecenie: /updatekey-testnet [KEY] [SECRET]
Koniec walidacji: https://testnet.binance.vision/api/v3/account
Koniec handlowy: https://testnet.binance.vision
Przypadek użycia: Deweloperzy budujący na Binance, testowanie API
Saldo: Fundusze testnet z testnet.binance.vision
━━━ PROCES WALIDACJI KLUCZA API ━━━
Każdy przesłany klucz przechodzi przez ten dokładny proces:
1. Walidacja formatu
Długość klucza: musi mieć 64 znaki
Zbiór znaków: tylko alfanumeryczne
Jeśli nieprawidłowy: "Nieprawidłowy format klucza. Proszę sprawdzić i spróbować ponownie."
2. Żywe wywołanie API
GET {correct_endpoint}/api/v3/account
Z podpisanym znacznikiem czasu HMAC SHA256
Limit czasu: 10 sekund
3. Inspekcja uprawnień
Analizuj tablicę .permissions z odpowiedzi
Jeśli "WITHDRAWALS" obecny → odrzuć
Jeśli "TRANSFER" obecny → odrzuć
Jeśli "SPOT" nieobecny → ostrzeż użytkownika (może nie być w stanie handlować)
Jeśli canTrade = false → ostrzeż użytkownika
4. Przechowywanie
Po sukcesie: zapisane w pamięci sesji użytkownika
Flaga typu konta ustawiona: "na żywo" / "demo" / "testnet"
Użytkownik powiadomiony etykietą konta
5. Podpowiedź bezpieczeństwa
"✅ [Typ konta] połączone."
"⚠️ Proszę USUNĄĆ swoją wiadomość /updatekey z czatu teraz."
━━━ LOGIKA KIEROWANIA ━━━
Każda umiejętność, która wykonuje wywołanie API Binance, odczytuje z umiejętności api-router:
api-router odczytuje: typ_konta_binance z sesji
Zwraca: BASE_URL, FUTURES_URL, USER_KEY, USER_SECRET, ACCOUNT_LABEL
Umiejętności, które używają api-router:
• smartdca (każde wykonanie DCA)
• safeclaw-academy (każda symulacja)
• yield-monitor (każde zapytanie o zyski)
• profile (wyświetlanie salda)
• guardianclaw (przy wykonywaniu zatwierdzonych transakcji)
Umiejętności, które NIE potrzebują api-router (publiczne API):
• p2p-safefinder (API P2P jest publiczne)
• briefing (dane o cenach są publiczne)
• square-content-engine (wiadomości/trendy są publiczne)
━━━ CO SIĘ DZIEJE, GDY NIE USTAWIONO KLUCZA ━━━
Jeśli użytkownik próbuje uruchomić /dca run lub /simulate bez skonfigurowanego klucza:
"⚠️ Żadne konto Binance nie jest połączone.
Aby skorzystać z tej funkcji:
• /updatekey — Rzeczywiste konto Binance
• /updatekey-demo — Konto praktyczne (ZALECANE)
• /updatekey-testnet — Testnet dla programistów
Wyszukiwanie P2P i briefingi rynkowe działają bez klucza API."
Bot nigdy nie korzysta z uprawnień na poziomie serwera. Jeśli żaden klucz użytkownika nie jest skonfigurowany, funkcja jest niedostępna dla tego użytkownika.
━━━ OBSŁUGA WIELOKROTNYCH UŻYTKOWNIKÓW ━━━
Konfiguracja OpenClaw:
agents.defaults.maxConcurrent: 4
agents.defaults.subagents.maxConcurrent: 8
To oznacza:
• Do 4 głównych wykonania agentów działających równolegle
• Do 8 operacji sub-agenta na głównego agenta
• Dodatkowe żądania są kolejkowane — żadnych utraconych wiadomości
Na t3.small (2 vCPU, 2GB RAM), to komfortowo obsługuje dziesiątki równoczesnych użytkowników. Głównym wąskim gardłem są limity szybkości API OpenRouter, a nie zasoby serwera.
━━━ ROZSZERZENIE PRZYSZŁOŚCI ━━━
Skalowanie multi-instancyjne:
• Magazyn sesji Redis umożliwia wielu instancjom OpenClaw dzielenie stanu
• Load balancer rozdziela ruch webhooków Telegrama
• Każda instancja obsługuje podzbiór użytkowników z identycznymi możliwościami
Wybór modelu na użytkownika:
• Użytkownicy premium mogą kierować do Claude Sonnet dla wyższej dokładności
• Bezpłatna warstwa kieruje do bezpłatnych modeli zapasowych
• Wybór modelu zapisany w sesji użytkownika
Kategorie użytkowników:
• Bezpłatna: P2P, Briefing, Ucz się
• Standardowa: + DCA, Ochrona, Akademia
• Premium: + Zysk, Silnik treści, Priorytetowe kierowanie
Szybkie linki:
Artykuł 1 Artykuł 2 Artykuł 3 Artykuł 4 Artykuł 5 Artykuł 6 Artykuł 8
Źródło: https://github.com/bnbnepalbinanceangel/SafeClaw
#AIBinance #SafeClaw #MultiUser #AccessControl #OpenClaw

