10x-chat
v0.10.12
Published
CLI to chat with web AI agents (ChatGPT, Gemini, Claude) via browser automation
Maintainers
Readme
10x-chat
Chat with web AI agents (ChatGPT, Gemini, Claude, Grok, Perplexity) 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.mdQuick 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 ofnpxfor 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 providerschat
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, Deep Think, 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 "Hard technical research" --provider gemini --model "Deep Think"
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) |
| --model <name> | Optional model/mode to select before starting research |
| --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 |
history
List chat history visible in provider sidebars (ChatGPT, Gemini, Claude, Grok, Perplexity).
npx 10x-chat@latest history --provider gemini
npx 10x-chat@latest history --provider all --limit 10
npx 10x-chat@latest history --provider chatgpt --json| Flag | Description |
|------|-------------|
| --provider <name> | Provider: chatgpt, gemini, claude, grok, perplexity, or all (default: all) |
| --limit <n> | Maximum items per provider (default: 20) |
| --headed | Show browser window |
| --json | Output JSON |
status
List local 10x-chat CLI sessions.
npx 10x-chat@latest status # Last 24 hours
npx 10x-chat@latest status --hours 72 # Last 3 dayssession <id>
View details of a specific session.
npx 10x-chat@latest session <id> --render # Pretty-print the responseconfig
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 falseskill
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 contentnotebooklm (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 notebooklmFile 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 configurationAgent Integration
10x-chat includes a SKILL.md for AI coding agents. Install it with:
npx 10x-chat@latest skill installThis 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), Deep Think, 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 productionPublishing
Releases are automated via GitHub Actions. Push a version tag to publish:
npm version patch # or minor / major
git push --follow-tagsRequires NPM_TOKEN secret in the GitHub repository settings.
License
MIT
