@openclaw/nostr), cho phép OpenClaw nhận và trả lời tin nhắn trực tiếp được mã hóa bằng NIP-04 qua các relay Nostr. Mỗi Gateway chỉ dùng một tài khoản; chỉ hỗ trợ tin nhắn trực tiếp.
Cài đặt
openclaw onboard) và openclaw channels add sẽ hiển thị Nostr từ danh mục kênh dùng chung.
Thiết lập không tương tác
--use-env để giữ NOSTR_PRIVATE_KEY trong môi trường thay vì lưu khóa trong cấu hình (chỉ áp dụng cho tài khoản mặc định).
Thiết lập nhanh
- Tạo một cặp khóa Nostr (nếu cần):
- Thêm vào cấu hình:
- Xuất khóa:
- Khởi động lại Gateway.
Tham chiếu cấu hình
Siêu dữ liệu hồ sơ
Dữ liệu hồ sơ được xuất bản dưới dạng sự kiện NIP-01kind:0. Bạn có thể quản lý dữ liệu này từ giao diện điều khiển (Channels -> Nostr -> Profile) hoặc đặt trực tiếp trong cấu hình.
Ví dụ:
- URL hồ sơ phải sử dụng
https://. - Việc nhập từ các relay sẽ hợp nhất các trường và giữ nguyên các giá trị ghi đè cục bộ.
Kiểm soát truy cập
Chính sách tin nhắn trực tiếp
- ghép nối (mặc định): người gửi không xác định sẽ nhận được mã ghép nối.
- danh sách cho phép: chỉ các khóa công khai trong
allowFrommới có thể gửi tin nhắn trực tiếp. - mở: cho phép công khai tin nhắn trực tiếp gửi đến (yêu cầu
allowFrom: ["*"]). - tắt: bỏ qua tin nhắn trực tiếp gửi đến.
- Chữ ký của sự kiện gửi đến được xác minh trước khi áp dụng chính sách người gửi và giải mã NIP-04, vì vậy các sự kiện giả mạo bị từ chối sớm.
- Phản hồi ghép nối được gửi mà không giải mã hoặc xử lý nội dung gốc của tin nhắn trực tiếp.
- Tin nhắn trực tiếp gửi đến bị giới hạn tốc độ (trên toàn hệ thống và theo từng người gửi), đồng thời tải trọng quá lớn bị loại bỏ trước khi giải mã.
Ví dụ về danh sách cho phép
Định dạng khóa
Các định dạng được chấp nhận:- Khóa riêng tư:
nsec...hoặc chuỗi hex 64 ký tự - Khóa công khai (
allowFrom):npub...hoặc hex
Relay
Mặc định:relay.damus.io và nos.lol.
- Dùng 2-3 relay để dự phòng.
- Tránh dùng quá nhiều relay (độ trễ, trùng lặp).
- Relay trả phí có thể cải thiện độ tin cậy.
- Relay cục bộ phù hợp để kiểm thử (
ws://localhost:7777).
Hỗ trợ giao thức
Kiểm thử
Relay cục bộ
Kiểm thử thủ công
- Ghi lại khóa công khai của bot từ nhật ký Gateway hoặc
openclaw channels status(dạng hex; chuyển đổi sang npub trong ứng dụng khách nếu cần). - Mở một ứng dụng khách Nostr (Amethyst, Damus, v.v.).
- Gửi tin nhắn trực tiếp đến khóa công khai của bot.
- Xác minh phản hồi.
Khắc phục sự cố
Không nhận được tin nhắn
- Xác minh khóa riêng tư hợp lệ.
- Đảm bảo các URL relay có thể truy cập được và sử dụng
wss://(hoặcws://cho môi trường cục bộ). - Xác nhận
enabledkhông phải làfalse. - Kiểm tra nhật ký Gateway để tìm lỗi kết nối relay.
Không gửi được phản hồi
- Kiểm tra xem relay có chấp nhận ghi hay không.
- Xác minh kết nối đi.
- Theo dõi giới hạn tốc độ của relay.
Phản hồi trùng lặp
- Đây là hành vi dự kiến khi sử dụng nhiều relay.
- Tin nhắn được loại bỏ trùng lặp theo ID sự kiện; chỉ lần chuyển phát đầu tiên kích hoạt phản hồi.
Bảo mật
- Không bao giờ cam kết khóa riêng tư vào kho mã nguồn.
- Sử dụng biến môi trường cho các khóa.
- Cân nhắc sử dụng
allowlistcho bot trong môi trường sản xuất. - Chữ ký được xác minh trước khi áp dụng chính sách người gửi, và chính sách người gửi được thực thi trước khi giải mã, vì vậy các sự kiện giả mạo bị từ chối sớm và người gửi không xác định không thể buộc hệ thống thực hiện toàn bộ tác vụ mật mã.
Giới hạn (MVP)
- Chỉ hỗ trợ tin nhắn trực tiếp (không hỗ trợ trò chuyện nhóm).
- Không hỗ trợ tệp đính kèm phương tiện.
- Chỉ hỗ trợ NIP-04 (đã lên kế hoạch hỗ trợ cơ chế bọc kiểu quà tặng NIP-17).
Liên quan
- Tổng quan về các kênh — tất cả các kênh được hỗ trợ
- Ghép nối — quy trình xác thực và ghép nối tin nhắn trực tiếp
- Nhóm — hành vi trò chuyện nhóm và kiểm soát bằng lượt đề cập
- Định tuyến kênh — định tuyến phiên cho tin nhắn
- Bảo mật — mô hình truy cập và gia cố bảo mật