团队
通过你的智能体管理团队
组织管理员令牌、zn-gate mcp 的团队工具,以及由人工审批智能体提出的每项变更。
Team(私有测试版)允许组织的所有者或管理员通过 Claude Code 或 Codex 等编码智能体读取组织信息,并提出变更:列出成员、查看审计日志、撤销丢失笔记本电脑的访问权限或收紧策略。智能体不会自行应用任何变更。每一项写入操作都会成为待处理变更,由人员在对话之外批准。
zn-gate 是本地防护层,而不是 MDM。组织管理员令牌为智能体提供一种范围有限、可撤销的方式,帮助你管理组织;它们不会让组织控制任何人的机器。
创建组织管理员令牌
- 在控制台中,打开 团队 → 令牌。
- 为令牌命名(例如
laptop-claude),选择其权限范围,并设置 7、30 或 90 天的有效期。 - 复制令牌。它只显示一次。 zn 仅存储其哈希值,因此无法再次显示;如果你丢失了它,请撤销并创建新的令牌。
令牌以 znorg_ 开头,因此密钥扫描工具和 zn-gate Scrubber 可以识别它们。znorg_ 之后直到下一个 _ 之前的部分是公开前缀,会显示在控制台和活动日志中。
限制:
- 每个组织最多 10 个有效令牌,每人最多 5 个。
- 令牌仅在其创建者仍是所有者或管理员时有效。如果创建者离开组织或变为普通成员,该令牌会立即失效,并显示为 Inactive。
- 撤销令牌会在下一次请求时生效,并取消其待处理变更。所有者和管理员可以撤销组织中的任何令牌。
权限范围
新令牌默认勾选读取权限范围。只有在你希望智能体提出变更时,才添加写入权限范围。
| 权限范围 | 令牌可以 |
|---|---|
org:read |
查看组织(名称、套餐、席位、策略版本)、其安装记录和待处理变更 |
members:read |
查看成员和待处理邀请 |
members:write |
提议邀请成员、撤销邀请、移除成员、降级管理员或撤销安装 |
policy:read |
查看当前策略及其历史 |
policy:publish |
提议策略变更 |
audit:read |
查询 zn-gate 审计日志、其摘要和组织活动 |
audit:export |
将审计导出文件(CSV 或 JSON)下载到本地文件 |
令牌继承其创建者的限制:管理员的令牌不能移除其他管理员或更改角色,因为管理员本身也无法这样做。审计员可以创建仅限 audit:read 和 audit:export 的令牌。
无论权限范围如何,任何令牌都不能:
- 操作账单、席位或订阅;
- 创建、列出或撤销令牌,或更改组织设置;
- 创建加入令牌或接受邀请;
- 批准或拒绝待处理变更,包括其自身提出的变更。
连接你的智能体
请在你自己的终端中运行这些命令,而不是通过智能体运行。
# 1. Copy the token, then store it in the system keychain (read from the clipboard)
npx -y zn-gate team admin login --from-clipboard
# 2a. Claude Code
claude mcp add zn-gate -- npx -y zn-gate mcp
对于 Codex,请将服务器添加到 ~/.codex/config.toml:
[mcp_servers.zn-gate]
command = "npx"
args = ["-y", "zn-gate", "mcp"]
zn-gate team admin login 会通过 API 验证令牌,并将其保存在 macOS 钥匙串、Windows 凭据管理器或 libsecret 中,而不是保存在智能体配置里。zn-gate team admin status 显示已配置的组织和令牌(从不显示密钥本身),zn-gate team admin logout 则从本机移除它。如果机器丢失,也请在控制台中撤销该令牌。
只有在配置了令牌时,智能体中才会出现 team_* 工具,并且仅限其权限范围允许的工具。ZN_LOCAL_ONLY=true 会将它们关闭。
CI 和没有钥匙串的机器
将 ZN_ORG_TOKEN 设置为 CI 密钥或写入你的 shell。不要将其放入智能体的 MCP 配置(.mcp.json、~/.codex/config.toml)中:智能体可以读取这些文件。
export ZN_ORG_TOKEN=<paste the token here>
智能体可以做什么
读取工具:team_whoami、team_org_get、team_members_list、team_installs_list、team_policy_get、team_audit_query、team_audit_summary、team_activity_list、team_changes_list 和 team_change_status。team_audit_export 会将导出内容写入 ~/zn-exports/,并仅返回其路径、行数和 SHA-256,从不返回内容本身。
写入工具会提出变更并返回其状态:team_member_invite、team_invitation_revoke、team_member_remove、team_member_set_role、team_install_revoke、team_policy_propose 和 team_change_cancel。令牌从不出现在工具结果、错误信息或日志中;只显示其前缀。
审批如何运作
每项写入操作都会以待处理变更的形式存储在服务器上,并附带一段摘要和一个 8 位摘要码(digest),两者均由服务器根据参数计算得出。变更的类别也由服务器决定;智能体发送的任何内容都会被忽略。
收紧访问权限或可撤销的变更(移除成员、撤销邀请或安装、降级管理员、邀请成员、添加拒绝规则、移除允许的主机)需要由人员确认,按以下顺序进行:
- 如果客户端支持 MCP 询问表单(elicitation),则由智能体显示确认表单;
- 否则显示原生系统对话框,其中 No 为默认选项,2 分钟内未作答视为否;
- 否则提供控制台中 团队 → 审批 的链接。
智能体中的确认必须在 10 分钟内完成。控制台链接在 72 小时内有效。
开放访问或授予权限的变更(添加允许的主机或命令、移除或重新排序规则、邀请管理员或将某人提升为管理员)只能在控制台中批准,且须在 72 小时内完成。批准时需要最近 10 分钟内的登录;如果你的会话更早,控制台会要求你重新登录。授予管理员角色只能由所有者批准。当组织启用 Always approve in the dashboard 时,智能体提出的每项变更都需要同样的近期登录。
批准页面会显示服务器摘要、摘要码、请求该变更的令牌和客户端,对于策略变更还会显示变更前后的规则。智能体附带的备注会放在最后,并标记为未经验证。请只批准你本人要求的变更,并核对摘要码与智能体显示的是否一致。
变更在应用时,服务器会再次检查所有内容:创建者的角色、权限范围、组织设置和策略版本。如果策略在此期间已更改,变更将失败,智能体必须重新提出。
组织设置:智能体变更
在 团队 → 设置 中,所有者可以选择智能体变更的审批方式:
| 模式 | 效果 |
|---|---|
| Confirm in the agent(默认) | 如上所述 |
| Always approve in the dashboard | 令牌提出的每项变更都需等待所有者或管理员在控制台中处理 |
| Read only | 令牌只能读取;提议会被拒绝 |
活动日志
团队 → 活动 列出通过组织令牌发出的每一次请求(包括读取请求),以及在控制台中进行的每一项变更。每条记录显示执行者、来源是控制台还是 via agent、令牌前缀和 ID、客户端(例如 claude-code 2.1.240)、操作及其结果,包括被拒绝的请求。IP 地址不会被存储。从某个令牌所在的行打开该日志,即可只查看该令牌的记录。
远程 MCP 服务器(即将推出)
计划在后续版本中提供托管的 MCP 服务器 https://mcp.usezn.com/mcp,支持通过你的 zn 账户登录。它将提供相同的工具,并且每项写入操作都将在控制台中批准。
限制
- 窃取令牌的人,在令牌过期或被撤销之前,最多只能进行第一类变更:即收紧访问权限或可在控制台中撤销的变更,并且这些变更会出现在活动日志中。他们无法修改策略、授予管理员角色、操作账单或创建令牌。如果你希望每项变更都通过已登录的会话完成,请选择 Always approve in the dashboard。
- 智能体中或系统对话框中的确认,可以防范试图自行批准的提示词注入。但它无法防范机器上能够控制用户界面的软件。
- 只有当人员认真阅读其所批准的内容时,审批才有效。摘要和摘要码均来自服务器,而不是来自智能体。