AXIOM 外部通信规范说明
适用范围:通过本站分发的 docker-compose.prod.yml 部署环境
1. 容器架构组成
AXIOM 由以下容器组成,全部运行在您自己的宿主机上:
- Web 管理前端(Next.js):在宿主机端口 3001 暴露。
- API 服务端(Go):在宿主机端口 8081 暴露,负责身份认证、任务调度及本地许可证签名验证。
- 测试执行 Runner(Python / Playwright / Maestro):仅在 Docker 内部网络中通信。
- PostgreSQL / Redis / MinIO:仅绑定在宿主机 127.0.0.1,外部网络无法直接连接。
被测系统的 URL、登录凭据、测试代码、页面内容、执行录像与截图全部保存在本地 PostgreSQL 与 MinIO 存储卷中。
Web 界面与 API 端口默认监听宿主机网络接口。若无需对公网开放,请通过防火墙或安全组限制访问来源 IP。
2. 与外部的网络通信
已配置的 AI 服务商(OpenAI / Google / Anthropic)
触发时机:使用 AI 功能时
发送测试生成、修复与分析所需的场景描述、测试代码及页面结构信息。若指定企业内网 Ollama,则该通信完全在您指定的 Ollama 服务器之间进行。
api.axiom-qa.dev
触发时机:每天 1 次
发送实例 ID、许可证 ID、版本号、操作系统、CPU 架构、运行时长、测试执行次数等统计计数以及 AI 服务商类型(绝不包含被测 URL、凭据或测试内容)。在 .env 中设置 AXIOM_TELEMETRY_DISABLED=true 即可停止发送。
被测目标系统
触发时机:执行测试时
Runner 容器访问您指定的被测网站或接口。
ghcr.io、Docker Hub
触发时机:拉取容器镜像时
在安装与升级时拉取容器镜像。在无法连接互联网的隔离环境中,请预先导出并加载镜像。
3. 许可证密钥的离线验证
许可证密钥(AXIOM-LIC-...)附带运营方的 Ed25519 数字签名,由 API 服务内置的公钥在本地直接验证签名与有效期,验证过程无需与外部通信。
当启用使用统计发送时,系统也会通过响应确认该许可证是否已被吊销。
