AXIOM

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 服务内置的公钥在本地直接验证签名与有效期,验证过程无需与外部通信。

当启用使用统计发送时,系统也会通过响应确认该许可证是否已被吊销。