适用于 OpenCode 的 zn-gate

为 OpenCode 安装 zn-gate:一个小插件,阻止读取含值的 .env 文件和凭据文件,对每个工具的输出进行脱敏,并拦截粘贴到提示词中的密钥。

查看 .md

你需要 Node.js 18 或更高版本。在终端中逐行粘贴以下命令,每行后按回车:

npm install -g zn-gate
zn hooks install opencode

zn-gate 会安装一个小型 OpenCode 插件。然后重启 OpenCode。

你将获得的保护

  • 在所有工具中,含值的 .env 文件、凭据文件和 ~/.zn 的读取都会被阻止。
  • 每个工具的输出在模型看到之前都会被脱敏,终端界面中的预览也一样。
  • 粘贴到提示词中的密钥会被拦截(OpenCode 会将其显示为错误)。
  • 如果 zn 插件无法运行,调用和消息都会被阻止。

限制

  • 未在 Windows 上测试。
  • zn-gate check 只确认 zn 针对 OpenCode 的规则,不会启动 OpenCode。

把 .env 中的值存入保险库

智能体无法读取含真实值的 .env 文件。请把这些值移入 zn-gate 的加密保险库,文件中会保留 __ZN_STRIPE_KEY__ 等标记:

zn unlock            # 首次运行时创建保险库
zn env shadow .env

完成后,你自己的应用读取 .env 时也只会得到标记:在你允许之后,用 zn-gate 的 run 命令启动它。env shadow 会告诉你如何撤销。更多信息:保险库。

检查是否正常工作

在新的终端中运行 zn-gate check。应显示 OpenCode 的 OK。输出含义。