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

@bsbofmusic/cdper-chatgpt

v1.1.9

Published

Standalone ChatGPT CLI controlled through a user's real Chrome/Edge via CDP Bridge

Downloads

1,952

Readme

cdper-chatgpt

Standalone ChatGPT workflow CLI for the user's real logged-in Chrome over CDP. It is not a general browser automation framework; use official playwright-core directly for arbitrary page control after Chrome is available.

Install

npm install -g @bsbofmusic/cdper-chatgpt

Requirements:

  • Node.js 18+
  • A real Chrome/Edge profile with ChatGPT logged in
  • Local Chrome DevTools on 127.0.0.1:9222 from your launcher/bridge; CDP_WS remains an optional explicit override

Use

cdper-chatgpt "What is 2+2?"
cdper-chatgpt "请详细解释 TCP keepalive" --json --wait normal
cdper-chatgpt doctor --json
cdper-chatgpt status --json
cdper-chatgpt session --json

Save a CDP WebSocket URL locally:

cdper-chatgpt config set --ws "ws://<host>:<port>/devtools/browser?token=<token>" --json

Query options

  • --json - structured JSON output
  • --mode default|instant|thinking|pro - ChatGPT mode path
  • --allow-mode-switch - allow mode switching
  • --session <id> - continue a known session
  • --conversation-policy auto|fresh|followup
  • --wait short|normal|long|very_long
  • --max-wait-ms <ms>
  • --progress-every-ms <ms>
  • --max-extends <n>
  • --no-check - skip preflight check

Programmatic API

const { queryChatGPT } = require('@bsbofmusic/cdper-chatgpt');

const result = await queryChatGPT('What is 2+2?', {
  conversationPolicy: 'fresh',
  expectedDuration: 'short',
});

Release notes — 1.0.1

  • Depends on @bsbofmusic/cdper-core@^1.2.7, so status --json correctly reports healthy local CDP (bridge=local, browser=ready, ws=alive) as ok=true.
  • Fresh ChatGPT queries use the homepage composer path: switch Thinking through the visible UI, insert the prompt via CDP Input.insertText, click the visible send button, and verify a new user turn. The old ?q=/hints=search URL-entrypoint naming was removed from the live path because it drifted in headless Chrome.
  • Pack/install smoke was verified from the generated tarball in an isolated npm prefix before publish.

Design note: avoid clever URL shortcuts when the product UI is the stable contract. The durable invariant is “one full prompt inserted atomically, one real send click, one verified user turn.”


Security

All ChatGPT workflow control happens through the user's real browser via local CDP. Tokens are redacted from diagnostic output. Do not commit CDP_WS or full WebSocket URLs containing token=. For arbitrary page automation, use playwright-core directly instead of expanding cdper's product surface.