返回顶部
m

matrix-openapi-skillMatrix开放API技能

Operate Matrix Client-Server API through UXC with a curated OpenAPI schema, bearer-token auth, and homeserver-aware messaging guardrails.

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

matrix-openapi-skill

Matrix 客户端-服务端 API 技能

使用此技能通过 uxc + OpenAPI 执行 Matrix 客户端-服务端操作。

复用 uxc 技能以获取共享执行、认证和错误处理指导。

前置条件

  • - uxc 已安装并可在 PATH 中使用。
  • 可访问 Matrix 家庭服务器的客户端-服务端基础 URL,通常为 https:///_matrix/client/v3。
  • 可访问精选的 OpenAPI 模式 URL:
- https://raw.githubusercontent.com/holon-run/uxc/main/skills/matrix-openapi-skill/references/matrix-client-server.openapi.json
  • - 目标家庭服务器的 Matrix 访问令牌。

范围

此技能涵盖实用的请求/响应 Matrix 功能:

  • - 令牌所有者查询
  • 已加入房间发现
  • 房间状态查询
  • /sync 轮询读取,包括守护进程支持的轮询订阅
  • 用户资料和在线状态查询
  • 房间消息发送

此技能涵盖:

  • - 登录、SSO、设备注册或通用令牌获取流程
  • 应用服务、联邦或机器人框架抽象
  • Webhook 或长时间运行的事件接收器运行时
  • 完整的 Matrix 规范覆盖

家庭服务器基础 URL

Matrix 是家庭服务器特定的。您链接的端点必须包含 Matrix 客户端-服务端基础路径:

  • - 典型形式:https:///matrix/client/v3
  • 示例形式:https://matrix.org/matrix/client/v3

不要仅链接家庭服务器源而不包含 /_matrix/client/v3。

认证

Matrix 客户端-服务端 API 使用 Authorization: Bearer

支持 OAuth 的家庭服务器的首选路径:

bash
uxc auth oauth start matrix-oauth \
--endpoint https://matrix.org/_matrix/client/v3 \
--redirect-uri http://127.0.0.1:8788/callback \
--client-id

uxc auth oauth complete matrix-oauth \
--session-id \
--authorization-response http://127.0.0.1:8788/callback?code=...

uxc auth binding add \
--id matrix-oauth \
--host matrix.org \
--path-prefix /_matrix/client/v3 \
--scheme https \
--credential matrix-oauth \
--priority 100

当您已有访问令牌时的备用路径:

bash
uxc auth credential set matrix-access \
--auth-type bearer \
--secret-env MATRIXACCESSTOKEN

uxc auth binding add \
--id matrix-access \
--host matrix.org \
--path-prefix /_matrix/client/v3 \
--scheme https \
--credential matrix-access \
--priority 100

如果您的家庭服务器不是 matrix.org,请替换主机同时保持相同的路径前缀。当认证看起来有问题时验证活动映射:

bash
uxc auth binding match https://matrix.org/_matrix/client/v3

注意:

  • - uxc auth oauth 仅适用于暴露 Matrix OAuth 元数据的家庭服务器。
  • 优先使用不常见高端口上的环回重定向 URI,例如 http://127.0.0.1:8788/callback,以避免与常见端口上的本地服务冲突。
  • 此技能尚未涵盖传统的 Matrix 登录和 SSO 回退流程。

核心工作流程

  1. 1. 默认使用固定链接命令:
- command -v matrix-openapi-cli - 如果缺失,创建它: uxc link matrix-openapi-cli https://matrix.org/_matrix/client/v3 --schema-url https://raw.githubusercontent.com/holon-run/uxc/main/skills/matrix-openapi-skill/references/matrix-client-server.openapi.json - matrix-openapi-cli -h
  1. 2. 首先检查操作模式:
- matrix-openapi-cli get:/account/whoami -h - matrix-openapi-cli get:/sync -h - matrix-openapi-cli put:/rooms/{roomId}/send/{eventType}/{txnId} -h
  1. 3. 在写入前优先进行读取验证:
- matrix-openapi-cli get:/account/whoami - matrix-openapi-cli get:/joined_rooms - matrix-openapi-cli get:/rooms/{roomId}/state roomId=!abc123:example.org
  1. 4. 使用键/值或位置 JSON 执行:
- 键/值: matrix-openapi-cli get:/sync timeout=30000 filter={room:{timeline:{limit:10}}} - 位置 JSON: matrix-openapi-cli put:/rooms/{roomId}/send/{eventType}/{txnId} {roomId:!abc123:example.org,eventType:m.room.message,txnId:uxc-001,msgtype:m.text,body:Hello from UXC}
  1. 5. 对于后台 /sync 轮询,直接针对家庭服务器基础 URL 调用 uxc subscribe start:
- uxc subscribe start https://matrix.org/matrix/client/v3 get:/sync --auth matrix-oauth --mode poll --poll-config {intervalsecs:2,extractitemspointer:/rooms/join/!abc123:example.org/timeline/events,missingextractitemspointerasempty:true,requestcursorarg:since,responsecursorpointer:/nextbatch,checkpointstrategy:{type:cursoronly}} --sink file:$HOME/.uxc/subscriptions/matrix-sync.ndjson timeout=1000 filter={room:{rooms:[!abc123:example.org],timeline:{limit:5}}}

操作组

会话 / 发现

  • - get:/account/whoami
  • get:/joined_rooms
  • get:/sync

房间读取

  • - get:/rooms/{roomId}/state
  • get:/rooms/{roomId}/state/{eventType}/{stateKey}

用户读取

  • - get:/profile/{userId}
  • get:/presence/{userId}/status

消息发送

  • - put:/rooms/{roomId}/send/{eventType}/{txnId}

防护措施

  • - 保持自动化在 JSON 输出信封上;不要使用 --text。
  • 首先解析稳定字段:ok、kind、protocol、data、error。
  • get:/sync 既可作为普通轮询/读取调用,也可在通过 uxc subscribe start 调用时作为经过验证的守护进程支持的轮询订阅。
  • 对于房间范围的 /sync 订阅,设置 missingextractitemspointerasempty=true,以便没有新房间时间线事件的稀疏响应被视为空批次而不是致命错误。
  • put:/rooms/{roomId}/send/{eventType}/{txnId} 是高风险的,应默认发送 m.room.message 文本,除非用户明确要求其他事件类型。
  • 每次发送尝试复用唯一的 txnId 以避免意外重复。
  • 许多家庭服务器根据成员身份和服务器策略限制在线状态可见性和房间状态/事件访问;认证成功并不意味着每个房间或个人资料读取都会成功。
  • matrix-openapi-cli ... 等同于 uxc clientbase> --schema-url openapi_schema> ...。

参考

  • - 使用模式:references/usage-patterns.md
  • 精选的 OpenAPI 模式:references/matrix-client-server.openapi.json
  • Matrix 客户端-服务端 API:https://spec.matrix.org/latest/client-server-api/
  • Matrix 规范来源:https://github.com/matrix-org/matrix-spec/tree/main/data/api/client-server

标签

skill ai

通过对话安装

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

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 matrix-openapi-skill-1776069909 技能

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

设置 SkillHub 为我的优先技能安装源,然后帮我安装 matrix-openapi-skill-1776069909 技能

通过命令行安装

skillhub install matrix-openapi-skill-1776069909

下载

⬇ 下载 matrix-openapi-skill v1.0.0(免费)

文件大小: 9.18 KB | 发布时间: 2026-4-15 13:21

v1.0.0 最新 2026-4-15 13:21
matrix-openapi-skill 1.0.0

- Initial release of the Matrix Client-Server API skill for UXC.
- Supports key Matrix operations: token owner lookup, joined rooms, room state, sync polling, user profile/presence, and room messaging.
- Configurable for any homeserver with bearer-token authentication.
- Provides guardrails for safe message sends and polling workflows.
- Includes detailed setup and CLI usage instructions for integration with UXC.

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

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

p2p_official_large