Artikel 7
Artikel ini menjelaskan implementasi teknis dari sistem multi-pengguna SafeClaw — bagaimana isolasi pengguna bekerja, bagaimana kontrol akses diterapkan, dan bagaimana tiga jenis akun Binance diarahkan.
━━━ TANTANGAN INTI ━━━
Agen AI pengguna tunggal relatif sederhana untuk diamankan. Agen publik multi-pengguna yang menangani kunci API keuangan nyata adalah masalah yang fundamental berbeda.
Persyaratan:
1. Kunci API Pengguna A harus tidak terlihat oleh Pengguna B
2. Riwayat perdagangan Pengguna A harus tidak terlihat oleh Pengguna B
3. Rencana DCA Pengguna A tidak boleh mempengaruhi Pengguna B
4. Sesi yang dikompromikan untuk Pengguna A tidak boleh mengekspos Pengguna B
5. Bot harus mengalihkan setiap panggilan API pengguna ke lingkungan Binance yang benar
SafeClaw menyelesaikan semua lima.
━━━ ARSITEKTUR ISOLASI SESI ━━━
Sistem sesi OpenClaw dikonfigurasi dengan:
dmScope: "per-channel-peer"
Ini berarti: setiap ID pengguna Telegram yang unik mendapatkan konteks sesi terisolasi masing-masing.
Secara teknis, apa artinya:
• Pesan setiap pengguna diproses dalam namespace sesi terpisah
• Data sesi (disimpan dalam sessions.json) dikunci oleh ID pengguna Telegram
• Tidak ada sesi pengguna yang dapat membaca dari sesi pengguna lain
• Konteks agen AI untuk setiap pengguna hanya berisi data pengguna itu
Data sesi disimpan per pengguna:
• jenis_akun_binance (live/demo/testnet)
• binance_live_key, binance_live_secret
• binance_demo_key, binance_demo_secret
• binance_testnet_key, binance_testnet_secret
• binance_square_key
• mata_uang, metode_pembayaran, profil_risiko
• dca_aset, dca_jumlah, dca_interval, riwayat_dca
• riwayat_simulasi, skor_evaluasi
Tidak ada data ini yang dapat diakses oleh pengguna lain.
━━━ SISTEM KONTROL AKSES TIGA AKUN ━━━
SafeClaw mendukung tiga jenis akun Binance yang berbeda untuk setiap pengguna. Keterampilan api-router menangani pengalihan:
AKUN NYATA (Produksi)
Perintah: /updatekey [KEY] [SECRET]
Titik akhir validasi: https://api.binance.com/api/v3/account
Titik akhir perdagangan: https://api.binance.com
Titik akhir Futures: https://fapi.binance.com
Kasus penggunaan: DCA langsung, pemantauan Earn nyata
Keamanan: Izin penarikan = tolak instan
Pembatasan IP: Pengguna disarankan untuk membatasi ke IP server
AKUN DEMO (Praktik)
Perintah: /updatekey-demo [KEY] [SECRET]
Titik akhir validasi: https://demo-api.binance.com/api/v3/account
Titik akhir perdagangan: https://demo-api.binance.com
Titik akhir Futures: https://demo-fapi.binance.com
Kasus penggunaan: simulasi Akademi, pengujian strategi
Saldo: 5.000 USDT disediakan oleh Binance
Keamanan: Tidak ada dana nyata, tidak ada risiko penarikan
TESTNET (Pengembangan)
Perintah: /updatekey-testnet [KEY] [SECRET]
Titik akhir validasi: https://testnet.binance.vision/api/v3/account
Titik akhir perdagangan: https://testnet.binance.vision
Kasus penggunaan: Pengembang membangun di Binance, pengujian API
Saldo: Dana testnet dari testnet.binance.vision
━━━ ALUR VALIDASI KUNCI API ━━━
Setiap kunci yang diajukan melalui proses ini:
1. Validasi format
Panjang kunci: harus 64 karakter
Set karakter: hanya alfanumerik
Jika tidak valid: "Format kunci tidak valid. Silakan periksa dan coba lagi."
2. Panggilan API langsung
GET {correct_endpoint}/api/v3/account
Dengan timestamp yang ditandatangani HMAC SHA256
Waktu habis: 10 detik
3. Inspeksi izin
Parse array .permissions dari respons
Jika "WITHDRAWALS" ada → tolak
Jika "TRANSFER" ada → tolak
Jika "SPOT" tidak ada → beri peringatan kepada pengguna (mungkin tidak dapat melakukan perdagangan)
Jika canTrade = false → beri peringatan kepada pengguna
4. Penyimpanan
Jika berhasil: disimpan dalam memori sesi pengguna
Penanda jenis akun diatur: "live" / "demo" / "testnet"
Pengguna diberi tahu dengan label akun
5. Prompt keamanan
"✅ [Tipe akun] terhubung."
"⚠️ Harap HAPUS pesan /updatekey Anda dari obrolan sekarang."
━━━ LOGIKA PENGALIHAN ━━━
Setiap keterampilan yang mengeksekusi panggilan API Binance membaca dari keterampilan api-router:
api-router membaca: jenis_akun_binance dari sesi
Mengembalikan: BASE_URL, FUTURES_URL, USER_KEY, USER_SECRET, ACCOUNT_LABEL
Keterampilan yang menggunakan api-router:
• smartdca (setiap eksekusi DCA)
• safeclaw-academy (setiap simulasi)
• yield-monitor (setiap kueri Earn)
• profil (tampilan saldo)
• guardianclaw (ketika mengeksekusi perdagangan yang disetujui)
Keterampilan yang TIDAK membutuhkan api-router (API publik):
• p2p-safefinder (API P2P bersifat publik)
• briefing (data harga bersifat publik)
• square-content-engine (berita/tren bersifat publik)
━━━ APA YANG TERJADI KETIKA TIDAK ADA KUNCI YANG DISET ━━━
Jika seorang pengguna mencoba menjalankan /dca run atau /simulate tanpa kunci yang dikonfigurasi:
"⚠️ Tidak ada akun Binance yang terhubung.
Untuk menggunakan fitur ini:
• /updatekey — Akun Binance nyata
• /updatekey-demo — Akun praktik (DISARANKAN)
• /updatekey-testnet — Testnet pengembang
Pencarian P2P dan briefing pasar berfungsi tanpa kunci API."
Bot tidak pernah kembali ke kredensial tingkat server. Jika tidak ada kunci pengguna yang dikonfigurasi, fitur ini tidak tersedia untuk pengguna tersebut.
━━━ PENANGANAN PENGGUNA BERSAMA ━━━
Konfigurasi OpenClaw:
agents.defaults.maxConcurrent: 4
agents.defaults.subagents.maxConcurrent: 8
Ini berarti:
• Hingga 4 eksekusi agen utama berjalan secara paralel
• Hingga 8 operasi sub-agen per agen utama
• Permintaan tambahan dijadwalkan — tidak ada pesan yang hilang
Pada t3.small (2 vCPU, 2GB RAM), ini dengan nyaman menangani puluhan pengguna bersamaan. Bottleneck utama adalah batas laju API OpenRouter, bukan sumber daya server.
━━━ EKSPANSI MASA DEPAN ━━━
Skalabilitas multi-instansi:
• Penyimpanan sesi Redis memungkinkan beberapa instansi OpenClaw untuk berbagi status
• Penyeimbang beban mendistribusikan lalu lintas webhook Telegram
• Setiap instansi menangani subkumpulan pengguna dengan kemampuan identik
Pemilihan model per pengguna:
• Pengguna premium dapat diarahkan ke Claude Sonnet untuk akurasi yang lebih tinggi
• Tingkat gratis diarahkan ke model cadangan gratis
• Pemilihan model disimpan dalam sesi pengguna
Tingkat pengguna:
• Gratis: P2P, Briefing, Belajar
• Standar: + DCA, Guard, Akademi
• Premium: + Yield, Content Engine, Pengarahan prioritas
Tautan Cepat:
Artikel 1 Artikel 2 Artikel 3 Artikel 4 Artikel 5 Artikel 6 Artikel 8
Sumber: https://github.com/bnbnepalbinanceangel/SafeClaw
#AIBinance #SafeClaw #MultiUser #AccessControl #OpenClaw

