
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Focus是Samply的站点组件,运行于***IT环境中,负责将https://github.com/samply/beam/%E7%9A%84%E4%BB%BB%E5%8A%A1%E5%88%86%E5%8F%91%E8%87%B3%E6%9C%AC%E5%9C%B0%E5%BA%94%E7%94%A8%EF%BC%8C%E5%B9%B6%E9%80%9A%E8%BF%87https://github.com/samply/beam/%E5%9B%9E%E4%BC%A0%E7%BB%93%E6%9E%9C%E3%80%82%E6%94%AF%E6%8C%81%E6%8C%87%E5%AE%9Ahttps://github.com/samply/blaze%E5%92%8CSQL%E6%9F%A5%E8%AF%A2%E8%BF%9B%E8%A1%8C%E7%BC%93%E5%AD%98%E4%BB%A5%E5%8A%A0%E9%80%9F%E6%A3%80%E7%B4%A2%EF%BC%8C%E7%BC%93%E5%AD%98%E7%BB%93%E6%9E%9C24%E5%B0%8F%E6%97%B6%E5%90%8E%E8%BF%87%E6%9C%9F%E3%80%82
Focus已包含在https://github.com/samply/bridgehead/%E4%B8%AD%EF%BC%8CBridgehead%E6%98%AF***IT%E7%8E%AF%E5%A2%83%E4%B8%AD%E9%83%A8%E7%BD%B2%E3%80%81%E7%BB%B4%E6%8A%A4%E5%92%8C%E7%9B%91%E6%8E%A7%E5%BA%94%E7%94%A8%E7%9A%84%E4%B8%80%E7%AB%99%E5%BC%8F%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88%E3%80%82
独立运行Focus需至少一个运行中的https://github.com/samply/beam/%E5%92%8Chttps://github.com/samply/blaze%E3%80%82%E6%8E%A8%E8%8D%90%E4%BD%BF%E7%94%A8%E9%A2%84%E7%BC%96%E8%AF%91Docker%E9%95%9C%E5%83%8F%EF%BC%9A
bashdocker run --rm -e BEAM_PROXY_URL=http://localhost:8081 -e ENDPOINT_URL=http://localhost:8089/fhir/ -e PROXY_ID=proxy1.broker -e API_KEY=App1Secret -e BEAM_APP_ID_LONG=app1.broker.example.com samply/focus:latest
以下环境变量为运行Focus的必填项,若自行编译运行,也可通过命令行参数提供(详见focus --help):
bashBEAM_PROXY_URL = "http://localhost:8081" # Beam.Proxy的URL ENDPOINT_URL = "http://localhost:8089/fhir/" # 端点URL(如Blaze FHIR存储) PROXY_ID = "proxy1.broker" # 代理ID API_KEY = "App1Secret" # API密钥 BEAM_APP_ID_LONG = "app1.broker.example.com" # Beam应用的长ID
bashRETRY_COUNT = "32" # Beam和Blaze健康检查的最大重试次数,默认值:32 ENDPOINT_TYPE = "blaze" # 端点类型,允许值:"blaze"、"omop"、"sql"、"blaze-and-sql"、"eucaim-api",默认值:"blaze" EXPORTER_URL = "https://exporter.site/" # 导出器URL OBFUSCATE = "yes" # 是否混淆结果(总开关),允许值:"yes"、"no",默认值:"yes" OBFUSCATE_BELOW_10_MODE = "1" # 小于10的值的混淆模式:0-返回0,1-返回10,2-使用拉普拉斯分布混淆并取整,默认值:1(OBFUSCATE为"no"时无效) DELTA_PATIENT = "1." # Patient分层器计数混淆的敏感度参数,默认值:1(OBFUSCATE为"no"时无效) DELTA_SPECIMEN = "20." # Specimen分层器计数混淆的敏感度参数,默认值:20(OBFUSCATE为"no"时无效) DELTA_DIAGNOSIS = "3." # Diagnosis分层器计数混淆的敏感度参数,默认值:3(OBFUSCATE为"no"时无效) DELTA_PROCEDURES = "1.7" # Procedures分层器计数混淆的敏感度参数,默认值:1.7(OBFUSCATE为"no"时无效) DELTA_MEDICATION_STATEMENTS = "2.1" # Medication Statements分层器计数混淆的敏感度参数,默认值:2.1(OBFUSCATE为"no"时无效) DELTA_HISTO = "20." # Histo分层器计数混淆的敏感度参数,默认值:20(OBFUSCATE为"no"时无效) EPSILON = "0.28" # 分层器计数混淆的隐私预算参数,默认值:0.28(OBFUSCATE为"no"时无效) ROUNDING_STEP = "10" # 混淆值的取整粒度,默认值:10(OBFUSCATE为"no"时无效) PROJECTS_NO_OBFUSCATION = "exliquid;dktk_supervisors;exporter;ehds2" # 无需混淆结果的项目,用";"分隔,默认值:"exliquid;dktk_supervisors;exporter;ehds2" QUERIES_TO_CACHE = "queries_to_cache.conf" # 包含base64编码CQL查询和SQL查询别名的文件路径,未设置则不缓存结果 PROVIDER = "name" # EUCAIM提供者名称 PROVIDER_ICON = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAACnej3aAAAAAXRSTlMAQObYZgAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=" # base64编码的EUCAIM提供者PNG图标 AUTH_HEADER = "[Auth Type] XXXX" # 访问存储的授权头,如"ApiKey XXXX"、"Basic XXXX" EXPORTER_API_KEY = "XXXX" # 访问Exporter应用的x-api-key头值
使用Postgres查询需使用带"dktk"特性的Docker镜像,并设置以下可选变量:
bashPOSTGRES_CONNECTION_STRING = "postgresql://postgres:Test.123@localhost:5432/postgres" # Postgres连接字符串 MAX_DB_ATTEMPTS = "8" # 数据库连接的最大尝试次数,默认值:8
OBFUSCATE_ZERO环境变量可启用TLS_CA_CERTIFICATES_DIR添加额外可信证书(如TLS终止代理场景)HTTP_PROXY、HTTPS_PROXY、ALL_PROXY、NO_PROXY及其小写形式的代理配置RUST_LOG环境变量设置日志级别bashcurl -v -X POST -H "Content-Type: application/json" --data '{"id":"7fffefff-ffef-fcff-feef-feffffffffff","from":"app1.proxy1.broker","to":["app1.proxy1.broker"],"ttl":"10s","failure_strategy":{"retry":{"backoff_millisecs":1000,"max_tries":5}},"metadata":{"project":"focus-healthcheck"},"body":"wie geht es"}' -H "Authorization: ApiKey app1.proxy1.broker App1Secret" http://localhost:8081/v1/tasks
bashcurl -v -X POST -H "Content-Type: application/json" --data '{"id":"7fffefff-ffef-fcff-feef-fefbffffeeff","from":"app1.proxy1.broker","to":["app1.proxy1.broker"],"ttl":"10s","failure_strategy":{"retry":{"backoff_millisecs":1000,"max_tries":5}},"metadata":{"project":"exliquid"},"body":"ewoJImxhbmciOiAiY3FsIiwKCSJsaWIiOiB7CgkJImNvbnRlbnQiOiBbCgkJCXsKCQkJCSJjb250ZW50VHlwZSI6ICJ0ZXh0L2NxbCIsCgkJCQkiZGF0YSI6ICJiR2xpY21GeWVTQlNaWFJ5YVdWMlpRcDFjMmx1WnlCR1NFbFNJSFpsY25OcGIyNGdKelF1TUM0d0p3cHBibU5zZFdSbElFWklTVkpJWld4d1pYSnpJSFpsY25OcGIyNGdKelF1TUM0d0p3b0tZMjlrWlhONWMzUmxiU0JzYjJsdVl6b2dKMmgwZEhBNkx5OXNiMmx1WXk1dmNtY25DbU52WkdWemVYTjBaVzBnYVdOa01UQTZJQ2RvZEhSd09pOHZhR3czTG05eVp5OW1hR2x5TDNOcFpDOXBZMlF0TVRBbkNtTnZaR1Z6ZVhOMFpXMGdVMkZ0Y0d4bFRXRjBaWEpwWVd4VWVYQmxPaUFuYUhSMGNITTZMeTltYUdseUxtSmliWEpwTG1SbEwwTnZaR1ZUZVhOMFpXMHZVMkZ0Y0d4bFRXRjBaWEpwWVd4VWVYQmxKd29LQ21OdmJuUmxlSFFnVUdGMGFXVnVkQW9LUWtKTlVrbGZVMVJTUVZSZlIwVk9SRVZTWDFOVVVrRlVTVVpKUlZJS0NrSkNUVkpKWDFOVVVrRlVYMFJGUmw5VFVFVkRTVTFGVGdwcFppQkpia2x1YVhScFlXeFFiM0IxYkdGMGFXOXVJSFJvWlc0Z1cxTndaV05wYldWdVhTQmxiSE5sSUh0OUlHRnpJRXhwYzNROFUzQmxZMmx0Wlc0K0NncENRazFTU1Y5VFZGSkJWRjlUUVUxUVRFVmZWRmxRUlY5VFZGSkJWRWxHU1VWU0NncENRazFTU1Y5VFZGSkJWRjlEVlZOVVQwUkpRVTVmVTFSU1FWUkpSa2xGVWdvS1FrSk5Va2xmVTFSU1FWUmZSRWxCUjA1UFUwbFRYMU5VVWtGVVNVWkpSVklLQ2tKQ1RWSkpYMU5VVWtGVVgwRkhSVjlUVkZKQlZFbEdTVVZTQ2dwQ1FrMVNTVjlUVkZKQlZGOUVSVVpmU1U1ZlNVNUpWRWxCVEY5UVQxQlZURUZVU1U5T0NuUnlkV1U9IgoJCQl9CgkJXSwKCQkicmVzb3VyY2VUeXBlIjogIkxpYnJhcnkiLAoJCSJzdGF0dXMiOiAiYWN0aXZlIiwKCQkidHlwZSI6IHsKCQkJImNvZGluZyI6IFsKCQkJCXsKCQkJCQkiY29kZSI6ICJsb2dpYy1saWJyYXJ5IiwKCQkJCQkic3lzdGVtIjogImh0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vbGlicmFyeS10eXBlIgoJCQkJfQoJCQldCgkJfSwKCQkidXJsIjogInVybjp1dWlkOjdmZjUzMmFkLTY5ZTQtNDhlZC1hMmQzLTllZmFmYjYwOWY2MiIKCX0sCgkibWVhc3VyZSI6IHsKCQkiZ3JvdXAiOiBbCgkJCXsKCQkJCSJjb2RlIjogewoJCQkJCSJ0ZXh0IjogInBhdGllbnRzIgoJCQkJfSwKCQkJCSJwb3B1bGF0aW9uIjogWwoJCQkJCXsKCQkJCQkJImNvZGUiOiB7CgkJCQkJCQkiY29kaW5nIjogWwoJCQkJCQkJCXsKCQkJCQkJCQkJImNvZGUiOiAiaW5pdGlhbC1wb3B1bGF0aW9uIiwKCQkJCQkJCQkJInN5c3RlbSI6ICJodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL21lYXN1cmUtcG9wdWxhdGlvbiIKCQkJCQkJCQl9CgkJCQkJCQldCgkJCQkJCX0sCgkJCQkJCSJjcml0Z***YSI6IHsKCQkJCQkJCSJleHByZXNzaW9uIjogIkluSW5pdGlhbFBvcHVsYXRpb24iLAoJCQkJCQkJImxhbmd1YWdlIjogInRleHQvY3FsLWlkZW50aWZpZXIiCgkJCQkJCX0KCQkJCQl9CgkJCQldLAoJCQkJInN0cmF0aWZpZXIiOiBbCgkJCQkJewoJCQkJCQkiY29kZSI6IHsKCQkJCQkJCSJ0ZXh0IjogIkdlbmRlciIKCQkJCQkJfSwKCQkJCQkJImNyaXRlcmlhIjogewoJCQkJCQkJImV4cHJlc3Npb24iOiAiR2VuZGVyIiwKCQkJCQkJCSJsYW5ndWFnZSI6ICJ0ZXh0L2NxbCIKCQkJCQkJfQoJCQkJCX0sCgkJCQkJewoJCQkJCQkiY29kZSI6IHsKCQkJCQkJCSJ0ZXh0IjogIkFnZSIKCQkJCQkJfSwKCQkJCQkJImNyaXRlcmlhIjogewoJCQkJCQkJImV4cHJlc3Npb24iOiAiQWdlQ2xhc3MiLAoJCQkJCQkJImxhbmd1YWdlIjogInRleHQvY3FsIgoJCQkJCQl9CgkJCQkJfSwKCQkJCQl7CgkJCQkJCSJjb2RlIjogewoJCQkJCQkJInRleHQiOiAiQ3VzdG9kaWFuIgoJCQkJCQl9LAoJCQkJCQkiY3JpdGVyaWEiOiB7CgkJCQkJCQkiZXhwcmVzc2lvbiI6ICJDdXN0b2RpYW4iLAoJCQkJCQkJImxhbmd1YWdlIjogInRleHQvY3FsIgoJCQkJCQl9CgkJCQkJfQoJCQkJXQoJCQl9LAoJCQl7CgkJCQkiY29kZSI6IHsKCQkJCQkidGV4dCI6ICJkaWFnbm9zaXMiCgkJCQl9LAoJCQkJImV4dGVuc2lvbiI6IFsKCQkJCQl7CgkJCQkJCSJ1cmwiOiAiaHR0cDovL2hsNy5vcmcvZmhpci91cy9jcWZtZWFzdXJlcy9TdHJ1Y3R1cmVEZWZpbml0aW9uL2NxZm0tcG9wdWxhdGlvbkJhc2lzIiwKCQkJCQkJInZhbHVlQ29kZSI6ICJDb25kaXRpb24iCgkJCQkJfQoJCQkJXSwKCQkJCSJwb3B1bGF0aW9uIjogWwoJCQkJCXsKCQkJCQkJImNvZGUiOiB7CgkJCQkJCQkiY29kaW5nIjogWwoJCQkJCQkJCXsKCQkJCQkJCQkJImN
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。






来自真实用户的反馈,见证轩辕镜像的优质服务