
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Sorting Hat 是一款管理身份的工具。它维护一个SQL数据库,存储来自不同来源的身份信息。对应同一真实人物的身份可合并为具有唯一UUID的唯一身份,并可为每个唯一身份定义个人资料,包含默认显示的姓名和其他数据。此外,每个唯一身份可关联一个或多个不同时间段的隶属关系,通常对应个人在这些时间段内受雇的不同组织。
Sorting Hat 是 https://grimoirelab.github.io 的一部分,该工具集提供Python模块和脚本,用于分析软件开发相关的数据源信息,并生成交互式仪表板进行数据可视化。在GrimoireLab中,Sorting Hat通常在使用 https://github.com/grimmoirelab/perceval 获取数据后运行,将获取的身份存储到数据库中,随后合并为唯一身份(可能还会关联隶属关系)。
Sorting Hat 主要用于软件开发数据分析领域,作为GrimoireLab工具集的关键组件,适用于以下场景:
Docker 安装(推荐)
可直接使用DockerHub上的镜像 grimoirelab/sortinghat,或自行构建镜像:
sh# 从DockerHub拉取镜像(推荐) docker pull grimoirelab/sortinghat # 或自行构建镜像 docker build -t grimoirelab/sortinghat .
启动依赖的MySQL容器
Sorting Hat需要MySQL数据库存储数据,首先启动MySQL容器:
shdocker run --name mysql \ -e MYSQL_ROOT_PASSWORD=sortinghat \ -d mysql
运行Sorting Hat容器
以交互模式运行Sorting Hat容器,并链接到MySQL容器:
shdocker run -i -t --rm \ --link mysql:mysql \ -e SORTINGHAT_DB_HOST=mysql \ -e SORTINGHAT_DB_PASSWORD=sortinghat \ -e SORTINGHAT_DB_DATABASE=sortinghat \ grimoirelab/sortinghat \ /bin/bash
初始化数据库
进入容器后,初始化Sorting Hat数据库:
shsortinghat init sortinghat
Sorting Hat提供多种命令,基本用法如下:
usage: sortinghat [--help] [-c <file>] [-u <user>] [-p <password>] [--host <host>] [--port <port>] [-d <name>] command [<cmd_args>]
常用命令包括:
add: 添加身份affiliate: 关联身份隶属关系autoprofile: 自动补全个人资料blacklist: 管理黑名单config: 获取/设置配置参数countries: 列出国家信息enroll: 将身份加入组织export: 导出数据(如身份)init: 创建空注册表load: 导入数据(如身份、组织)merge: 合并唯一身份mv: 将身份移至唯一身份log: 列出注册信息orgs: 管理组织和域名profile: 编辑个人资料rm: 从注册表中删除身份show: 显示唯一身份信息unify: 使用匹配算法合并身份withdraw: 将身份从组织中移除运行 sortinghat <command> --help 获取特定命令的详细信息。
可通过 config 命令或环境变量设置数据库参数。
通过 config 命令配置
sh# 设置数据库主机 sortinghat config set db.host <mysql-host> # 设置数据库用户 sortinghat config set db.user <user> # 设置数据库密码 sortinghat config set db.password <password> # 设置数据库名称 sortinghat config set db.database <name> # 设置数据库端口 sortinghat config set db.port <port>
通过环境变量配置
shexport SORTINGHAT_DB_HOST=<mysql-host> export SORTINGHAT_DB_USER=<user> export SORTINGHAT_DB_PASSWORD=<password> export SORTINGHAT_DB_DATABASE=<name> export SORTINGHAT_DB_PORT=<port>
配置后初始化数据库:
shsortinghat init <database-name>
添加唯一身份
sh# 添加包含姓名、邮箱、用户名和来源的身份 sortinghat add --name "John Smith" --email "jsmith@example.com" --username "jsmith" --source scm # 输出:New identity a9b403e150dd4af8953a52a4bb841051e4b705d9 to a9b403e150dd4af8953a52a4bb841051e4b705d9
设置个人资料
sh# 为指定UUID的身份设置个人资料 sortinghat profile --name "John Smith" --email "jsmith@example.com" --country US a9b403e150dd4af8953a52a4bb841051e4b705d9
合并身份
sh# 合并两个唯一身份 sortinghat merge a7637bb1737bc2a83f3a3e25b9b441cba62d97c2 a9b403e150dd4af8953a52a4bb841051e4b705d9
管理组织和隶属关系
sh# 添加组织 sortinghat orgs -a Example # 为组织添加域名 sortinghat orgs -a Example example.com --top-domain # 将身份加入组织(指定时间段) sortinghat enroll --from 2014-06-01 --to 2015-09-01 a9b403e150dd4af8953a52a4bb841051e4b705d9 Example
导入/导出数据
sh# 导入数据 sortinghat load sh.json # 导出身份 sortinghat export --identities sh_ids.json # 导出组织 sortinghat export --orgs sh_orgs.json
0.5.0之前版本:数据库架构不兼容,需执行以下SQL语句更新:
sqlALTER TABLE uidentities ADD COLUMN last_modified DATETIME(6) DEFAULT NULL; ALTER TABLE identities ADD COLUMN last_modified DATETIME(6) DEFAULT NULL;
0.3.0之前版本:身份UUID生成种子改变,需通过导出-删除数据库-重新初始化-导入的方式迁移数据:
sh# 导出数据 sortinghat export --orgs orgs.json sortinghat export --identities identities.json # 重新初始化数据库 sortinghat init <new-db-name> # 导入数据 sortinghat load orgs.json sortinghat load identities.json
采用 GNU General Public License (GPL) 许可证,版本 3 或更高。
源代码托管在 https://github.com/grimoirelab/sortinghat%E3%80%82%E6%AC%A2%E8%BF%8E%E6%8F%90%E4%BA%A4%E6%8B%89%E5%8F%96%E8%AF%B7%E6%B1%82%E8%B4%A1%E7%8C%AE%E4%BB%A3%E7%A0%81%EF%BC%8C%E6%88%96%E9%80%9A%E8%BF%87 issue 报告 bug、请求新功能。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务