Documentation Index
Fetch the complete documentation index at: https://openclawhub.vn/llms.txt
Use this file to discover all available pages before exploring further.
Matrix (plugin)
Matrix là plugin kênh Matrix cho OpenClaw. Nó sử dụngmatrix-js-sdk chính thức và hỗ trợ tin nhắn trực tiếp (DM), phòng, luồng, media, phản ứng, thăm dò ý kiến, vị trí và mã hóa đầu cuối (E2EE).
Yêu cầu plugin
Matrix là một plugin và không được tích hợp sẵn với OpenClaw. Cài đặt từ npm:Thiết lập
- Cài đặt plugin.
- Tạo tài khoản Matrix trên máy chủ của bạn.
- Cấu hình
channels.matrixvới:homeserver+accessToken, hoặchomeserver+userId+password.
- Khởi động lại gateway.
- Bắt đầu một DM với bot hoặc mời bot vào phòng.
- URL của homeserver
- Phương thức xác thực: access token hoặc password
- user ID chỉ khi chọn xác thực bằng password
- Tên thiết bị tùy chọn
- Có bật E2EE hay không
- Có cấu hình truy cập phòng Matrix ngay không
- Nếu biến môi trường xác thực Matrix đã tồn tại cho tài khoản đã chọn và tài khoản đó chưa có xác thực lưu trong cấu hình, wizard sẽ cung cấp một lối tắt qua biến môi trường và chỉ ghi
enabled: truecho tài khoản đó. - Khi thêm tài khoản Matrix khác một cách tương tác, tên tài khoản nhập vào sẽ được chuẩn hóa thành ID tài khoản được sử dụng trong cấu hình và biến môi trường. Ví dụ,
Ops Bottrở thànhops-bot. - Các lời nhắc danh sách cho phép DM chấp nhận giá trị đầy đủ
@user:serverngay lập tức. Tên hiển thị chỉ hoạt động khi tra cứu thư mục trực tiếp tìm thấy một kết quả khớp chính xác; nếu không, wizard sẽ yêu cầu thử lại với ID Matrix đầy đủ. - Các lời nhắc danh sách cho phép phòng chấp nhận ID phòng và bí danh trực tiếp. Chúng cũng có thể giải quyết tên phòng đã tham gia trực tiếp, nhưng các tên không được giải quyết chỉ được giữ lại như đã nhập trong quá trình thiết lập và bị bỏ qua sau đó bởi quá trình giải quyết danh sách cho phép khi chạy. Ưu tiên
!room:serverhoặc#alias:server. - Danh tính phòng/phiên khi chạy sử dụng ID phòng Matrix ổn định. Các bí danh được khai báo trong phòng chỉ được sử dụng làm đầu vào tra cứu, không phải là khóa phiên dài hạn hoặc danh tính nhóm ổn định.
- Để giải quyết tên phòng trước khi lưu chúng, sử dụng
openclaw channels resolve --channel matrix "Project Room".
~/.openclaw/credentials/matrix/.
Tài khoản mặc định sử dụng credentials.json; các tài khoản có tên sử dụng credentials-<account>.json.
Các biến môi trường tương đương (được sử dụng khi khóa cấu hình không được đặt):
MATRIX_HOMESERVERMATRIX_ACCESS_TOKENMATRIX_USER_IDMATRIX_PASSWORDMATRIX_DEVICE_IDMATRIX_DEVICE_NAME
MATRIX_<ACCOUNT_ID>_HOMESERVERMATRIX_<ACCOUNT_ID>_ACCESS_TOKENMATRIX_<ACCOUNT_ID>_USER_IDMATRIX_<ACCOUNT_ID>_PASSWORDMATRIX_<ACCOUNT_ID>_DEVICE_IDMATRIX_<ACCOUNT_ID>_DEVICE_NAME
ops:
MATRIX_OPS_HOMESERVERMATRIX_OPS_ACCESS_TOKEN
ops-bot, sử dụng:
MATRIX_OPS_BOT_HOMESERVERMATRIX_OPS_BOT_ACCESS_TOKEN
Ví dụ cấu hình
Đây là cấu hình cơ bản thực tế với ghép đôi DM, danh sách cho phép phòng và E2EE được bật:Thiết lập E2EE
Phòng bot-to-bot
Mặc định, các tin nhắn Matrix từ các tài khoản Matrix OpenClaw khác được cấu hình sẽ bị bỏ qua. Sử dụngallowBots khi bạn muốn có lưu lượng Matrix giữa các agent:
allowBots: truechấp nhận tin nhắn từ các tài khoản bot Matrix khác trong các phòng và DM được phép.allowBots: "mentions"chỉ chấp nhận những tin nhắn đó khi chúng đề cập rõ ràng đến bot này trong phòng. DM vẫn được phép.groups.<room>.allowBotsghi đè cài đặt cấp tài khoản cho một phòng.- OpenClaw vẫn bỏ qua các tin nhắn từ cùng một ID người dùng Matrix để tránh vòng lặp tự trả lời.
- Matrix không cung cấp cờ bot gốc ở đây; OpenClaw coi “do bot tạo ra” là “được gửi bởi một tài khoản Matrix khác được cấu hình trên gateway OpenClaw này”.
channels.matrix.accounts với thông tin xác thực cho từng tài khoản và name tùy chọn. Xem Tham chiếu cấu hình cho mẫu chia sẻ.
Chẩn đoán khởi tạo chi tiết:
verify đều ngắn gọn theo mặc định (bao gồm cả ghi nhật ký SDK nội bộ yên tĩnh) và chỉ hiển thị chẩn đoán chi tiết với --verbose.
Sử dụng --json để có đầu ra đầy đủ có thể đọc được bằng máy khi viết script.
Trong các thiết lập nhiều tài khoản, các lệnh CLI Matrix sử dụng tài khoản Matrix mặc định ngầm định trừ khi bạn truyền --account <id>.
Nếu bạn cấu hình nhiều tài khoản có tên, hãy đặt channels.matrix.defaultAccount trước hoặc các thao tác CLI ngầm định đó sẽ dừng lại và yêu cầu bạn chọn tài khoản rõ ràng.
Sử dụng --account bất cứ khi nào bạn muốn xác minh hoặc các thao tác thiết bị nhắm mục tiêu vào một tài khoản có tên rõ ràng:
channels.matrix.accounts.assistant.encryption.
Ý nghĩa của “đã xác minh”
OpenClaw coi thiết bị Matrix này là đã xác minh chỉ khi nó được xác minh bởi danh tính ký chéo của bạn. Trong thực tế,openclaw matrix verify status --verbose hiển thị ba tín hiệu tin cậy:
Locally trusted: thiết bị này chỉ được tin cậy bởi client hiện tạiCross-signing verified: SDK báo cáo thiết bị đã được xác minh thông qua ký chéoSigned by owner: thiết bị được ký bởi khóa tự ký của bạn
Verified by owner trở thành yes chỉ khi có xác minh ký chéo hoặc ký bởi chủ sở hữu.
Tin cậy cục bộ tự nó không đủ để OpenClaw coi thiết bị là đã xác minh hoàn toàn.
Những gì khởi tạo làm
openclaw matrix verify bootstrap là lệnh sửa chữa và thiết lập cho các tài khoản Matrix được mã hóa.
Nó thực hiện tất cả các bước sau theo thứ tự:
- khởi tạo lưu trữ bí mật, tái sử dụng khóa khôi phục hiện có khi có thể
- khởi tạo ký chéo và tải lên các khóa ký chéo công khai bị thiếu
- cố gắng đánh dấu và ký chéo thiết bị hiện tại
- tạo một bản sao lưu khóa phòng phía máy chủ mới nếu chưa có
m.login.dummy, sau đó với m.login.password khi channels.matrix.password được cấu hình.
Sử dụng --force-reset-cross-signing chỉ khi bạn muốn loại bỏ danh tính ký chéo hiện tại và tạo một danh tính mới.
Nếu bạn muốn loại bỏ bản sao lưu khóa phòng hiện tại và bắt đầu một cơ sở sao lưu mới cho các tin nhắn trong tương lai, sử dụng openclaw matrix verify backup reset --yes.
Chỉ làm điều này khi bạn chấp nhận rằng lịch sử mã hóa cũ không thể khôi phục sẽ không thể truy cập được.
Cơ sở sao lưu mới
Nếu bạn muốn giữ cho các tin nhắn mã hóa trong tương lai hoạt động và chấp nhận mất lịch sử cũ không thể khôi phục, hãy chạy các lệnh này theo thứ tự:--account <id> vào mỗi lệnh khi bạn muốn nhắm mục tiêu vào một tài khoản Matrix có tên rõ ràng.
Hành vi khởi động
Khiencryption: true, Matrix mặc định startupVerification là "if-unverified".
Khi khởi động, nếu thiết bị này vẫn chưa được xác minh, Matrix sẽ yêu cầu tự xác minh trong một client Matrix khác,
bỏ qua các yêu cầu trùng lặp trong khi một yêu cầu đã đang chờ xử lý, và áp dụng một khoảng thời gian chờ trước khi thử lại sau khi khởi động lại.
Các lần thử yêu cầu thất bại sẽ thử lại sớm hơn so với các lần tạo yêu cầu thành công theo mặc định.
Đặt startupVerification: "off" để tắt các yêu cầu khởi động tự động, hoặc điều chỉnh startupVerificationCooldownHours
nếu bạn muốn một khoảng thời gian thử lại ngắn hơn hoặc dài hơn.
Khởi động cũng thực hiện một lần khởi tạo mã hóa bảo thủ tự động.
Lần khởi tạo đó cố gắng tái sử dụng lưu trữ bí mật hiện tại và danh tính ký chéo trước tiên, và tránh đặt lại ký chéo trừ khi bạn chạy một luồng sửa chữa khởi tạo rõ ràng.
Nếu khởi động phát hiện trạng thái khởi tạo bị hỏng và channels.matrix.password được cấu hình, OpenClaw có thể thử một đường sửa chữa nghiêm ngặt hơn.
Nếu thiết bị hiện tại đã được ký bởi chủ sở hữu, OpenClaw sẽ giữ lại danh tính đó thay vì tự động đặt lại nó.
Nâng cấp từ plugin Matrix công khai trước đó:
- OpenClaw tự động tái sử dụng cùng tài khoản Matrix, access token và danh tính thiết bị khi có thể.
- Trước khi bất kỳ thay đổi di chuyển Matrix nào có thể thực hiện được, OpenClaw tạo hoặc tái sử dụng một bản sao lưu dưới
~/Backups/openclaw-migrations/. - Nếu bạn sử dụng nhiều tài khoản Matrix, hãy đặt
channels.matrix.defaultAccounttrước khi nâng cấp từ bố cục lưu trữ phẳng cũ để OpenClaw biết tài khoản nào nên nhận trạng thái kế thừa chia sẻ đó. - Nếu plugin trước đó lưu trữ một khóa giải mã sao lưu khóa phòng Matrix cục bộ, khởi động hoặc
openclaw doctor --fixsẽ nhập nó vào luồng khóa khôi phục mới tự động. - Nếu access token Matrix thay đổi sau khi di chuyển đã được chuẩn bị, khởi động bây giờ quét các gốc lưu trữ hash token anh em cho trạng thái khôi phục kế thừa đang chờ trước khi từ bỏ trạng thái Matrix trống.
- Nếu access token Matrix thay đổi sau đó cho cùng tài khoản, máy chủ, và người dùng, OpenClaw bây giờ ưu tiên tái sử dụng gốc lưu trữ hiện có hoàn chỉnh nhất thay vì bắt đầu từ một thư mục trạng thái Matrix trống.
- Vào lần khởi động gateway tiếp theo, các khóa phòng đã sao lưu được khôi phục tự động vào cửa hàng mã hóa mới.
- Nếu plugin cũ có các khóa phòng chỉ cục bộ chưa bao giờ được sao lưu, OpenClaw sẽ cảnh báo rõ ràng. Những khóa đó không thể được xuất tự động từ cửa hàng mã hóa rust trước đó, vì vậy một số lịch sử mã hóa cũ có thể vẫn không thể truy cập được cho đến khi được khôi phục thủ công.
- Xem Di chuyển Matrix để biết luồng nâng cấp đầy đủ, giới hạn, lệnh khôi phục và các thông báo di chuyển phổ biến.
~/.openclaw/matrix/accounts/<account>/<homeserver>__<user>/<token-hash>/.
Thư mục đó chứa cửa hàng đồng bộ (bot-storage.json), cửa hàng mã hóa (crypto/),
tệp khóa khôi phục (recovery-key.json), ảnh chụp nhanh IndexedDB (crypto-idb-snapshot.json),
ràng buộc luồng (thread-bindings.json), và trạng thái xác minh khởi động (startup-verification.json)
khi các tính năng đó đang được sử dụng.
Khi token thay đổi nhưng danh tính tài khoản vẫn giữ nguyên, OpenClaw tái sử dụng gốc tốt nhất hiện có
cho bộ ba tài khoản/máy chủ/người dùng đó để trạng thái đồng bộ trước đó, trạng thái mã hóa, ràng buộc luồng,
và trạng thái xác minh khởi động vẫn hiển thị.
Mô hình cửa hàng mã hóa Node
Matrix E2EE trong plugin này sử dụng đường mã hóa Rustmatrix-js-sdk chính thức trong Node.
Đường này mong đợi sự tồn tại của IndexedDB khi bạn muốn trạng thái mã hóa tồn tại qua các lần khởi động lại.
Hiện tại OpenClaw cung cấp điều đó trong Node bằng cách:
- sử dụng
fake-indexeddblàm API IndexedDB giả lập mà SDK mong đợi - khôi phục nội dung IndexedDB mã hóa Rust từ
crypto-idb-snapshot.jsontrướcinitRustCrypto - lưu trữ nội dung IndexedDB đã cập nhật trở lại
crypto-idb-snapshot.jsonsau khi khởi tạo và trong runtime
- thêm hỗ trợ SecretRef cho vật liệu khóa Matrix bền vững để khóa khôi phục và các bí mật mã hóa cửa hàng liên quan có thể được lấy từ các nhà cung cấp bí mật OpenClaw thay vì chỉ từ các tệp cục bộ
Thông báo xác minh tự động
Matrix hiện đăng các thông báo vòng đời xác minh trực tiếp vào phòng xác minh DM nghiêm ngặt dưới dạng tin nhắnm.notice.
Điều đó bao gồm:
- thông báo yêu cầu xác minh
- thông báo sẵn sàng xác minh (với hướng dẫn “Xác minh bằng emoji” rõ ràng)
- thông báo bắt đầu và hoàn thành xác minh
- chi tiết SAS (emoji và số thập phân) khi có sẵn
NO_REPLY.
Vệ sinh thiết bị
Các thiết bị Matrix do OpenClaw quản lý cũ có thể tích tụ trên tài khoản và làm cho việc tin tưởng phòng mã hóa trở nên khó hiểu hơn. Liệt kê chúng với:Sửa chữa phòng trực tiếp
Nếu trạng thái tin nhắn trực tiếp bị mất đồng bộ, OpenClaw có thể kết thúc với các ánh xạm.direct cũ chỉ vào các phòng solo cũ thay vì DM trực tiếp. Kiểm tra ánh xạ hiện tại cho một đối tác với:
- nó ưu tiên một DM 1:1 nghiêm ngặt đã được ánh xạ trong
m.direct - nếu không, nó quay lại bất kỳ DM 1:1 nghiêm ngặt nào hiện đang tham gia với người dùng đó
- nếu không có DM nào khỏe mạnh tồn tại, nó tạo một phòng trực tiếp mới và viết lại
m.directđể chỉ vào nó
Luồng
Matrix hỗ trợ các luồng Matrix gốc cho cả trả lời tự động và gửi công cụ tin nhắn.threadReplies: "off"giữ các trả lời ở cấp cao nhất.threadReplies: "inbound"trả lời trong một luồng chỉ khi tin nhắn đến đã ở trong luồng đó.threadReplies: "always"giữ các trả lời phòng trong một luồng bắt nguồn từ tin nhắn kích hoạt.- Các tin nhắn luồng đến bao gồm tin nhắn gốc của luồng làm ngữ cảnh agent bổ sung.
- Gửi công cụ tin nhắn bây giờ tự động kế thừa luồng Matrix hiện tại khi mục tiêu là cùng một phòng, hoặc cùng một mục tiêu người dùng DM, trừ khi một
threadIdrõ ràng được cung cấp. - Các ràng buộc luồng runtime được hỗ trợ cho Matrix.
/focus,/unfocus,/agents,/session idle,/session max-age, và/acp spawnràng buộc luồng bây giờ hoạt động trong các phòng và DM Matrix. /focusphòng/DM Matrix cấp cao nhất tạo một luồng Matrix mới và ràng buộc nó với phiên mục tiêu khithreadBindings.spawnSubagentSessions=true.- Chạy
/focushoặc/acp spawn --thread herebên trong một luồng Matrix hiện có ràng buộc luồng hiện tại thay thế.
Cấu hình Ràng buộc Luồng
Matrix kế thừa các mặc định toàn cầu từsession.threadBindings, và cũng hỗ trợ ghi đè theo kênh:
threadBindings.enabledthreadBindings.idleHoursthreadBindings.maxAgeHoursthreadBindings.spawnSubagentSessionsthreadBindings.spawnAcpSessions
- Đặt
threadBindings.spawnSubagentSessions: trueđể cho phép/focuscấp cao nhất tạo và ràng buộc các luồng Matrix mới. - Đặt
threadBindings.spawnAcpSessions: trueđể cho phép/acp spawn --thread auto|hereràng buộc các phiên ACP với các luồng Matrix.
Phản ứng
Matrix hỗ trợ các hành động phản ứng ra ngoài, thông báo phản ứng đến và phản ứng xác nhận đến.- Công cụ phản ứng ra ngoài được kiểm soát bởi
channels["matrix"].actions.reactions. reactthêm một phản ứng vào một sự kiện Matrix cụ thể.reactionsliệt kê tóm tắt phản ứng hiện tại cho một sự kiện Matrix cụ thể.emoji=""xóa các phản ứng của tài khoản bot trên sự kiện đó.remove: truechỉ xóa phản ứng emoji được chỉ định từ tài khoản bot.
channels["matrix"].accounts.<accountId>.ackReactionchannels["matrix"].ackReactionmessages.ackReaction- dự phòng emoji danh tính agent
channels["matrix"].accounts.<accountId>.ackReactionScopechannels["matrix"].ackReactionScopemessages.ackReactionScope
channels["matrix"].accounts.<accountId>.reactionNotificationschannels["matrix"].reactionNotifications- mặc định:
own
reactionNotifications: "own"chuyển tiếp các sự kiệnm.reactionđược thêm vào khi chúng nhắm mục tiêu các tin nhắn Matrix do bot tạo ra.reactionNotifications: "off"tắt các sự kiện hệ thống phản ứng.- Việc xóa phản ứng vẫn chưa được tổng hợp thành các sự kiện hệ thống vì Matrix hiển thị chúng dưới dạng các chỉnh sửa, không phải là các xóa
m.reactionđộc lập.
Ví dụ về chính sách DM và phòng
Ví dụ nhiều tài khoản
channels.matrix cấp cao nhất hoạt động như mặc định cho các tài khoản có tên trừ khi một tài khoản ghi đè chúng.
Đặt defaultAccount khi bạn muốn OpenClaw ưu tiên một tài khoản Matrix có tên cho định tuyến ngầm định, thăm dò và các thao tác CLI.
Nếu bạn cấu hình nhiều tài khoản có tên, hãy đặt defaultAccount hoặc truyền --account <id> cho các lệnh CLI dựa vào lựa chọn tài khoản ngầm định.
Truyền --account <id> cho openclaw matrix verify ... và openclaw matrix devices ... khi bạn muốn ghi đè lựa chọn ngầm định đó cho một lệnh.
Máy chủ riêng/LAN
Mặc định, OpenClaw chặn các máy chủ Matrix riêng/nội bộ để bảo vệ SSRF trừ khi bạn rõ ràng chọn tham gia cho từng tài khoản. Nếu máy chủ của bạn chạy trên localhost, một IP LAN/Tailscale, hoặc một tên máy chủ nội bộ, bậtallowPrivateNetwork cho tài khoản Matrix đó:
http://matrix.example.org:8008 vẫn bị chặn. Ưu tiên https:// bất cứ khi nào có thể.
Giải quyết mục tiêu
Matrix chấp nhận các dạng mục tiêu này ở bất kỳ đâu OpenClaw yêu cầu bạn cho một phòng hoặc mục tiêu người dùng:- Người dùng:
@user:server,user:@user:server, hoặcmatrix:user:@user:server - Phòng:
!room:server,room:!room:server, hoặcmatrix:room:!room:server - Bí danh:
#alias:server,channel:#alias:server, hoặcmatrix:channel:#alias:server
- Tra cứu người dùng truy vấn thư mục người dùng Matrix trên máy chủ đó.
- Tra cứu phòng chấp nhận ID phòng và bí danh rõ ràng trực tiếp, sau đó quay lại tìm kiếm tên phòng đã tham gia cho tài khoản đó.
- Tra cứu tên phòng đã tham gia là nỗ lực tốt nhất. Nếu một tên phòng không thể được giải quyết thành ID hoặc bí danh, nó sẽ bị bỏ qua bởi quá trình giải quyết danh sách cho phép khi chạy.
Tham chiếu cấu hình
enabled: bật hoặc tắt kênh.name: nhãn tùy chọn cho tài khoản.defaultAccount: ID tài khoản ưu tiên khi nhiều tài khoản Matrix được cấu hình.homeserver: URL máy chủ, ví dụhttps://matrix.example.org.allowPrivateNetwork: cho phép tài khoản Matrix này kết nối với các máy chủ riêng/nội bộ. Bật điều này khi máy chủ giải quyết đếnlocalhost, một IP LAN/Tailscale, hoặc một máy chủ nội bộ nhưmatrix-synapse.userId: ID người dùng Matrix đầy đủ, ví dụ@bot:example.org.accessToken: access token cho xác thực dựa trên token.password: mật khẩu cho đăng nhập dựa trên mật khẩu.deviceId: ID thiết bị Matrix rõ ràng.deviceName: tên hiển thị thiết bị cho đăng nhập bằng mật khẩu.avatarUrl: URL avatar tự lưu trữ cho đồng bộ hồ sơ và cập nhậtset-profile.initialSyncLimit: giới hạn sự kiện đồng bộ khởi động.encryption: bật E2EE.allowlistOnly: buộc hành vi chỉ danh sách cho phép cho DM và phòng.groupPolicy:open,allowlist, hoặcdisabled.groupAllowFrom: danh sách cho phép ID người dùng cho lưu lượng phòng.- Các mục
groupAllowFromnên là ID người dùng Matrix đầy đủ. Các tên không được giải quyết bị bỏ qua khi chạy. replyToMode:off,first, hoặcall.threadReplies:off,inbound, hoặcalways.threadBindings: ghi đè theo kênh cho định tuyến và vòng đời phiên ràng buộc luồng.startupVerification: chế độ yêu cầu tự xác minh tự động khi khởi động (if-unverified,off).startupVerificationCooldownHours: thời gian chờ trước khi thử lại các yêu cầu xác minh khởi động tự động.textChunkLimit: kích thước đoạn tin nhắn gửi ra.chunkMode:lengthhoặcnewline.responsePrefix: tiền tố tin nhắn tùy chọn cho các trả lời gửi ra.ackReaction: ghi đè phản ứng xác nhận tùy chọn cho kênh/tài khoản này.ackReactionScope: ghi đè phạm vi phản ứng xác nhận tùy chọn (group-mentions,group-all,direct,all,none,off).reactionNotifications: chế độ thông báo phản ứng đến (own,off).mediaMaxMb: giới hạn kích thước media gửi ra tính bằng MB.autoJoin: chính sách tự động tham gia lời mời (always,allowlist,off). Mặc định:off.autoJoinAllowlist: các phòng/bí danh được phép khiautoJoinlàallowlist. Các mục bí danh được giải quyết thành ID phòng trong quá trình xử lý lời mời; OpenClaw không tin tưởng trạng thái bí danh được tuyên bố bởi phòng được mời.dm: khối chính sách DM (enabled,policy,allowFrom).- Các mục
dm.allowFromnên là ID người dùng Matrix đầy đủ trừ khi bạn đã giải quyết chúng thông qua tra cứu thư mục trực tiếp. accounts: ghi đè theo tài khoản có tên. Các giá trịchannels.matrixcấp cao nhất hoạt động như mặc định cho các mục này.groups: bản đồ chính sách theo phòng. Ưu tiên ID phòng hoặc bí danh; các tên phòng không được giải quyết bị bỏ qua khi chạy. Danh tính phiên/nhóm sử dụng ID phòng ổn định sau khi giải quyết, trong khi các nhãn có thể đọc được vẫn đến từ tên phòng.rooms: bí danh cũ chogroups.actions: kiểm soát công cụ theo hành động (messages,reactions,pins,profile,memberInfo,channelInfo,verification).