卸载 zn-gate
如何从你的电脑上移除 zn-gate:用 zn-gate uninstall 一步完成,或逐项移除。你的代码不会被改动。
你可以一步移除 zn-gate,也可以逐项移除。无论哪种方式,都请自己在自己的终端里运行命令:当 AI 智能体或脚本运行它时,zn-gate 会拒绝卸载,也不允许你的智能体替你运行。
这些操作都不会改动你的代码。
一步完成:zn-gate uninstall
npx -y zn-gate uninstall
(如果你是用 npm install -g zn-gate 安装的 zn-gate,请运行 zn-gate uninstall。)
它会做什么:
- 先查看。 它会找出 zn-gate 为你的用户和你当前所在文件夹设置的内容:Claude Code 插件、zn 为各个智能体设置的钩子,以及被
init --wrap-mcp包装过的 MCP 服务器。它会打印这份清单和文件路径。它只会找到你当前所在文件夹里的钩子:如果你在多个项目中使用过--project,请在每个项目的文件夹里再运行一次。 - 在你的终端里询问。 在你对“Remove what is listed above?”回答“是”之前,不会移除任何东西。
- 移除它列出的内容。 对于被包装的 MCP 服务器,它会放回包装之前保存的配置副本(你此后对该文件所做的修改会丢失)。钩子和插件的移除方式与下面的手动步骤相同。如果某一步无法完成,它会说明,并打印需要你自己运行的内容:例如,没有保存副本的被包装 MCP 服务器会保持原样(请手动去掉“zn-gate shield”包装),如果找不到
claude命令,则不会移除插件,并会打印移除插件的命令。 - 保留你的保险库。 保险库里存放着你保存的密钥。只有在你对第二个独立的问题回答“是”时才会删除,默认答案是“否”。这第二个“是”会删除保险库文件,以及系统钥匙串中的保险库密钥;
.zn文件夹里的其余内容(你的设置)会保留,如有需要请手动删除。如果保险库处于解锁状态(先运行zn-gate lock,再重新运行 uninstall),或这台电脑由 zn Team 组织管理,保险库会被保留而不会删除。删除后无法恢复。 - 最后运行
zn-gate check,让你看到 zn-gate 已关闭,并给出最后一步:npm uninstall -g zn-gate,它会移除程序本身。
想只查看清单而不改动任何东西,请加上 --dry-run:
npx -y zn-gate uninstall --dry-run
uninstall 绝不会编辑你的 .env 文件。如果你用 env shadow 把其中的值移入了保险库,这些文件里会留有 __ZN_API_KEY__ 之类的标记。请在删除保险库之前把真实的值放回去:见 你的 .env 文件和保险库。
逐项移除
如果你只想移除其中一部分,请用这种方式。每条命令都在你自己的终端里运行。
Claude Code 插件
claude plugin uninstall zn-gate@usezn
或者在 Claude Code 里输入 /plugin,打开 Installed 标签页,选择 zn-gate,然后选择 Uninstall。如果还想移除 usezn 的插件列表,请运行 claude plugin marketplace remove usezn。
钩子(Codex CLI、Cursor、OpenCode、Antigravity、ZCode desktop app、Gemini CLI、Copilot CLI,或未使用插件的 Claude Code)
npx -y zn-gate hooks uninstall claude-code
对于其他智能体,请把 claude-code 换成 codex、cursor、opencode、antigravity、zcode、gemini 或 copilot。如果你只为某一个项目安装了钩子,请加上 --project,并在该项目的文件夹里运行。运行前会先写入设置文件的备份。对于 Claude Code,它还会移除 zn 自带的 secrets MCP 服务器。加上 --no-mcp 则不会动 MCP 服务器。
被 init --wrap-mcp 包装的 MCP 服务器
npx -y zn-gate init --revert
这会把每个 MCP 设置文件恢复成 zn 包装之前刚保存时的样子。你之后对这些文件所做的修改,例如你添加的 MCP 服务器,都会丢失,所以请在之后重新添加。它只会撤销 MCP 包装:不会移除插件,也不会移除任何钩子。如果你只运行过不带 --wrap-mcp 的 init,就没有需要恢复的内容。
你手动添加的 zn-gate MCP 服务器(你的智能体 MCP 设置中名为 zn-gate 的条目)不会被这里的任何命令改动:请自己删除该条目。
你的 .env 文件和保险库
如果你运行过 env shadow,你的 .env 文件里是标记,真实的值在保险库里。如果你移除 zn-gate 并删除保险库,却没有把这些值放回去,这些值将无法找回。请先把它们放回去,使用你运行 env shadow 时它打印出的加密副本名称:
npx -y zn-gate env unshadow .env --backup <name>
zn-gate 把保险库和它的设置放在你主目录下的 .zn 文件夹里。移除插件、钩子或程序都会保留这个文件夹。要删除保险库,请对 zn-gate uninstall 的第二个问题回答“是”:它会删除保险库文件和系统钥匙串中的保险库密钥,.zn 文件夹里的其余内容(你的设置)会保留。如果保险库处于解锁状态(先运行 zn-gate lock,再重新运行 uninstall),或这台电脑由 zn Team 组织管理,它会保留保险库。你也可以在取回你的值之后手动删除整个文件夹。保险库删除后无法恢复。
程序本身
npm uninstall -g zn-gate
如果你还安装了 Python 包,pip uninstall zn-gate 可以将其移除。
确认已关闭
npx -y zn-gate check
uninstall 会在最后替你运行它。如果它仍然报告有内容处于已设置状态,那一行会说明还剩哪一部分以及该运行什么。