如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Matrix用户验证服务是一个基于Open ID Connect令牌验证用户详情的服务。它主要用于验证Matrix用户的身份信息及房间成员资格,支持通过Open ID令牌确认用户身份,并检查用户是否为指定房间的成员,同时返回相关权限级别信息。
bashnpm install
将默认配置文件 .env.default 复制为 .env 并根据需要修改:
## 必选配置 # Homeserver客户端API管理员令牌(仅Synapse) # 用于验证房间成员资格 UVS_ACCESS_TOKEN=foobar # Homeserver客户端API URL UVS_HOMESERVER_URL=https://matrix.org # 禁用homeserver非私有IP范围检查。例如,若homeserver域名解析为私有IP,设为`true` UVS_DISABLE_IP_BLACKLIST=true ## 可选配置 # 保护API的认证令牌 # 若设置此值,调用API端点时需添加请求头"Authorization: Bearer changeme" UVS_AUTH_TOKEN=changeme # 用于验证OpenID令牌的Matrix服务器名称。详见下文说明 # 默认为空,意味着将针对令牌中传递的任何Matrix服务器名称进行验证 UVS_OPENID_VERIFY_SERVER_NAME=matrix.org # 服务监听地址 UVS_LISTEN_ADDRESS=127.0.0.1 # 服务监听端口 UVS_PORT=3000 # 日志级别,默认为'info' # 可选值参考:https://github.com/winstonjs/winston#logging-levels UVS_LOG_LEVEL=info
OpenID令牌验证
UVS可运行在单homeserver模式或配置为信任任何homeserver的OpenID令牌。默认情况下,信任令牌中提供的任何Matrix服务器名称。
若要禁用此功能并仅信任来自单个Matrix homeserver的OpenID令牌,可在 UVS_OPENID_VERIFY_SERVER_NAME 变量中设置该homeserver的Matrix服务器名称。注意,这是homeserver的服务器名称,而非客户端或联邦API的域名。
在两种模式下,UserInfo端点均通过常规服务器名称解析方式确定,因此即使homeserver未进行联邦,也可能需要 /.well-known/matrix/server 文件。若homeserver配置未设置 federation 监听器,可在与 client 监听器相同的端口上添加 openid 监听器。
房间成员资格验证目前仍限制为通过 UVS_HOMESERVER_CLIENT_API_URL 配置的单个homeserver客户端API进行。
认证方式
若设置了 UVS_AUTH_TOKEN,调用API时需提供如下授权头:
Authorization: Bearer <UVS_AUTH_TOKEN的值>
验证OpenID令牌
验证用户OpenID令牌。
请求:
POST /verify/user Content-Type: application/json
请求体:
json{ "matrix_server_name": "domain.tld", "token": "用户提供的OpenID令牌" }
成功响应:
json{ "results": { "user": true }, "user_id": "@user:domain.tld" }
失败响应:
json{ "results": { "user": false }, "user_id": null }
验证OpenID令牌和房间成员资格
验证用户OpenID令牌及在指定房间的成员资格。
请求:
POST /verify/user_in_room Content-Type: application/json
请求体:
json{ "matrix_server_name": "domain.tld", "room_id": "!foobar:domain.tld", "token": "用户提供的OpenID令牌" }
成功响应:
json{ "results": { "room_membership": true, "user": true }, "user_id": "@user:domain.tld", "power_levels": { "room": { "ban": 50, "events": { "m.room.avatar": 50, "m.room.canonical_alias": 50, "m.room.history_visibility": 100, "m.room.name": 50, "m.room.power_levels": 100 }, "events_default": 0, "invite": 0, "kick": 50, "redact": 50, "state_default": 50, "users_default": 0 }, "user": 50 } }
令牌无效的失败响应:
json{ "results": { "room_membership": false, "user": false }, "user_id": null, "power_levels": null }
令牌有效但用户不在房间的失败响应:
json{ "results": { "room_membership": false, "user": true }, "user_id": "@user:domain.tld", "power_levels": null }
bashnpm start
以监视模式运行:
bashnpm dev
Apache 2.0
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。



来自真实用户的反馈,见证轩辕镜像的优质服务