npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@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.

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 先向用户确认部署方式——这正是"主脑"的价值:

GPT 专家模式实际协作示例

  • 左侧:本地 agent 整理的执行权限边界(可自动完成 ✅ / 不能凭空完成 ❌);
  • 右侧:GPT 收到任务后给出的决策指令与待确认选项。

整个过程中,本地模型只负责"听懂指令并干活",所有关键判断都由 GPT 完成。


三、适合的场景

| 场景 | 说明 | |---|---| | 复杂任务的规划与决策 | 多步骤部署、环境搭建、重构方案选型等,让 GPT 拆解步骤、把关方向 | | 低成本模型的"外挂大脑" | 日常用便宜模型干杂活,关键决策升级为 GPT 质量 | | 方案评审 / 二次确认 | 对本地模型给出的方案心存疑虑,让 GPT 审阅并纠偏 | | AI 对 AI 协作实验 | 利用内置 bridge 命令让两个 AI 标签页互相对话 | | 无 API 预算的 GPT 重度使用 | 只要有 ChatGPT 网页版账号(免费版亦可),就能驱动 GPT 干活 |

不适合的场景:需要严格 SLA 的自动化流水线(网页版对话有流式延迟)、涉密项目(任务上下文会发往 ChatGPT 页面)。


四、工作原理

┌─────────────────────┐  ①任务上下文   ┌──────────────────────┐
│  本地 agent(执行者) │ ────────────▶ │  Chrome (CDP 调试端口) │
│  低成本 LLM + 工具集  │               │  ChatGPT 网页版       │
│                     │ ◀──────────── │  (GPT 决策主脑)      │
└─────────────────────┘  ②决策/指令    └──────────────────────┘
        │      ▲
   ③执行 ④回传结果(循环,直到 GPT 确认任务完成)
  1. 角色约定:激活时 agent 向 GPT 声明身份——"我是执行者,你是我上级",并汇报自己的能力清单(浏览器、文件、终端、搜索、抓取);
  2. CDP 驱动:parley 框架通过 Chrome DevTools Protocol 连接本机 Chrome,自动定位 ChatGPT 标签页,用 send-wait 发送消息并等待流式回复结束;
  3. 决策循环:agent 解析 GPT 指令 → 用本地能力执行 → 把结果回传 GPT → 读取新指令,周而复始;
  4. 完成判定: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-mode

3. Clone 安装(备选)

git clone https://github.com/YangLv2023/gpt-expert-mode.git

skill 本体位于仓库内的 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 基础设施:前者是持续的决策循环,后者是轻量的单轮问答通道。