@neil9466/gpt-expert-mode
v1.2.2
Published
GPT 专家模式:让免费/低成本 LLM agent 调用 ChatGPT 网页版作为决策主脑,无需 API Key。基于 parley CDP 框架二次开发。Use ChatGPT (web) as the decision brain for low-cost LLM agents, no API key needed.
Maintainers
Readme
GPT 专家模式(gpt-expert-mode)
让免费 / 低成本 LLM 当"躯体",让 GPT 当"大脑"——无需 API Key,即可获得 GPT 大模型的决策体验。
一、这个 Skill 是做什么的?
如果你正在使用一个免费或低成本的本地大模型(如 GLM、Qwen 等开源/廉价模型)作为日常 coding agent,你大概率遇到过这样的痛点:
- 模型便宜够用,但规划复杂任务、做技术决策时的水平欠佳;
- 想用 GPT(ChatGPT)来把关决策,却不想为 API 付费。
本 skill 就是为此而生:
gpt-expert-mode 把当前 agent 变成纯执行者,把 GPT(ChatGPT 网页版)变成决策主脑。
激活后:
| 角色 | 承担者 | 职责 | |---|---|---| | 决策者(大脑) | GPT(ChatGPT 网页版) | 任务规划、方案选型、指令下发、结果验收 | | 执行者(躯体) | 当前 agent(任意低成本 LLM) | 文件读写、命令执行、浏览器操作、代码搜索等苦力活 |
agent 通过内嵌的 parley CDP 框架直接驱动本机 Chrome 上的 ChatGPT 页面,把任务上下文发给 GPT、读回决策、执行、再回传结果,循环往复直到 GPT 确认任务完成。
全程无需 OpenAI API Key——用的只是你已经登录的 ChatGPT 网页版。于是:你以低成本模型的价格,获得了 GPT 级别的决策质量。
二、效果示例
下图是一次真实协作:用户要求部署 Jenkins MCP,本地 agent(GLM-5.3)先梳理出"agent 能自动做什么 / 不能凭空做什么"的权限边界,然后通过 parley 把任务交给 GPT 决策。GPT 没有盲目下令开干,而是识别出信息缺口,反过来给出结构化选择题(Docker / CLI / kubectl / 浏览器 UI / 自定义),让 agent 先向用户确认部署方式——这正是"主脑"的价值:

- 左侧:本地 agent 整理的执行权限边界(可自动完成 ✅ / 不能凭空完成 ❌);
- 右侧:GPT 收到任务后给出的决策指令与待确认选项。
整个过程中,本地模型只负责"听懂指令并干活",所有关键判断都由 GPT 完成。
三、适合的场景
| 场景 | 说明 |
|---|---|
| 复杂任务的规划与决策 | 多步骤部署、环境搭建、重构方案选型等,让 GPT 拆解步骤、把关方向 |
| 低成本模型的"外挂大脑" | 日常用便宜模型干杂活,关键决策升级为 GPT 质量 |
| 方案评审 / 二次确认 | 对本地模型给出的方案心存疑虑,让 GPT 审阅并纠偏 |
| AI 对 AI 协作实验 | 利用内置 bridge 命令让两个 AI 标签页互相对话 |
| 无 API 预算的 GPT 重度使用 | 只要有 ChatGPT 网页版账号(免费版亦可),就能驱动 GPT 干活 |
不适合的场景:需要严格 SLA 的自动化流水线(网页版对话有流式延迟)、涉密项目(任务上下文会发往 ChatGPT 页面)。
四、工作原理
┌─────────────────────┐ ①任务上下文 ┌──────────────────────┐
│ 本地 agent(执行者) │ ────────────▶ │ Chrome (CDP 调试端口) │
│ 低成本 LLM + 工具集 │ │ ChatGPT 网页版 │
│ │ ◀──────────── │ (GPT 决策主脑) │
└─────────────────────┘ ②决策/指令 └──────────────────────┘
│ ▲
③执行 ④回传结果(循环,直到 GPT 确认任务完成)- 角色约定:激活时 agent 向 GPT 声明身份——"我是执行者,你是我上级",并汇报自己的能力清单(浏览器、文件、终端、搜索、抓取);
- CDP 驱动:parley 框架通过 Chrome DevTools Protocol 连接本机 Chrome,自动定位 ChatGPT 标签页,用
send-wait发送消息并等待流式回复结束; - 决策循环:agent 解析 GPT 指令 → 用本地能力执行 → 把结果回传 GPT → 读取新指令,周而复始;
- 完成判定:GPT 明确表示任务完成、或用户主动退出时结束协作。
关键点:不依赖任何 agent 专属工具(如 opencode 的 browser_*),只用 Python + websocket 与 Chrome 通信,因此可迁移到任何支持运行 Python 命令的 agent 环境。
五、安装方式
1. 一行命令安装(推荐)
npx -y @neil9466/gpt-expert-mode安装器会自动检测本机已安装 agent 的目录,并把 skill 装入每个 agent 的 skills/gpt-expert-mode/:
| 检测目录 | Agent |
|---|---|
| ~/.agents | 通用约定(opencode 等) |
| ~/.claude | Claude Code |
| ~/.qoder | Qoder |
| ~/.workbuddy | WorkBuddy |
| ~/.codex | Codex |
| ~/.cursor | Cursor |
- 一个 agent 都没检测到时,默认安装到
~/.agents/skills/; - 重复执行即为升级(覆盖重装);
- 指定目录安装:
npx -y @neil9466/gpt-expert-mode --dir ~/.claude/skills。
2. 通过 skills CLI 安装(skills.sh 生态)
npx skills add YangLv2023/gpt-expert-mode3. Clone 安装(备选)
git clone https://github.com/YangLv2023/gpt-expert-mode.gitskill 本体位于仓库内的
skills/gpt-expert-mode/目录——将该目录复制或软链到你的 agent skills 目录(如~/.agents/skills/、~/.qoder/skills/)即可,保持目录名gpt-expert-mode。
4. 准备 Chrome 与 ChatGPT
- 本机安装 Chrome,要求 Python 3.8+;
- Python 依赖无需手动安装(仅
websocket-client):首次运行任意 parley 命令时,入口脚本会自动检测并安装; - 运行任意 parley 命令时会自动拉起带 CDP 调试端口的 Chrome(独立用户数据目录),首次需在弹出的浏览器中登录 ChatGPT,之后会话长期保留;
- macOS / Linux / Git Bash 环境也可以用
scripts/start-browser.sh手动启动浏览器; - 首次使用如提示远程调试授权,需在
chrome://inspect/#remote-debugging中开启并点击"允许"。
5.(可选)注册 MCP 服务器
scripts/parley_mcp.py 将 parley 能力以 stdio JSON-RPC 暴露为 MCP 服务器,供 MCP 客户端直接调用:
{
"mcpServers": {
"parley": {
"command": "python",
"args": ["<本skill根目录>/scripts/parley_mcp.py"]
}
}
}验证安装
python scripts/parley.py list # 首次运行会自动安装依赖并拉起 Chrome能列出标签页即说明 CDP 链路正常。
六、快速使用
本 skill 支持两种模式,对 agent 说出对应触发词即可:
专家模式(持续协作,GPT 深度接管任务):
- "使用 gpt 专家模式" / "进入 gpt 专家模式" / "切换到 gpt 专家模式"
- "让 GPT 来决策" / "由 GPT 主导" / "GPT 说了算"
激活后 agent 会自动走完:启动 Chrome CDP → 定位 ChatGPT 标签 → 声明协作身份 → 进入执行循环。
快速问答(单轮咨询,把问题原样交给 GPT 并返回答案):
- "用 GPT 回答" / "问一下 GPT" / "让 ChatGPT 来回答"
手动驱动(了解底层时用):
python scripts/parley.py list # 列出标签页,找到 ChatGPT 的 tab_id
python scripts/parley.py navigate <tab_id> "https://chatgpt.com/"
python scripts/parley.py send-wait <tab_id> "你的问题" --timeout 60000 # 发送并等完整回复(推荐)
python scripts/parley.py read <tab_id> # 读取 GPT 最新回复
python scripts/parley.py poll <tab_id> # 轮询等待新内容退出:GPT 明确说"任务完成"、或用户说"退出 gpt 专家模式"即终止。
七、架构目录
gpt-expert-mode/
├── README.md # 英文说明(默认)
├── README.zh-CN.md # 中文说明
├── package.json # npm 发布配置(@neil9466/gpt-expert-mode)
├── bin/
│ └── install.js # 一行安装器:npx -y @neil9466/gpt-expert-mode,自动检测 agent 目录
├── LICENSE # MIT 许可证(含内嵌 parley 框架的授权声明)
└── skills/
└── gpt-expert-mode/ # skill 本体(agentskills.io 标准结构,由 skills.sh 索引)
├── SKILL.md # skill 定义:角色约定、激活流程、执行循环(agent 入口)
├── requirements.txt # Python 依赖清单(websocket-client)
├── assets/
│ └── example.png # 协作示例截图
├── references/
│ └── browser-reference.md # 浏览器操作参考文档
└── scripts/
├── parley.py # CLI 入口:python scripts/parley.py <command>
├── parley_mcp.py # MCP 服务器(stdio JSON-RPC)
├── start-browser.sh # 浏览器启动助手(macOS/Linux/Git Bash)
└── parley/ # 内嵌的 parley 框架
├── core.py # CDP 传输层:list_tabs / evaluate / click / navigate / cookies...
├── workflows.py # AI 工作流:send / send_and_wait / poll / bridge...
├── cli.py # 命令行解析
└── adapters/ # 站点适配器(自动识别标签页所属 AI 站点)
├── base.py # 适配器基类
├── js.py # 通用 DOM 发现 JS 代码库(跨站点输入框/消息定位核心)
├── chatgpt.py # ChatGPT 适配
├── claude.py # Claude 适配
├── gemini.py # Gemini 适配
├── grok.py # Grok 适配
└── generic.py # 通用兜底适配分层设计:core.py(CDP 传输)与 workflows.py(对话工作流)完全解耦,adapters/ 屏蔽各 AI 站点的 DOM 差异——理论上换一个 adapter 就能把"主脑"换成 Claude / Gemini / Grok 网页版。
八、安全说明
本 skill 通过 CDP 控制本地浏览器,并具备执行命令/读写文件的能力,因此内置了明确的安全边界(详见 SKILL.md 中的**安全策略(Security Guidelines)**章节):
- CDP 访问控制(v1.2.2):自动启动的 Chrome 仅接受环回来源(
http://localhost:9222、http://127.0.0.1:9222)的调试连接,已移除原先的--remote-allow-origins=*(此前任意网页都可驱动调试 WebSocket)。 - Cookie 保护(v1.2.2):
parley cookies默认将 cookie 值脱敏为[REDACTED];使用--full(CLI,需确认)或allow_sensitive_data=true(MCP)显式开启后才返回真实值。凭据不得转发给外部 AI。 - 外部内容隔离(v1.2.2):从网页读取的内容视为不可信数据而非指令。
bridge转发时带[RELAYED_CONTENT]边界标记,read-dom/extract结果携带来源 URL。 - agent 指令边界:agent 执行 GPT 决策的同时遵守用户授权、本地安全边界、工具权限约束与敏感数据保护规则——冲突时以安全策略优先。
2026-08-25 由 skills.sh 三方独立安全审计(Gen Agent Trust Hub、Socket、Snyk)标记本 skill。v1.2.2 加固后,已确认的 CDP 攻击面被关闭;剩余项属于浏览器自动化类 skill 固有的设计取舍(例如 agent 按设计具备本地命令执行能力)。v1.2.2 发布后可重新运行审计查看最新结果。
九、鸣谢
本 skill 的浏览器协作能力基于开源项目 parley 二次开发而来。
- 原项目:Satyajeet-04/parley —— 一个轻量级的 CDP 浏览器自动化 + AI 对话工作流框架,仅依赖
websocket-client即可驱动 ChatGPT / Gemini / Claude / Grok 等网页版 AI。 - 二次开发内容:在原框架基础上,封装出完整的 agent skill 形态——角色约定与激活流程(SKILL.md)、"GPT 决策 / agent 执行"的协作循环、快速问答模式(单轮 ask GPT)、MCP 服务器封装(
parley_mcp.py)、依赖自动安装,以及面向中文环境的适配说明。 - 许可:原项目采用 MIT 协议,本 skill 沿用 MIT 并在 LICENSE 中保留原版权声明。
🙏 特别感谢 @Satyajeet-04 —— 如果没有 parley 这样简洁优雅的 CDP 框架,就没有本 skill 的一切。强烈推荐 star 原项目。
十、补充说明
环境变量
| 变量 | 默认值 | 说明 |
|---|---|---|
| PARLEY_CDP_HOST | localhost | CDP 主机 |
| PARLEY_CDP_PORT | 9222 | CDP 端口 |
| PARLEY_USER_DATA_DIR | ~/AppData/Local/Temp/chrome-parley | Chrome 用户数据目录 |
使用须知
- 登录态:若 ChatGPT 页面提示需要登录,agent 会停止并提醒你手动登录;
- 超时:
send-wait默认 60s 超时,GPT 长回复时可适当调大--timeout; - Windows 兼容:脚本已内置
PYTHONIOENCODING=utf-8处理,中文输出无乱码; - 执行边界:agent 虽服从 GPT 决策,但涉及删除、推送等高风险操作时仍建议用户亲自确认——GPT 也可能犯错,请核查重要信息;
- 隐私提示:任务上下文会发送到你自己的 ChatGPT 页面,仅你可见,但请勿在任务中携带机密凭证。
两种使用模式
本 skill 内置"专家模式"与"快速问答"两种模式(无需额外安装任何其他 skill):
| 模式 | 触发方式 | 适用 | |---|---|---| | 专家模式 | "使用 gpt 专家模式"、"GPT 说了算" | 持续、多轮、深度接管的复杂任务 | | 快速问答 | "用 GPT 回答"、"问一下 GPT" | 单轮咨询,原样转发问题与答案 |
两种模式共享同一套 parley 基础设施:前者是持续的决策循环,后者是轻量的单轮问答通道。
