官方新手路径 · 中中文版

PatchWarden 新手教程

先在 ChatGPT 中确认计划,再让 PatchWarden 把任务安全交给本地 Codex、Claude Code 或 OpenCode 执行,并带回验证、审计与完整证据。

更新于 2026-07-28约 15 分钟配置Windows 10/11

最快路径

第一次只做一件事:把链路跑通。Direct 是可选高级能力,可以稍后再开。

  1. 01

    安装 PatchWarden,选择专用工作区

  2. 02

    确认至少一个本地 Agent 可用

  3. 03

    创建 runtime API key 与 Core Tunnel

  4. 04

    在 PatchWarden 配置 Tunnel 并启动服务

  5. 05

    在 ChatGPT 创建 PatchWarden 插件

  6. 06

    新会话调用 health_check,再运行只读测试

01 · 开始前

准备好账号、工作区与本地 Agent

不要从真实生产仓库开始。先准备一个专用 Demo 工作区,并确认你能使用 OpenAI Tunnels 和 ChatGPT 自定义插件。

  • Windows 10/11 与最新版 PatchWarden Desktop
  • 可使用自定义 Plugins/Apps 的 ChatGPT 账号
  • 一个专用代码目录,不能是磁盘根目录、用户主目录、桌面、下载或文档目录
  • Codex CLI、Claude Code 或 OpenCode 至少一个,且已登录
  • OpenAI Organization 中的 Tunnels Read + Use 权限
先用 Core,再考虑 Direct

Core 负责受控任务、验证和审计。Direct 提供更直接的文件操作能力,建议在理解权限边界后再单独启用。

02 · 本地准备

安装 PatchWarden,选择安全工作区

运行安装包后选择“ChatGPT Tunnel”。工作区必须是实际包含项目的专用目录,PatchWarden 会把任务限制在这里。

  1. 1

    下载并运行最新版桌面安装包。

  2. 2

    首次启动选择 ChatGPT Tunnel;仅完全本地使用时选择本地 MCP。

  3. 3

    点击文件夹按钮,选择你的专用 Demo 工作区。

  4. 4

    进入“设置 → 本地 Agent 与模型”,确认至少一个 Agent 显示可用。

  5. 5

    若 Agent 一启动就退出,在独立终端运行其 CLI,完成登录后回到 PatchWarden 重新检测。

下载最新版
PatchWarden 首次启动的工作区选择界面
选择 ChatGPT Tunnel 与专用工作区
PatchWarden 本地 Agent 检测界面
至少一个本地 Agent 必须显示可用

检测到 CLI 不代表账号一定可用。Agent 立即退出时,优先检查 CLI 登录、许可和模型配置。

当前 Windows 安装包尚未代码签名,SmartScreen 可能显示未知发布者。安装前请用同一 Release 的 SHA-256 校验文件核对下载包。

03 · Tunnel

创建 runtime key,并连接 Core Tunnel

创建一个专用于 Tunnel 的运行时密钥。它只在创建时完整显示,请安全保存,永远不要放进截图、提示词、README 或仓库。

先准备密钥与 Tunnel

  • 在 Organization API keys 页面创建专用 secret key。
  • 确认创建者具有 Tunnels Read + Use 权限。
  • 在 Tunnels 页面创建 PatchWarden(Core)Tunnel,并保存完整 Tunnel ID。
  • 需要 Direct 时,再创建独立的 PatchWarden Direct Tunnel。
  • 从 Tunnels 页面下载受支持的 tunnel-client。

再回到 PatchWarden 配置

  • 打开“设置 → MCP 与隧道”,定位 tunnel-client.exe。
  • 在 Core Profile 填写 Core Tunnel ID 与 runtime key,点击“配置并验证 Core”。
  • 需要 Direct 时启用 Direct profile,并在 Direct Profile 单独填写凭据。
  • 没有代理就选择“不使用代理”;本地代理 URL 不应含账号密码。
  • 打开高级控制台,点击“全部启动”,等待 Core、Watcher、Tunnel 全部健康。
不要混淆密钥

PatchWarden Tunnel 使用 CONTROL_PLANE_API_KEY 对应的 runtime key,不是普通 OPENAI_API_KEY。OPENAI_ADMIN_KEY 仅用于管理 Tunnel,不应作为长期运行密钥。

OpenAI Platform Tunnels 管理页面
创建 Core 与可选的 Direct Tunnel
OpenAI Organization API keys 页面
创建专用 runtime API key,敏感字段已遮挡
PatchWarden Tunnel 配置界面
分别配置并验证 Core / Direct profile
PatchWarden 高级控制台健康状态
Core、Watcher、Direct 与 Tunnel 均健康

04 · ChatGPT

开启开发者模式,分别创建两个插件

ChatGPT 界面可能显示 Plugins、Apps 或旧称 Connectors。开发者模式允许添加未经审核的自定义 MCP,只应连接你自己的 PatchWarden。

  1. 1

    打开 ChatGPT 设置 → Plugins/Apps(旧版可能叫 Connectors)。

  2. 2

    找到并开启 Developer mode,阅读风险提示。

  3. 3

    创建 PatchWarden:Connection 选 Tunnel,选择 Core Tunnel,Authentication 选 No Auth。

  4. 4

    需要 Direct 时另建 PatchWarden Direct,选择 Direct Tunnel,同样使用 No Auth。

  5. 5

    日常使用建议保留逐次确认,尤其是 Direct、文件修改和高风险动作。

为什么是 No Auth?

这里询问 MCP Server 是否还需要额外 OAuth/Bearer 认证。当前 PatchWarden 已通过 Secure MCP Tunnel 连接,没有再加一层插件 OAuth。不要把 runtime key 粘贴到 Authentication 字段。

ChatGPT Developer mode 开关
开启 Developer mode 前确认风险边界
ChatGPT 新建自定义插件界面
Connection 选择 Tunnel,Authentication 选择 No Auth
ChatGPT PatchWarden 插件列表
Core 与 Direct 应显示为两个独立插件
PatchWarden 插件工具和权限界面
检查工具说明,并保留必要的人工确认

health_check

第一次连接检查

新建 ChatGPT 会话,同时选择 @PatchWarden 与可选的 @PatchWarden Direct,然后运行下面的只读检查。

工具成功返回且 Watcher 为 healthy,说明 ChatGPT → Tunnel → PatchWarden 的链路已经打通。
PatchWarden / ChatGPT
@PatchWarden @PatchWarden Direct
请依次调用:
1. health_check
2. list_agents

返回 server_version、watcher.status、Core/Direct tool_profile、tool_count,
并列出 invocation_ready=true 的 Agent。不要执行任何文件修改。

升级后看见旧工具?刷新两个插件

更新 PatchWarden 后,旧 ChatGPT 会话可能缓存旧工具目录。分别打开 PatchWarden 和 PatchWarden Direct,点击 Refresh,然后新建会话并再次调用 health_check。

核对 server_version、tool_profile、tool_count、catalog_consistent、watcher.status 与 tool_manifest_sha256。
ChatGPT 插件刷新按钮
更新后分别刷新 Core 与 Direct 插件

05 · 第一个任务

先跑只读 Demo,再运行修改任务

第一次只验证连接、Agent 与真实测试命令,不改文件、不发布。确认闭环后,再扩大到明确允许的文件。

真实工作流演示

53 秒精简版 · 已遮挡敏感信息
打开 GIF 版本
可复制的只读冒烟测试
@PatchWarden @PatchWarden Direct
请对我的 Demo 工作区做一次只读连接测试:
1. 调用 health_check
2. 调用 list_agents
3. 选择 invocation_ready=true 的 Agent
4. 只读取 README.md 与 package.json
5. 运行 package.json 中真实存在的 npm test
6. 禁止修改文件,禁止 commit、push、tag、publish、release 或部署
7. 返回 task_id、lineage_id、verification、audit 和 changed_files_total

只运行 package.json 中真实存在的验证命令;如果没有 npm test,就先让 Agent 报告可用脚本,不要猜。

06 · 验收

不要只相信“已完成”,要看证据

Agent 进程结束只说明它停止了。真正完成还需要独立 verification、范围检查、audit verdict 与最终 lineage 状态。

task_id / lineage_id
任务与工作流的唯一证据
verification passed
真实验证命令成功
changed_files_total
实际修改文件数量
out_of_scope_changes_total
范围外修改数量,预期为 0
audit ACCEPTED
独立审计接受本次结果
lineage accepted
工作流到达最终可接受状态
PatchWarden 任务与 Agent 面板
任务状态、Agent 与验收结果
PatchWarden 审计日志
审计日志区分通过、警告与失败
PatchWarden 运行日志
Core、Direct、Watcher 与控制中心日志

07 · 排障

最常见的五个问题

先判断是哪一段链路不健康,再处理。不要通过结束未知 PID 的方式强行恢复。

Watcher heartbeat is stale

先在高级控制台点击“全部启动”;仍未恢复时点击“全部重启”,等待状态变为 healthy。随后重新运行 health_check。

更新后仍显示旧工具

确认本地版本已更新,分别 Refresh 两个插件,关闭旧会话并新建会话,再比较 server_version 与 tool_manifest_sha256。

ChatGPT 看不到 Tunnel

确认 Tunnel 位于正确的 Organization/Workspace,key 创建者有 Tunnels Read + Use,tunnel-client 与 PatchWarden 都在运行。新 Tunnel 可能需要短暂传播。

Agent 显示可用,但任务立即失败

在终端直接运行 Agent CLI,确认登录与模型配置;回到 PatchWarden 重新检测,并查看 failure_reason、provider_error_reference 与日志。

创建插件时需要 Authentication 吗?

当前 Secure MCP Tunnel 配置选择 No Auth。runtime key 留在本地 PatchWarden/tunnel-client 中,不应填入 ChatGPT 插件。

PatchWarden Watcher stale 和 Core 不可用状态
异常状态:先启动,仍异常再全部重启
PatchWarden 重启后健康状态
恢复后所有关键服务应显示健康

08 · 安全

第一次演示也要守住边界

PatchWarden 帮你约束执行,但任务范围仍应由你明确写出。

  • 永远不要公开 API Key、Token、Cookie、.env、SSH Key 或 Authorization Header。
  • 公开截图建议遮挡 Tunnel ID、App ID、Version ID、用户名与私有仓库名。
  • 使用专用 Demo 仓库,不要用生产仓库录制首次教程。
  • 明确允许文件、验证命令和禁止操作。
  • 演示任务禁止自动 commit、push、tag、publish、release 或部署。
  • Direct 权限更直接,日常使用建议保留人工确认。