GitHub - MikeChongCan/10x-chat

5 min read Original article ↗

Chat with web AI agents (ChatGPT, Gemini, Claude, Grok, Perplexity, NotebookLM) from your terminal via browser automation.

English | 繁體中文

10x-chat uses Playwright to automate browser sessions with persisted login profiles. Login once, then send prompts — bundled with file context — from your CLI or AI coding agent.

Use with OpenClaw

Paste this into your OpenClaw chat to install as a skill:

https://raw.githubusercontent.com/MikeChongCan/10x-chat/refs/heads/main/skills/10x-chat/SKILL.md

Quick Start

npx playwright install chromium  # one-time browser setup

# 1. Login to a provider (opens a browser window)
npx 10x-chat@latest login chatgpt

# 2. Send a prompt
npx 10x-chat@latest chat -p "Explain this error" --provider chatgpt --file "src/**/*.ts"

# 3. View session history
npx 10x-chat@latest status

Tip

Use bunx (bun.sh) instead of npx for faster startup.

Commands

login <provider>

Opens a headed browser for you to authenticate. The session persists across runs.

npx 10x-chat@latest login chatgpt       # Login to ChatGPT
npx 10x-chat@latest login gemini         # Login to Gemini
npx 10x-chat@latest login claude         # Login to Claude
npx 10x-chat@latest login grok           # Login to Grok
npx 10x-chat@latest login perplexity     # Login to Perplexity
npx 10x-chat@latest login notebooklm     # Login to NotebookLM
npx 10x-chat@latest login --status       # Check login status for all providers

chat

Send a prompt to an AI provider via browser automation.

npx 10x-chat@latest chat -p "Review this code for bugs" --provider chatgpt --file "src/**/*.ts"
npx 10x-chat@latest chat -p "Debug this error" --file "logs/error.log"
npx 10x-chat@latest chat -p "Explain this" --dry-run              # Preview bundle without sending
npx 10x-chat@latest chat -p "Explain this" --copy                  # Copy bundle to clipboard
npx 10x-chat@latest chat -p "Long task" --timeout 600000 --headed  # 10min timeout, visible browser
Flag Description
-p, --prompt <text> (required) The prompt to send
--provider <name> Provider: chatgpt, gemini, claude, grok, perplexity, notebooklm (default: config)
--model <name> Model/mode to select in the provider UI (e.g. Gemini: Fast, Thinking, Pro)
-f, --file <paths...> Files/globs to bundle as context
--copy Copy bundle to clipboard instead of sending
--dry-run Preview the bundle without sending
--headed Show browser window during chat
--timeout <ms> Response timeout in milliseconds (default: 300000)

image

Generate images via ChatGPT (DALL-E) or Gemini (Imagen) with non-blocking polling.

npx 10x-chat@latest image -p "A fox astronaut in space, digital art" --provider chatgpt
npx 10x-chat@latest image -p "Watercolor landscape" --provider gemini --save-dir ./images
npx 10x-chat@latest image -p "Logo design" --headed --timeout 120000
Flag Description
-p, --prompt <text> (required) The image generation prompt
--provider <name> Provider: chatgpt, gemini (default: chatgpt)
--headed Show browser window
--timeout <ms> Generation timeout (default: 120000)
--save-dir <dir> Directory to save generated images

research

Deep research via ChatGPT, Gemini, or Perplexity with non-blocking progress polling. Designed for long-running research tasks (5-10+ minutes).

npx 10x-chat@latest research -p "Latest breakthroughs in quantum computing" --provider gemini
npx 10x-chat@latest research -p "Market analysis of EVs" --provider chatgpt --timeout 600000
npx 10x-chat@latest research -p "Compare React vs Vue in 2026" --provider perplexity --save-dir ./reports
Flag Description
-p, --prompt <text> (required) The research query
--provider <name> Provider: chatgpt, gemini, perplexity (default: gemini)
--headed Show browser window
--timeout <ms> Total timeout (default: 600000 / 10 min)
--poll-interval <ms> Progress check interval (default: 5000)
--save-dir <dir> Directory to save the research report

status

List recent chat sessions.

npx 10x-chat@latest status              # Last 24 hours
npx 10x-chat@latest status --hours 72   # Last 3 days

session <id>

View details of a specific session.

npx 10x-chat@latest session <id> --render   # Pretty-print the response

config

View or modify configuration.

npx 10x-chat@latest config show
npx 10x-chat@latest config set provider gemini
npx 10x-chat@latest config set timeout 600000
npx 10x-chat@latest config set headless false

skill

Manage the agent integration skill (for Codex, Claude Code, etc).

npx 10x-chat@latest skill install   # Install SKILL.md to ~/.codex/skills/
npx 10x-chat@latest skill show      # Display SKILL.md content

notebooklm (alias: nb)

Manage NotebookLM notebooks and sources via RPC API.

npx 10x-chat@latest notebooklm list                              # List all notebooks
npx 10x-chat@latest notebooklm create "Research Topic"            # Create a notebook
npx 10x-chat@latest notebooklm delete <notebookId>                # Delete a notebook
npx 10x-chat@latest notebooklm sources <notebookId>               # List sources in notebook
npx 10x-chat@latest notebooklm add-url <notebookId> <url>         # Add URL source
npx 10x-chat@latest notebooklm add-url <notebookId> <url> --wait  # Add URL and wait for processing
npx 10x-chat@latest notebooklm add-file <notebookId> ./paper.pdf  # Upload file source
npx 10x-chat@latest notebooklm add-text <id> "Title" "Content"    # Add pasted text source
npx 10x-chat@latest notebooklm summarize <notebookId>             # AI summary + suggested topics

# Then chat with the notebook's sources:
npx 10x-chat@latest chat -p "Summarize key points" --provider notebooklm

File Bundling

The --file flag accepts globs. Files are assembled into a markdown bundle sent as the prompt:

npx 10x-chat@latest chat -p "Review these" --file "src/**/*.ts" "!src/**/*.test.ts"

Security-sensitive files (.env*, *.pem, *.key, etc.) are automatically excluded.

Data Layout

~/.10x-chat/
├── profiles/
│   ├── chatgpt/          # Playwright persistent browser profile
│   ├── gemini/
│   ├── claude/
│   ├── grok/
│   └── notebooklm/       # NotebookLM browser profile (shared Google auth)
├── sessions/
│   └── <uuid>/
│       ├── meta.json     # Session metadata
│       ├── bundle.md     # Prompt bundle sent
│       └── response.md   # Captured response
└── config.json           # User configuration

Agent Integration

10x-chat includes a SKILL.md for AI coding agents. Install it with:

npx 10x-chat@latest skill install

This lets agents like Codex or Claude Code use 10x-chat to query other models for cross-validation, code review, or debugging help.

Supported Providers

Provider Status Models URL
ChatGPT chatgpt.com
Gemini Fast, Thinking (default), Pro gemini.google.com
Claude claude.ai
Grok grok.com
Perplexity perplexity.ai
NotebookLM notebooklm.google.com

Development

bun install
bun run dev login chatgpt      # Run CLI in dev mode
bun run typecheck               # Type check
bun run lint                    # Lint
bun run test                    # Run tests
bun run build                   # Build for production

Publishing

Releases are automated via GitHub Actions. Push a version tag to publish:

npm version patch   # or minor / major
git push --follow-tags

Requires NPM_TOKEN secret in the GitHub repository settings.

License

MIT