它做什么
从显式指定的文件构建经策略检查的 prompt 包,通过 Oracle 驱动 ChatGPT Web,并把会话记录保存在 .ai/harness/chatgpt/sessions/<sessionId>/ 下。
repo-harness chatgpt browser-* 使用本地已登录的 ChatGPT Web 会话来做规划和审查。它不使用 OpenAI API,也不需要 OPENAI_API_KEY。Prompt 由显式指定的仓库文件构建,每次运行都保存为一份 repo-local 的会话记录。
浏览器引擎跑在 Oracle 上——repo-harness 把 oracle --engine browser 作为默认、推荐的 provider 来封装。更早的自研 Chrome 引擎只作为已弃用的诊断手段保留。
它做什么
从显式指定的文件构建经策略检查的 prompt 包,通过 Oracle 驱动 ChatGPT Web,并把会话记录保存在 .ai/harness/chatgpt/sessions/<sessionId>/ 下。
它不做什么
绝不索要用户名、密码、SSO 密钥、2FA 验证码、cookie 或浏览器 token。不会上传任意仓库文件,不会默认启用远程 CDP,也绝不把模型回复当作事实来源——repo-local 的会话存储才是审计记录。
创建会话根目录并打印推荐的忽略规则(浏览器状态保留在本地):
repo-harness chatgpt browser-setup --repo .让一个固定版本的 Oracle 二进制可被解析——放在你的 PATH 上,或仓库的 node_modules/.bin 里。
Oracle 是一个可选的外部 CLI,有自己的运行时要求(Node ≥ 24),与 repo-harness 的 Bun 运行时相互独立。
验证引擎已就绪(这是 Oracle 运行时边界的权威判断):
repo-harness chatgpt browser-doctor --repo . --provider oracle --json反复运行直到它报告 status: "ready"。如果它报告 nodeCompatible: false,先修复或重装
Oracle 的 Node 运行时。
在不打开 ChatGPT 的情况下校验 prompt、文件策略、内联大小和会话写入路径。它会保存一个
dry_run 会话。
repo-harness chatgpt browser-consult \ --repo . \ --dry-run \ --prompt "Review this sprint." \ --file plans/sprints/example.sprint.md \ --model "GPT-5 Pro" \ --thinking heavyOracle 是默认 provider,所以 --provider oracle 是可选的,这里写出来只是为了清楚。
repo-harness chatgpt browser-consult \ --repo . \ --provider oracle \ --prompt "Review this PRD and return risks." \ --file plans/prds/example.prd.md \ --follow-up "Challenge your previous recommendation." \ --write-output .ai/harness/handoff/gptpro/chatgpt-review.mdrepo-harness chatgpt browser-list --repo .repo-harness chatgpt browser-session --repo . chgpt_20260617_120530_review-sprintrepo-harness chatgpt browser-session --repo . chgpt_20260617_120530_review-sprint --metadata-onlyrepo-harness chatgpt browser-open --repo . chgpt_20260617_120530_review-sprint每个会话都是一份自包含的记录:
把一个 follow-up 链接到一个已保存的会话——它会通过 Oracle 恢复那段对话:
repo-harness chatgpt browser-followup \ --repo . \ --session chgpt_20260617_120530_review-sprint \ --prompt "Turn that review into a Codex-ready goal."清理默认是 dry-run,只有传入 --force 时才会移除候选项:
repo-harness chatgpt browser-cleanup --repo . --status dry_run --limit 20repo-harness chatgpt browser-cleanup --repo . --status dry_run --limit 20 --forcerepo-harness chatgpt browser-doctor --repo . --provider nativerepo-harness chatgpt browser-consult --repo . --provider native --prompt "Reply exactly OK"原生运行使用 ChatGPT Web UI 中已经选好的模型/思考模式;传入 --model 或 --thinking 会 fail closed。
当你需要由 provider 端选择模型时,请用 Oracle。
浏览器工具在 MCP 中默认禁用。显式启用它们:
repo-harness mcp serve \ --repo . \ --transport stdio \ --profile planner \ --enable-chatgpt-browser这会暴露 run_chatgpt_browser_consult、read_chatgpt_browser_session、
list_chatgpt_browser_sessions、open_chatgpt_browser_session 和
continue_chatgpt_browser_session。MCP consult 把 writeOutput 限制在工作流产物上,比如
.ai/harness/handoff/*.md、tasks/reviews/**、.ai/harness/checks/**、plans/prds/** 和
plans/sprints/**。
引擎在任何浏览器或 provider 运行之前就拒绝被拒文件,并拒绝那些解析到仓库之外的允许路径符号链接。
AGENTS.md、CLAUDE.md、README.md、docs/**、plans/**、tasks/**、
.ai/context/**、.ai/harness/**、package.json.env / .env.*、私钥和证书文件、.ssh/**、.git/**、node_modules/**、dist/**、
build/**、coverage/**、secrets/**、credentials/**、private/**、
_ops/**、.repo-harness/**/*.json