
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
RADAR app config 是一个应用配置引擎,旨在提供按项目和条件的多作用域配置管理。该引擎能够合并不同层级(全局、项目、用户等)的配置,并根据优先级动态解析最终配置,未来可能与 https://github.com/radar-base/radar-appserver 合并。
配置基于作用域解析,作用域按优先级从低到高排序,高优先级配置覆盖低优先级配置。若在某作用域中将变量显式设为 null,则会清除父作用域中的该变量。当前支持的作用域顺序(优先级从低到高):
global(全局默认,仅系统管理员可更新)project.{projectId}(项目级,仅项目管理员可更新)group.{groupId}(未实现)condition.{conditionId}(未实现)user.{userId}(用户级,仅项目管理员可更新)适用于需要根据不同项目、用户或条件动态调整应用配置的场景,例如:
yamlclientA: sendRate: 50 clientB: sendRate: 100
项目 A 的配置:
yamlclientB: plugins: A B collectRate: 15
yamlid: 1 name: SpecificUserAbcd expression: user.id == 'abcd1234...' config: clientB: plugins: B
用户 abcd1234... 使用 clientB 时,最终解析的配置为:
yamlplugins: B sendRate: 100 collectRate: 15
变量基于作用域解析,优先级从低到高为:global < project.{projectId} < group.{groupId}(未实现)< condition.{conditionId}(未实现)< user.{userId}。父作用域变量可被高优先级作用域覆盖,或通过显式设为 null 清除。
列出支持的客户端
GET /clients --- HTTP 200 OK { "clients": [ {"clientId": "clientA"} ] }
列出当前用户管理的项目
GET /projects --- HTTP 200 OK { "projects": [ {"id": 1, "projectName": "projectA", "humanReadableProjectName": "Project A", "location": "乌得勒支, 荷兰", "organization": "The Hyve", "description": "我的项目计划。"} ] }
获取客户端的默认配置(全局作用域)
仅系统管理员可访问:
GET /global/config/{clientId} --- HTTP 200 OK { "clientId": "{clientId}", "scope": "global", "config": [ {"name": "plugins", "value": "A", "scope": "global"} ] }
更新客户端的默认配置(全局作用域)
仅系统管理员可访问:
POST /global/config/{clientId} { "config": [ {"name": "plugins", "value": "A"} ] } --- HTTP 200 OK { "clientId": "{clientId}", "scope": "global", "config": [ {"name": "plugins", "value": "A"} ] }
获取项目级客户端配置
GET /projects/{projectId}/config/{clientId} --- HTTP 200 OK { "clientId": "{clientId}", "scope": "project.projectA", "config": [ {"name": "plugins", "value": "A B"} ], "defaults": [ {"name": "plugins", "value": "A", "scope": "global"} ] }
更新项目级客户端配置
POST /projects/{projectId}/config/{clientId} { "config": [ {"name": "rate", "value": "1"}, {"name": "plugins", "value": "A B"} ] } --- HTTP 200 OK { "clientId": "{clientId}", "scope": "project.projectA", "config": [ {"name": "plugins", "value": "A B"}, {"name": "rate", "value": "1"} ], "defaults": [ {"name": "plugins", "value": "A", "scope": "global"} ] }
获取用户级客户端配置(客户端调用接口)
GET /projects/{projectId}/users/{userId}/config/{clientId} --- HTTP 200 OK { "clientId": "{clientId}", "scope": "user.userA", "config": [ {"name": "plugins", "value": "A B"} ], "defaults": [ {"name": "plugins", "value": "A B", "scope": "project.projectA"}, {"name": "rate", "value": "1", "scope": "project.projectA"} ] }
更新用户级客户端配置
POST /projects/{projectId}/users/{userId}/config/{clientId} { "config": [ {"name": "rate", "value": "1"} ] } --- HTTP 200 OK { "clientId": "{clientId}", "scope": "user.userA", "config": [ {"name": "rate", "value": "1"} ], "defaults": [ {"name": "plugins", "value": "A B", "scope": "project.projectA"}, {"name": "rate", "value": "1", "scope": "project.projectA"} ] }
使用 docker-compose 启动服务栈:
bashdocker-compose up -d
停止服务栈:
bashdocker-compose down
http://localhost:8080/appconfig/api/http://localhost:8080/appconfig/loginhttp://localhost:8080/managementportal/oauth/authorizehttp://localhost:8080/managementportal/oauth/tokenappconfig_frontendadmin、密码 admin 登录并授权,获取访问令牌后即可调用 API。如需创建项目或用户,访问 ManagementPortal:http://localhost:8080/managementportal/,使用 admin/admin 登录后进行管理。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务