如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Go-NEB是一个用Go语言开发的Matrix机器人,作为Matrix-NEB(初代Python编写的Matrix机器人)的继任者,旨在通过Matrix协议实现与各类第三方服务的集成,提供自动化通知、内容生成及交互式功能。
foo/bar#1234格式时自动展开Issue详情#1234简化格式展开及快捷Issue创建FOO-1234格式时自动展开JIRA Issue详情适用于需要在Matrix聊天平台中集成第三方服务(如Github、JIRA)、实现自动化通知(CI构建结果、RSS更新)、提供交互式内容生成(GIF查询)的个人用户或团队协作场景。
libolm3和libolm-dev,CentOS需安装libolm-devel源码构建
bash# 克隆仓库 git clone https://github.com/matrix-org/go-neb cd go-neb # 构建可执行文件 go build github.com/matrix-org/go-neb
Docker部署
使用官方镜像:
bashdocker run -v /path/to/data:/data -e "BASE_URL=http://your.public.url:4050" -p 4050:4050 matrixdotorg/go-neb
本地构建镜像:
bashgit clone https://github.com/matrix-org/go-neb cd go-neb docker build -t go-neb .
Docker镜像默认配置:
BIND_ADDRESS=:4050、DATABASE_TYPE=sqlite3、DATABASE_URL=/data/go-neb.db?_busy_timeout=5000/data(用于存储数据库文件)环境变量说明
| 变量名 | 说明 | 示例 |
|---|---|---|
BIND_ADDRESS | 服务监听地址 | :4050 |
DATABASE_TYPE | 数据库类型(仅支持sqlite3) | sqlite3 |
DATABASE_URL | 数据库文件路径(URL格式,支持参数) | go-neb.db?_busy_timeout=5000 |
BASE_URL | 公网访问端点(用于Webhook接收) | https://neb.example.com |
CONFIG_FILE | 配置文件路径(启用文件配置模式) | config.yaml |
LOG_DIR | 日志文件目录(启用日志轮转,禁用stderr输出) | /var/log/go-neb |
基本运行命令
bashBIND_ADDRESS=:4050 DATABASE_TYPE=sqlite3 DATABASE_URL=go-neb.db?_busy_timeout=5000 BASE_URL=https://public.facing.endpoint ./go-neb
启动服务:
bashgo build github.com/matrix-org/go-neb BIND_ADDRESS=:4050 DATABASE_TYPE=sqlite3 DATABASE_URL=go-neb.db?_busy_timeout=5000 BASE_URL=http://localhost:4050 ./go-neb
获取Matrix用户凭证(使用Synapse登录API):
bashcurl -X POST --header 'Content-Type: application/json' -d '{ "identifier": { "type": "m.id.user", "user": "nebUsername" }, "password": "nebPassword", "type": "m.login.password" }' 'http://localhost:8008/_matrix/client/r0/login'
响应包含access_token和device_id。
配置Matrix客户端:
bashcurl -X POST localhost:4050/admin/configureClient --data-binary '{ "UserID": "@goneb:localhost", "HomeserverURL": "http://localhost:8008", "AccessToken": "<access_token>", "DeviceID": "<DEVICEID>", "Sync": true, "AutoJoinRooms": true, "DisplayName": "My Bot" }'
配置服务(以echo服务为例):
bashcurl -X POST localhost:4050/admin/configureService --data-binary '{ "Type": "echo", "Id": "myserviceid", "UserID": "@goneb:localhost", "Config": {} }'
测试交互:邀请@goneb:localhost进入Matrix房间,发送!echo hello world,机器人将回复hello world。
配置客户端
用于配置Matrix用户账号,支持多用户同时在线。
配置服务
服务是实现具体功能的组件,需关联Matrix客户端。
配置认证领域
用于第三方服务(如Github、JIRA)的身份认证。
SAS验证
用于设备信任验证,需将3个SAS整数发送至/verifySAS端点:
bashcurl -X POST --header 'Content-Type: application/json' -d '{ "UserID": "@neb:localhost", "OtherUserID": "@user:localhost", "OtherDeviceID": "ABCD", "SAS": [1111,2222,3333] }' 'http://localhost:4050/verifySAS'
HOMESERVER | +=============================================================+ | | Go-NEB | | +---------+ | | | Clients | (与Homeserver通信,监听事件) | | +---------+ | | | | | +---------+ +------------+ +--------------+ | | | Service |-------| Auth Realm |------| Auth Session |-+ | | +---------+ +------------+ +--------------+ | | | ^ ^ +---------------+ | | | | | +=============================================================+ | | WEBHOOK REDIRECT REQUEST REQUEST
bash# 启动文档服务器(监听:6060) GOPATH=$GOPATH:$(pwd) godoc -v -http=localhost:6060 & # 在浏览器中访问 http://localhost:6060/pkg/github.com/matrix-org/go-neb
bash# 安装代码检查工具 go install honnef.co/go/tools/cmd/staticcheck@latest go install github.com/fzipp/gocyclo/cmd/gocyclo@latest # 安装预提交钩子 ./hooks/install.sh
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务