Bài viết 7

Bài viết này giải thích về việc triển khai kỹ thuật của hệ thống đa người dùng SafeClaw — cách hoạt động của việc cách ly người dùng, cách kiểm soát truy cập được thực thi, và cách ba loại tài khoản Binance được chuyển hướng.



━━━ THÁCH THỨC CỐT LÕI ━━━

Một tác nhân AI đơn người dùng tương đối đơn giản để bảo mật. Một tác nhân công khai đa người dùng xử lý các khóa API tài chính thực sự là một vấn đề hoàn toàn khác.

Các yêu cầu:
1. Khóa API của Người dùng A phải không thể nhìn thấy với Người dùng B
2. Lịch sử giao dịch của Người dùng A phải không thể nhìn thấy với Người dùng B
3. Kế hoạch DCA của Người dùng A không được ảnh hưởng đến Người dùng B
4. Một phiên bị xâm nhập của Người dùng A không được làm lộ Người dùng B
5. Bot phải chuyển hướng các cuộc gọi API của từng người dùng đến môi trường Binance chính xác

SafeClaw giải quyết tất cả năm.



━━━ KIẾN TRÚC CÁCH LY PHIÊN ━━━

Hệ thống phiên của OpenClaw được cấu hình với:
dmScope: "per-channel-peer"

Điều này có nghĩa là: mỗi ID người dùng Telegram duy nhất nhận được bối cảnh phiên cách ly riêng.

Về mặt kỹ thuật, điều này có nghĩa là:
• Tin nhắn của mỗi người dùng được xử lý trong một không gian tên phiên tách biệt
• Dữ liệu phiên (được lưu trong sessions.json) được gán bằng ID người dùng Telegram
• Không phiên của người dùng nào có thể đọc từ phiên của người dùng khác
• Bối cảnh của đại lý AI cho mỗi người dùng chỉ chứa dữ liệu của người dùng đó

Dữ liệu phiên được lưu trữ theo người dùng:
• loại_tài_khoản_binance (live/demo/testnet)
• khóa_binance_live, bí mật_binance_live
• khóa_binance_demo, bí mật_binance_demo
• khóa_binance_testnet, bí mật_binance_testnet
• khóa_binance_square
• tiền tệ, phương thức thanh toán, hồ sơ rủi ro
• tài sản_dca, số_lượng_dca, khoảng_thời_gian_dca, lịch_sử_dca
• lịch_sử_mô_phỏng, điểm_đánh_giá

Không có dữ liệu nào này có thể truy cập cho người dùng khác.



━━━ HỆ THỐNG KIỂM SOÁT TRUY CẬP BA TÀI KHOẢN ━━━

SafeClaw hỗ trợ ba loại tài khoản Binance riêng biệt cho mỗi người dùng. Kỹ năng api-router xử lý việc chuyển hướng:

TÀI KHOẢN THẬT (Sản xuất)
Lệnh: /updatekey [KEY] [SECRET]
Điểm xác thực: https://api.binance.com/api/v3/account
Điểm giao dịch: https://api.binance.com
Điểm tương lai: https://fapi.binance.com
Trường hợp sử dụng: DCA trực tiếp, theo dõi lợi nhuận thực
Bảo mật: Quyền rút tiền = từ chối ngay lập tức
Hạn chế IP: Người dùng được thông báo hạn chế đến IP máy chủ

TÀI KHOẢN DEMO (Thực hành)
Lệnh: /updatekey-demo [KEY] [SECRET]
Điểm xác thực: https://demo-api.binance.com/api/v3/account
Điểm giao dịch: https://demo-api.binance.com
Điểm tương lai: https://demo-fapi.binance.com
Trường hợp sử dụng: Mô phỏng học viện, thử nghiệm chiến lược
Số dư: 5,000 USDT được cung cấp bởi Binance
Bảo mật: Không có quỹ thực, không có rủi ro rút tiền

TESTNET (Phát triển)
Lệnh: /updatekey-testnet [KEY] [SECRET]
Điểm xác thực: https://testnet.binance.vision/api/v3/account
Điểm giao dịch: https://testnet.binance.vision
Trường hợp sử dụng: Các nhà phát triển xây dựng trên Binance, thử nghiệm API
Số dư: Quỹ testnet từ testnet.binance.vision



━━━ DÒNG XÁC THỰC KHÓA API ━━━

Mỗi khóa được gửi đi sẽ trải qua quá trình chính xác này:

1. Xác thực định dạng
Độ dài khóa: phải là 64 ký tự
Bộ ký tự: chỉ số và chữ cái
Nếu không hợp lệ: "Định dạng khóa không hợp lệ. Vui lòng kiểm tra và thử lại."

2. Gọi API trực tiếp
GET {correct_endpoint}/api/v3/account
Với dấu thời gian đã ký HMAC SHA256
Thời gian chờ: 10 giây

3. Kiểm tra quyền
Phân tích mảng .permissions từ phản hồi
Nếu "WITHDRAWALS" có mặt → từ chối
Nếu "TRANSFER" có mặt → từ chối
Nếu "SPOT" không có → cảnh báo người dùng (có thể không thể giao dịch)
Nếu canTrade = false → cảnh báo người dùng

4. Lưu trữ
Khi thành công: được lưu trong bộ nhớ phiên của người dùng
Cờ loại tài khoản được đặt: "live" / "demo" / "testnet"
Người dùng được thông báo với nhãn tài khoản

5. Nhắc nhở bảo mật
"✅ [Loại tài khoản] đã kết nối."
"⚠️ Vui lòng XÓA tin nhắn /updatekey của bạn từ trò chuyện ngay bây giờ."



━━━ LÔGIC CHUYỂN HƯỚNG ━━━

Mỗi kỹ năng thực hiện cuộc gọi API Binance đều đọc từ kỹ năng api-router:

api-router đọc: loại_tài_khoản_binance từ phiên
Trả về: BASE_URL, FUTURES_URL, USER_KEY, USER_SECRET, ACCOUNT_LABEL

Các kỹ năng sử dụng api-router:
• smartdca (mỗi lần thực hiện DCA)
• safeclaw-academy (mỗi lần mô phỏng)
• yield-monitor (mỗi truy vấn Earn)
• profile (hiển thị số dư)
• guardianclaw (khi thực hiện các giao dịch được phê duyệt)

Các kỹ năng KHÔNG cần api-router (các API công cộng):
• p2p-safefinder (API P2P là công cộng)
• briefing (dữ liệu giá là công cộng)
• square-content-engine (tin tức/xu hướng là công cộng)



━━━ ĐIỀU GÌ XẢY RA KHI KHÔNG CÓ KHÓA ĐƯỢC ĐẶT ━━━

Nếu một người dùng cố gắng chạy /dca run hoặc /simulate mà không có khóa đã cấu hình:

"⚠️ Không có tài khoản Binance nào được kết nối.

Để sử dụng tính năng này:
• /updatekey — Tài khoản Binance thật
• /updatekey-demo — Tài khoản thực hành (ĐƯỢC KHUYẾN NGHỊ)
• /updatekey-testnet — Testnet cho nhà phát triển

Tìm kiếm P2P và tóm tắt thị trường hoạt động mà không cần khóa API."

Bot không bao giờ quay lại các thông tin xác thực cấp máy chủ. Nếu không có khóa người dùng nào được cấu hình, tính năng này sẽ không khả dụng cho người dùng đó.



━━━ XỬ LÝ NGƯỜI DÙNG ĐỒNG THỜI ━━━

Cấu hình của OpenClaw:
agents.defaults.maxConcurrent: 4
agents.defaults.subagents.maxConcurrent: 8

Điều này có nghĩa là:
• Tối đa 4 lần thực hiện đại lý chính chạy song song
• Tối đa 8 hoạt động phụ cho mỗi đại lý chính
• Các yêu cầu bổ sung được xếp hàng — không có tin nhắn nào bị bỏ lỡ

Trên t3.small (2 vCPU, 2GB RAM), điều này xử lý thoải mái hàng chục người dùng đồng thời. Điểm nghẽn chính là giới hạn tỷ lệ API OpenRouter, không phải tài nguyên máy chủ.



━━━ MỞ RỘNG TƯƠI LAI ━━━

Tăng cường nhiều phiên bản:
• Bộ nhớ phiên Redis cho phép nhiều phiên bản OpenClaw chia sẻ trạng thái
• Bộ cân bằng tải phân phối lưu lượng webhook Telegram
• Mỗi phiên bản xử lý một tập hợp người dùng với khả năng giống nhau

Chọn mô hình theo người dùng:
• Người dùng cao cấp có thể chuyển hướng đến Claude Sonnet để có độ chính xác cao hơn
• Tầng miễn phí chuyển hướng đến các mô hình dự phòng miễn phí
• Lựa chọn mô hình được lưu trữ trong phiên người dùng

Các tầng người dùng:
• Miễn phí: P2P, Tóm tắt, Học
• Tiêu chuẩn: + DCA, Bảo vệ, Học viện
• Cao cấp: + Lợi suất, Công cụ nội dung, Chuyển hướng ưu tiên

Liên kết nhanh:

Bài viết 1 Bài viết 2 Bài viết 3 Bài viết 4 Bài viết 5 Bài viết 6 Bài viết 8

Nguồn: https://github.com/bnbnepalbinanceangel/SafeClaw

#AIBinance #SafeClaw #MultiUser #AccessControl #OpenClaw