返回顶部
m

matrix-server-managementMatrix服务器管理

Manage the Tuwunel Matrix Homeserver (register users, create rooms, manage room membership, upload files to media server). Use only for explicit standalone admin requests — Worker and project creation handle Matrix operations internally via their own scripts. Also use this skill whenever you need to send a file to the admin (upload via media API, then send as m.file message).

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
92
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

matrix-server-management

Matrix 服务器管理

概述

本技能允许您管理 Tuwunel Matrix 家庭服务器。Tuwunel 是一个 conduwuit 分支,运行在 http://127.0.0.1:6167。直接访问服务器(不通过 Higress 网关)。

环境变量

以下环境变量已预配置在 Manager 容器中:

bash

核心配置(由 hiclaw-install.sh 设置)


HICLAWMATRIXDOMAIN # Matrix 服务器域名(例如 matrix-local.hiclaw.io:8080)
HICLAWADMINUSER # 管理员用户名
HICLAWREGISTRATIONTOKEN # 用于注册新 Matrix 用户的令牌
HICLAWMANAGERPASSWORD # Manager 的 Matrix 密码(用于登录)

无需设置默认值——这些变量始终在容器环境中可用。

用户注册

Tuwunel 使用单步注册,需要注册令牌(无 UIAA 流程)。

注册新用户

bash
curl -X POST http://127.0.0.1:6167/_matrix/client/v3/register \
-H Content-Type: application/json \
-d {
username: <用户名>,
password: <密码>,
auth: {
type: m.login.registration_token,
token: ${HICLAWREGISTRATIONTOKEN}
}
}

响应包含 userid 和 accesstoken。

登录(获取访问令牌)

bash
curl -X POST http://127.0.0.1:6167/_matrix/client/v3/login \
-H Content-Type: application/json \
-d {
type: m.login.password,
identifier: {type: m.id.user, user: <用户名>},
password: <密码>
}

响应:{accesstoken: ..., userid: @<用户名>:<域名>, ...}

房间管理

创建房间(三方:人类 + Manager + Worker)

创建 Worker 时,始终创建一个包含人类管理员、Manager 和 Worker 的房间。使用 trustedprivatechat 预设,使所有被邀请的成员自动加入(无需接受邀请),并覆盖权限级别,使 Admin 和 Manager 获得 100(管理员权限),而 Worker 获得 0(普通用户):

bash
MANAGERTOKEN=access_token>
curl -X POST http://127.0.0.1:6167/_matrix/client/v3/createRoom \
-H Authorization: Bearer ${MANAGER_TOKEN} \
-H Content-Type: application/json \
-d {
name: Worker: ,
topic: 的通信频道,
invite: [
@${HICLAWADMINUSER}:${HICLAWMATRIXDOMAIN},
@NAME>:${HICLAW
MATRIX_DOMAIN}
],
preset: trustedprivatechat,
powerlevelcontent_override: {
users: {
@manager:${HICLAWMATRIXDOMAIN}: 100,
@${HICLAWADMINUSER}:${HICLAWMATRIXDOMAIN}: 100,
@NAME>:${HICLAWMATRIX_DOMAIN}: 0
}
}
}

响应:{room_id: !:<域名>}

权限级别: trustedprivatechat 预设使所有被邀请的成员自动加入(无需接受邀请)。powerlevelcontent_override 确保 Admin(100)和 Manager(100)拥有管理员权限,而 Worker 明确设置为 0(普通用户)。

在房间中发送消息

简单消息(无提及):
bash
curl -X PUT http://127.0.0.1:6167/_matrix/client/v3/rooms/<房间ID>/send/m.room.message/$(date +%s) \
-H Authorization: Bearer ${MANAGER_TOKEN} \
-H Content-Type: application/json \
-d {
msgtype: m.text,
body: 您好,这是一条通用公告...
}

发送带 @提及 的消息(对 Worker 至关重要)

重要提示:在群组房间中向 Worker 发送消息时,必须包含 m.mentions 字段,否则 Worker 无法收到消息。Worker 已启用 requireMention: true,这意味着它们只处理正确 @提及 它们的消息。

bash

提及单个用户


curl -X PUT http://127.0.0.1:6167/_matrix/client/v3/rooms/<房间ID>/send/m.room.message/$(date +%s) \
-H Authorization: Bearer ${MANAGER_TOKEN} \
-H Content-Type: application/json \
-d {
msgtype: m.text,
body: @NAME>:${HICLAWMATRIX_DOMAIN} 您的任务分配:...,
m.mentions: {
userids: [@NAME>:${HICLAWMATRIXDOMAIN}]
}
}

bash

提及多个用户


curl -X PUT http://127.0.0.1:6167/_matrix/client/v3/rooms/<房间ID>/send/m.room.message/$(date +%s) \
-H Authorization: Bearer ${MANAGER_TOKEN} \
-H Content-Type: application/json \
-d {
msgtype: m.text,
body: @alice:${HICLAWMATRIXDOMAIN} 和 @bob:${HICLAWMATRIXDOMAIN} 请协调完成此任务...,
m.mentions: {
user_ids: [
@alice:${HICLAWMATRIXDOMAIN},
@bob:${HICLAWMATRIXDOMAIN}
]
}
}

@提及 规则:

  • - m.mentions 中的 userids 数组必须包含完整的 Matrix 用户 ID(例如 @alice:matrix-local.hiclaw.io:8080)
  • 正文文本中的用户 ID 和 m.mentions.userids 中的用户 ID 必须完全匹配
  • 如果没有 m.mentions,Worker 会收到消息但不会处理(将被忽略)
  • 这遵循 Matrix MSC3952(意向性提及)规范

上传文件(媒体上传)

用于向管理员发送文件——任务输出工件、生成的报告、配置导出、日志文件等。

bash
curl -X POST http://127.0.0.1:6167/_matrix/media/v3/upload?filename=<文件名> \
-H Authorization: Bearer ${MANAGER_TOKEN} \
-H Content-Type: application/octet-stream \
--data-binary @/path/to/file

响应:{content_uri: mxc://<服务器>/<媒体ID>}

上传后,使用 m.file(或 m.image / m.text)消息类型将 mxc:// URI 作为 Matrix 消息发送给管理员:

bash
curl -X PUT http://127.0.0.1:6167/_matrix/client/v3/rooms/<房间ID>/send/m.room.message/$(date +%s) \
-H Authorization: Bearer ${MANAGER_TOKEN} \
-H Content-Type: application/json \
-d {
msgtype: m.file,
body: <文件名>,
url: mxc://<服务器>/<媒体ID>
}

然后在对话中回复:

MEDIA: mxc://<服务器>/<媒体ID>

注意:

  • - 纯文本文件使用 Content-Type: text/plain,任何二进制文件使用 application/octet-stream 作为安全后备
  • mxc:// URI 是永久性的,所有房间成员可通过 Matrix 客户端(Element Web)访问

列出已加入的房间

bash
curl -s http://127.0.0.1:6167/matrix/client/v3/joinedrooms \
-H Authorization: Bearer ${MANAGER_TOKEN} | jq

获取房间消息

bash
curl -s http://127.0.0.1:6167/_matrix/client

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 matrix-server-management-1776123910 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 matrix-server-management-1776123910 技能

通过命令行安装

skillhub install matrix-server-management-1776123910

下载

⬇ 下载 matrix-server-management v1.0.0(免费)

文件大小: 3.24 KB | 发布时间: 2026-4-14 13:12

v1.0.0 最新 2026-4-14 13:12
Initial release of matrix-server-management skill.

- Provides admin tools for managing the Tuwunel Matrix homeserver: register users, create rooms, manage room membership, upload files via media API.
- Clearly documents required environment variables (pre-set in Manager container).
- Explains worker, admin, and room permissions, including power level overrides for each role.
- Documents how to send messages, including support for Matrix MSC3952 @mentions (critical for Worker functionality).
- Details media upload process and how to share files with the admin using Matrix file messages.
- Includes examples for key actions such as user registration, room creation, sending messages (with and without mentions), file upload, listing rooms, and fetching room messages.
- Emphasizes operational constraints: use only for explicit admin requests, as workers/projects trigger their own Matrix operations internally.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部