用途:管理 swarm 的用户注册表,创建、更新、解析、列出用户,将同一人在 Slack、GitHub、GitLab、Linear、邮箱等平台的身份关联起来,以便追踪谁发起了工作。
主要能力:提供两个 MCP 工具。resolve-user 按 (kind, externalId) 或邮箱查找已有用户,邮箱查找不区分大小写,会检查主邮箱和 emailAliases;调用时必须提供 kind+externalId 或 email 之一,空输入会被拒绝。manage-user 负责增删改查,支持 create、list、get、update、delete;身份通过声明式 identities: [{kind, externalId}, ...] 数组管理,创建时逐条关联,更新时按完整期望集合做差异计算,新增发 identity_added、移除发 identity_removed,省略该字段则不动身份。
使用方式:新建用户前必须先 resolve-user,避免重复。典型流程:收到未知 Slack 用户消息,先按 slack 身份解析,返回空后再用邮箱解析,若命中已有用户则 update 并传入包含新 Slack 身份的完整集合,否则 create。GitHub、GitLab、Linear 用户同理。发现已知用户活跃于新平台时,用 update 传入现有加新增的完整身份集合。
限制:2026-05 迁移后旧的顶层身份字段(slackUserId、linearUserId、githubUsername、gitlabUsername)和模糊姓名查找已移除,旧载荷会在运行时被 Zod 校验拒绝,没有兼容层。manage-user 仅限 lead 使用,worker 任何操作都不能调用,只能用 resolve-user 查询。user_external_ids 的 (kind, externalId) 主键意味着同一标识不能关联两个用户,重新关联到其他用户会触发主键冲突。删除用户会将其关联任务的 requestedByUserId 置空。preferredChannel 默认 slack,dailyBudgetUsd 为 null 表示不限,status 生命周期为 invited → active → suspended。