@openclaw/nextcloud-talk), kết nối OpenClaw với một phiên bản Nextcloud tự lưu trữ thông qua bot webhook Talk. Hỗ trợ tin nhắn trực tiếp, phòng, phản ứng và tin nhắn markdown; nội dung đa phương tiện được gửi dưới dạng URL.
Cài đặt
Thiết lập nhanh (cho người mới bắt đầu)
- Cài đặt plugin (ở trên).
-
Trên máy chủ Nextcloud, tạo một bot:
Giữ lại
--feature response: nếu không có, các phản hồi gửi đi sẽ thất bại với mã 401. Sửa một bot hiện có bằng./occ talk:bot:state --feature webhook --feature response --feature reaction <botId> 1. - Bật bot trong phần cài đặt của phòng đích.
-
Cấu hình OpenClaw:
- Cấu hình:
channels.nextcloud-talk.baseUrl+channels.nextcloud-talk.botSecret - Hoặc biến môi trường:
NEXTCLOUD_TALK_BOT_SECRET(chỉ tài khoản mặc định)
--url/--tokenlà bí danh của các trường tường minh;nc-talkvànchoạt động như bí danh kênh):Các trường tường minh tương đương:Bí mật lưu trong tệp: - Cấu hình:
- Khởi động lại Gateway (hoặc hoàn tất thiết lập).
Lưu ý
- Bot không thể chủ động bắt đầu tin nhắn trực tiếp. Người dùng phải nhắn tin cho bot trước.
- URL webhook phải có thể truy cập được từ máy chủ Nextcloud; đặt
webhookPublicUrlkhi Gateway nằm sau proxy. Yêu cầu webhook được ký bằng HMAC-SHA256 với bí mật của bot; chữ ký không hợp lệ sẽ bị từ chối và giới hạn tốc độ. - API bot không hỗ trợ tải nội dung đa phương tiện lên; nội dung đa phương tiện gửi đi được nối thêm dưới dạng một dòng
Attachment: <url>. - Tải trọng webhook không phân biệt tin nhắn trực tiếp với phòng; đặt
apiUser+apiPasswordđể bật tra cứu loại phòng (được lưu vào bộ nhớ đệm khoảng 5 phút). Nếu không có chúng, mọi cuộc trò chuyện đều được xử lý như một phòng. - Các yêu cầu gửi đi đi qua cơ chế bảo vệ SSRF. Với máy chủ Nextcloud trên mạng riêng/nội bộ đáng tin cậy, hãy chủ động cho phép bằng
channels.nextcloud-talk.network.dangerouslyAllowPrivateNetwork: true. - Khi đã đặt
apiUser/apiPasswordvàwebhookPublicUrl,openclaw channels statussẽ thăm dò bot và cảnh báo khi thiếu tính năngresponse.
Kiểm soát truy cập (tin nhắn trực tiếp)
- Mặc định:
channels.nextcloud-talk.dmPolicy = "pairing". Người gửi không xác định sẽ nhận được mã ghép nối. - Phê duyệt qua:
openclaw pairing list nextcloud-talkopenclaw pairing approve nextcloud-talk <CODE>
- Tin nhắn trực tiếp công khai:
channels.nextcloud-talk.dmPolicy="open"cùng vớichannels.nextcloud-talk.allowFrom=["*"]. allowFromchỉ khớp với ID người dùng Nextcloud (được chuyển thành chữ thường); tên hiển thị bị bỏ qua.
Phòng (nhóm)
- Mặc định:
channels.nextcloud-talk.groupPolicy = "allowlist"(yêu cầu đề cập). - Cho phép các phòng bằng danh sách cho phép
channels.nextcloud-talk.rooms, với khóa là token của phòng;"*"đặt giá trị mặc định bằng ký tự đại diện:
- Các khóa theo từng phòng:
requireMention(mặc định là true),enabled(false sẽ vô hiệu hóa phòng),allowFrom(danh sách cho phép người gửi theo từng phòng),tools(ghi đè cho phép/từ chối công cụ),skills(giới hạn Skills được tải),systemPrompt. - Để không cho phép phòng nào, hãy để trống danh sách cho phép hoặc đặt
channels.nextcloud-talk.groupPolicy="disabled".
Khả năng
Tham chiếu cấu hình (Nextcloud Talk)
Cấu hình đầy đủ: Cấu hình Tùy chọn nhà cung cấp:channels.nextcloud-talk.enabled: bật/tắt quá trình khởi động kênh.channels.nextcloud-talk.baseUrl: URL phiên bản Nextcloud.channels.nextcloud-talk.botSecret: bí mật dùng chung của bot (chuỗi hoặc tham chiếu bí mật).channels.nextcloud-talk.botSecretFile: đường dẫn bí mật đến tệp thông thường. Liên kết tượng trưng bị từ chối.channels.nextcloud-talk.apiUser: người dùng API để tra cứu phòng (phát hiện tin nhắn trực tiếp) và thăm dò trạng thái.channels.nextcloud-talk.apiPassword: mật khẩu API/ứng dụng để tra cứu phòng.channels.nextcloud-talk.apiPasswordFile: đường dẫn tệp mật khẩu API.channels.nextcloud-talk.webhookPort: cổng trình lắng nghe webhook (mặc định: 8788).channels.nextcloud-talk.webhookHost: máy chủ webhook (mặc định: 0.0.0.0).channels.nextcloud-talk.webhookPath: đường dẫn webhook (mặc định: /nextcloud-talk-webhook).channels.nextcloud-talk.webhookPublicUrl: URL webhook có thể truy cập từ bên ngoài.channels.nextcloud-talk.dmPolicy:pairing | allowlist | open | disabled(mặc định: ghép nối).openyêu cầuallowFrom=["*"].channels.nextcloud-talk.allowFrom: danh sách cho phép tin nhắn trực tiếp (ID người dùng).channels.nextcloud-talk.groupPolicy:allowlist | open | disabled(mặc định: danh sách cho phép).channels.nextcloud-talk.groupAllowFrom: danh sách cho phép người gửi trong phòng (ID người dùng); dự phòng vềallowFromkhi chưa đặt.channels.nextcloud-talk.rooms: cài đặt và danh sách cho phép theo từng phòng (xem ở trên).- Có thể tham chiếu các nhóm truy cập tĩnh của người gửi từ
allowFromvàgroupAllowFrombằngaccessGroup:<name>. channels.nextcloud-talk.historyLimit: giới hạn lịch sử nhóm (0 sẽ vô hiệu hóa).channels.nextcloud-talk.dmHistoryLimit: giới hạn lịch sử tin nhắn trực tiếp (0 sẽ vô hiệu hóa).channels.nextcloud-talk.dms: ghi đè theo từng tin nhắn trực tiếp, với khóa là ID người dùng (historyLimit).channels.nextcloud-talk.textChunkLimit: kích thước phân đoạn văn bản gửi đi, tính bằng ký tự (mặc định: 4000).channels.nextcloud-talk.streaming.chunkMode:length(mặc định) hoặcnewlineđể phân tách tại các dòng trống (ranh giới đoạn văn) trước khi chia đoạn theo độ dài.channels.nextcloud-talk.streaming.block.enabled: bật hoặc tắt truyền phát theo khối cho kênh này.channels.nextcloud-talk.streaming.block.coalesce: tinh chỉnh việc hợp nhất khi truyền phát theo khối.channels.nextcloud-talk.responsePrefix: tiền tố phản hồi gửi đi.channels.nextcloud-talk.markdown.tables: chế độ kết xuất bảng markdown (off | bullets | code | block).channels.nextcloud-talk.mediaMaxMb: giới hạn nội dung đa phương tiện đến (MB).channels.nextcloud-talk.network.dangerouslyAllowPrivateNetwork: cho phép máy chủ Nextcloud riêng/nội bộ vượt qua cơ chế bảo vệ SSRF.channels.nextcloud-talk.accounts.<id>: ghi đè theo từng tài khoản (cùng các khóa);defaultAccountchọn tài khoản mặc định. Các biến môi trườngNEXTCLOUD_TALK_BOT_SECRET/NEXTCLOUD_TALK_API_PASSWORDchỉ áp dụng cho tài khoản mặc định.
Liên quan
- Tổng quan về kênh — tất cả các kênh được hỗ trợ
- Ghép nối — luồng 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à yêu cầu đề 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à tăng cường bảo mật