
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Vulcan Stream提供从Vulcan Persistence到Vulcan Agents的单向通信通道。Vulcan Persistence需要与Vulcan Agents进行广播通信,以管理Agent池和控制执行中的检查。由于Agent可能无法从互联网访问,Stream提供Websocket流,供Agent连接以接收来自Persistence的输入。
!通信流程图
Vulcan Stream基于两个主要服务运行:
Vulcan Stream利用Postgres的NOTIFY/LISTEN功能将实时消息发布到Websocket流。
为什么使用Postgres NOTIFY/LISTEN
我们曾考虑使用AWS SNS和/或SQS接收Vulcan Persistence的通知并向Websocket流发布消息。但由于AWS SNS/SQS的特性、实现的简洁性,以及Vulcan基础设施中已将Postgres作为需求,我们认为NOTIFY/LISTEN功能是实现实时广播通知的最佳方案,具备适当的弹性和可扩展性。
适用于Vulcan生态系统中,当Vulcan Agents可能无法从互联网访问时,需Vulcan Persistence向多个Agent广播控制信息(如管理Agent池、控制检查执行)的场景,提供可靠的单向实时通信。
提供两个二进制文件:
假设您的机器上已安装Docker,且端口5432和8080没有服务监听。
运行vulcan-stream:
bashgo get -x github.com/adevinta/vulcan-stream/cmd/vulcan-stream docker run -d -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_DB=stream postgres vulcan-stream ${GOPATH}/src/github.com/adevinta/vulcan-stream/_resources/config/local.toml
运行websocket客户端集成测试:
bashgo get -x github.com/adevinta/vulcan-stream/cmd/vulcan-stream-test-client vulcan-stream-test-client ${GOPATH}/src/github.com/adevinta/vulcan-stream/_resources/config/local.toml
连接流并发送通知消息:
bashcurl --include --no-buffer --header "Connection: Upgrade" --header "Upgrade: websocket" \ --header "Host: localhost:8080" --header "Origin: http://localhost:8080" \ --header "Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ==" --header "Sec-WebSocket-Version: 13" \ "http://localhost:8080/stream" & psql -c "NOTIFY events, '{\"action\":\"test\", \"check_id\":\"00000000-0000-0000-0000-000000000000\"}';" \ -U postgres -h localhost stream
可查看和修改Vulcan Stream配置文件:
_resources/config/local.toml
环境变量说明
| 变量 | 描述 | 示例 |
|---|---|---|
| PORT | HTTP监听端口 | 8080 |
| LOG_LEVEL | 日志级别 | DEBUG |
| PG_(HOST|DB|USER|PWD|PORT) | PostgreSQL相关变量 | |
| STREAM | 流名称 | stream |
Docker命令
bash# 构建镜像 docker build . -t vs # 使用默认配置文件并通过环境变量自定义 docker run --env-file ./local.env vs # 使用自定义配置文件 docker run -v `pwd`/custom.toml:/app/config.toml vs
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务