10x-chat 0.8.3 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/daemon.d.ts +22 -29
- package/dist/browser/daemon.d.ts.map +1 -1
- package/dist/browser/daemon.js +500 -61
- package/dist/browser/daemon.js.map +1 -1
- package/dist/browser/manager.d.ts.map +1 -1
- package/dist/browser/manager.js +8 -53
- package/dist/browser/manager.js.map +1 -1
- package/dist/browser/page-utils.d.ts +4 -0
- package/dist/browser/page-utils.d.ts.map +1 -0
- package/dist/browser/page-utils.js +37 -0
- package/dist/browser/page-utils.js.map +1 -0
- package/dist/browser/server.d.ts +2 -0
- package/dist/browser/server.d.ts.map +1 -0
- package/dist/browser/server.js +510 -0
- package/dist/browser/server.js.map +1 -0
- package/dist/browser/tabs.d.ts +2 -16
- package/dist/browser/tabs.d.ts.map +1 -1
- package/dist/browser/tabs.js +6 -80
- package/dist/browser/tabs.js.map +1 -1
- package/dist/core/research-orchestrator.d.ts.map +1 -1
- package/dist/core/research-orchestrator.js +2 -3
- package/dist/core/research-orchestrator.js.map +1 -1
- package/dist/notebooklm/rpc/decoder.d.ts +1 -1
- package/dist/notebooklm/rpc/decoder.d.ts.map +1 -1
- package/dist/notebooklm/rpc/decoder.js +1 -1
- package/dist/notebooklm/rpc/decoder.js.map +1 -1
- package/dist/notebooklm/types.d.ts +1 -2
- package/dist/notebooklm/types.d.ts.map +1 -1
- package/dist/notebooklm/types.js +1 -2
- package/dist/notebooklm/types.js.map +1 -1
- package/dist/providers/claude.d.ts +1 -0
- package/dist/providers/claude.d.ts.map +1 -1
- package/dist/providers/claude.js +60 -1
- package/dist/providers/claude.js.map +1 -1
- package/dist/providers/grok.d.ts.map +1 -1
- package/dist/providers/grok.js +2 -3
- package/dist/providers/grok.js.map +1 -1
- package/dist/providers/perplexity.d.ts.map +1 -1
- package/dist/providers/perplexity.js +2 -5
- package/dist/providers/perplexity.js.map +1 -1
- package/package.json +1 -1
- package/skills/10x-chat/SKILL.md +98 -55
package/skills/10x-chat/SKILL.md
CHANGED
|
@@ -1,33 +1,56 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: 10x-chat
|
|
3
|
-
description: Chat with web AI agents (ChatGPT, Gemini, Claude, Grok, Perplexity, NotebookLM) via browser automation
|
|
3
|
+
description: Chat with web AI agents (ChatGPT, Gemini, Claude, Grok, Perplexity, NotebookLM) via browser automation. Use when stuck, need cross-validation, want a second-model review, need image generation, or want deep research from web AI tools.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# 10x-chat — AI Agent Skill
|
|
7
7
|
|
|
8
|
-
Use 10x-chat to send prompts to web-based AI agents
|
|
8
|
+
Use 10x-chat to send prompts to web-based AI agents via automated browser sessions. Supports chat, image generation, deep research, and video generation. Sessions use a shared persisted profile by default.
|
|
9
|
+
|
|
10
|
+
## Architecture (v0.9.0+)
|
|
11
|
+
|
|
12
|
+
10x-chat uses an **HTTP browser daemon** — a persistent local Node.js server wrapping Playwright:
|
|
13
|
+
|
|
14
|
+
- **One daemon, multiple sessions**: parallel CLI runs share a single Chrome instance via HTTP RPC
|
|
15
|
+
- **Auto-start/stop**: daemon launches on first use, shuts down after 30 min idle
|
|
16
|
+
- **Crash recovery**: if daemon dies, next CLI run auto-restarts it
|
|
17
|
+
- **No zombie Chrome**: proper tab ref-counting and graceful shutdown
|
|
18
|
+
- **State file**: `~/.10x-chat/browser-daemon.json` (port, PID, bearer token, chmod 600)
|
|
9
19
|
|
|
10
20
|
## Installation
|
|
11
21
|
|
|
12
|
-
No install needed. Always use `@latest
|
|
22
|
+
No install needed. Always use `@latest`:
|
|
13
23
|
|
|
14
24
|
```bash
|
|
15
|
-
npx 10x-chat@latest --version
|
|
25
|
+
npx 10x-chat@latest --version
|
|
16
26
|
```
|
|
17
27
|
|
|
18
|
-
|
|
28
|
+
Use `npx` (not `bunx` — symlink conflicts in parallel).
|
|
19
29
|
|
|
20
30
|
## When to use
|
|
21
31
|
|
|
22
|
-
- **Stuck on a bug**: ask another model for a fresh perspective
|
|
23
|
-
- **Code review**: send PR diff to GPT / Claude / Gemini for cross-review
|
|
24
|
-
- **Cross-validation**: compare answers from multiple models
|
|
25
|
-
- **Knowledge gaps**: leverage a model with different training data
|
|
32
|
+
- **Stuck on a bug**: ask another model for a fresh perspective
|
|
33
|
+
- **Code review**: send PR diff to GPT / Claude / Gemini for cross-review
|
|
34
|
+
- **Cross-validation**: compare answers from multiple models
|
|
35
|
+
- **Knowledge gaps**: leverage a model with different training data
|
|
36
|
+
- **Image generation**: DALL-E via ChatGPT or Imagen via Gemini
|
|
37
|
+
- **Deep research**: long-form analysis via Perplexity, ChatGPT, or Gemini
|
|
38
|
+
|
|
39
|
+
## Providers
|
|
40
|
+
|
|
41
|
+
| Provider | Chat | Image | Research | Notes |
|
|
42
|
+
|----------|------|-------|----------|-------|
|
|
43
|
+
| chatgpt | ✅ | ✅ (DALL-E) | ✅ | Runs headed by default (anti-bot) |
|
|
44
|
+
| gemini | ✅ | ✅ (Imagen) | ✅ | |
|
|
45
|
+
| claude | ✅ | ❌ | ❌ | Runs headed by default |
|
|
46
|
+
| grok | ✅ | ❌ | ❌ | UI changes often, use `@latest` |
|
|
47
|
+
| perplexity | ✅ | ❌ | ✅ | Best for research with citations |
|
|
48
|
+
| notebooklm | ✅ | ❌ | ❌ | Add sources first, then chat |
|
|
26
49
|
|
|
27
50
|
## Commands
|
|
28
51
|
|
|
29
52
|
```bash
|
|
30
|
-
# Login (one-time per provider — opens browser for
|
|
53
|
+
# Login (one-time per provider — opens browser for auth)
|
|
31
54
|
npx 10x-chat@latest login chatgpt
|
|
32
55
|
npx 10x-chat@latest login gemini
|
|
33
56
|
npx 10x-chat@latest login claude
|
|
@@ -35,82 +58,102 @@ npx 10x-chat@latest login grok
|
|
|
35
58
|
npx 10x-chat@latest login perplexity
|
|
36
59
|
npx 10x-chat@latest login notebooklm
|
|
37
60
|
|
|
38
|
-
# Chat
|
|
61
|
+
# Chat
|
|
39
62
|
npx 10x-chat@latest chat -p "Review this code for bugs" --provider chatgpt --file "src/**/*.ts"
|
|
40
|
-
|
|
41
|
-
# Chat with file context
|
|
42
63
|
npx 10x-chat@latest chat --provider gemini --file "path/to/prompt.md" -p "Complete this task"
|
|
43
64
|
|
|
44
|
-
#
|
|
45
|
-
npx 10x-chat@latest image -p "A fox astronaut in space
|
|
65
|
+
# Image generation
|
|
66
|
+
npx 10x-chat@latest image -p "A fox astronaut in space" --provider chatgpt
|
|
46
67
|
npx 10x-chat@latest image -p "Watercolor landscape" --provider gemini --save-dir ./images
|
|
47
68
|
|
|
48
|
-
#
|
|
69
|
+
# Deep research (long-form, 5-10 min)
|
|
49
70
|
npx 10x-chat@latest research -p "Latest breakthroughs in quantum computing" --provider perplexity
|
|
50
71
|
npx 10x-chat@latest research -p "Market analysis of EVs" --provider chatgpt --timeout 600000
|
|
51
72
|
|
|
52
|
-
# Dry run
|
|
73
|
+
# Dry run / clipboard
|
|
53
74
|
npx 10x-chat@latest chat --dry-run -p "Debug this error" --file src/
|
|
54
|
-
|
|
55
|
-
# Copy bundle to clipboard (manual paste fallback)
|
|
56
75
|
npx 10x-chat@latest chat --copy -p "Explain this" --file "src/**"
|
|
57
76
|
|
|
58
|
-
#
|
|
77
|
+
# Session management
|
|
59
78
|
npx 10x-chat@latest status
|
|
60
|
-
|
|
61
|
-
# View a session's response
|
|
62
79
|
npx 10x-chat@latest session <id> --render
|
|
63
80
|
|
|
64
|
-
#
|
|
65
|
-
npx 10x-chat@latest
|
|
81
|
+
# NotebookLM
|
|
82
|
+
npx 10x-chat@latest notebooklm list
|
|
83
|
+
npx 10x-chat@latest notebooklm create "My Research"
|
|
84
|
+
npx 10x-chat@latest notebooklm add-url <id> https://...
|
|
85
|
+
npx 10x-chat@latest notebooklm add-file <id> ./paper.pdf
|
|
86
|
+
npx 10x-chat@latest notebooklm sources <id>
|
|
87
|
+
npx 10x-chat@latest notebooklm summarize <id>
|
|
66
88
|
|
|
67
|
-
#
|
|
68
|
-
npx 10x-chat@latest
|
|
69
|
-
npx 10x-chat@latest notebooklm create "My Research" # Create notebook
|
|
70
|
-
npx 10x-chat@latest notebooklm add-url <id> https://... # Add URL source
|
|
71
|
-
npx 10x-chat@latest notebooklm add-file <id> ./paper.pdf # Upload file source
|
|
72
|
-
npx 10x-chat@latest notebooklm sources <id> # List sources
|
|
73
|
-
npx 10x-chat@latest notebooklm summarize <id> # AI summary
|
|
74
|
-
npx 10x-chat@latest chat -p "Summarize" --provider notebooklm
|
|
89
|
+
# Install bundled skill to coding agent
|
|
90
|
+
npx 10x-chat@latest skill install
|
|
75
91
|
```
|
|
76
92
|
|
|
77
|
-
##
|
|
93
|
+
## Parallel sessions (v0.9.0+)
|
|
78
94
|
|
|
79
|
-
|
|
95
|
+
HTTP daemon makes parallel runs stable. All providers share one Chrome:
|
|
80
96
|
|
|
81
97
|
```bash
|
|
82
|
-
# Login all
|
|
98
|
+
# Login all once
|
|
83
99
|
npx 10x-chat@latest login gemini
|
|
84
100
|
npx 10x-chat@latest login claude
|
|
85
101
|
npx 10x-chat@latest login chatgpt
|
|
86
|
-
npx 10x-chat@latest login grok
|
|
87
102
|
|
|
88
|
-
#
|
|
89
|
-
npx 10x-chat@latest chat --provider gemini
|
|
90
|
-
npx 10x-chat@latest chat --provider claude
|
|
91
|
-
npx 10x-chat@latest chat --provider chatgpt
|
|
92
|
-
|
|
103
|
+
# Run concurrently — each opens a tab in the shared daemon
|
|
104
|
+
npx 10x-chat@latest chat --provider gemini -p "Your prompt" --file context.md &
|
|
105
|
+
npx 10x-chat@latest chat --provider claude -p "Your prompt" --file context.md &
|
|
106
|
+
npx 10x-chat@latest chat --provider chatgpt -p "Your prompt" --file context.md &
|
|
107
|
+
wait
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Browser mode
|
|
111
|
+
|
|
112
|
+
- **Headless (default for gemini, grok, perplexity)**: no visible window
|
|
113
|
+
- **Headed (default for chatgpt, claude)**: visible Chrome window (anti-bot protection)
|
|
114
|
+
- **Force headed**: `--headed` flag on any provider
|
|
115
|
+
|
|
116
|
+
The daemon stores the headless/headed mode in its state file. If you switch modes, the daemon restarts automatically.
|
|
117
|
+
|
|
118
|
+
## Profile modes
|
|
119
|
+
|
|
120
|
+
**Shared (default):** One browser profile, all providers share cookies. Login once per Google account covers Gemini + NotebookLM.
|
|
121
|
+
|
|
122
|
+
**Isolated:** Separate profile per provider (backward compat): `--isolated-profile`
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
# Migrate from isolated to shared
|
|
126
|
+
npx 10x-chat@latest migrate
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Daemon management
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
# Check daemon state
|
|
133
|
+
cat ~/.10x-chat/browser-daemon.json
|
|
134
|
+
|
|
135
|
+
# Force stop daemon
|
|
136
|
+
# (CLI calls stopDaemon() on Ctrl+C automatically)
|
|
137
|
+
kill $(cat ~/.10x-chat/browser-daemon.json | python3 -c "import sys,json; print(json.load(sys.stdin)['pid'])")
|
|
93
138
|
```
|
|
94
139
|
|
|
95
140
|
## Tips
|
|
96
141
|
|
|
97
|
-
- **Always use `@latest`**: ensures
|
|
98
|
-
- **
|
|
99
|
-
- **
|
|
100
|
-
- **
|
|
101
|
-
- **
|
|
102
|
-
- **
|
|
103
|
-
- **
|
|
104
|
-
- **Use `--dry-run`** to preview what will be sent before committing to a run.
|
|
105
|
-
- **NotebookLM**: add sources first, then chat with `--provider notebooklm`.
|
|
142
|
+
- **Always use `@latest`**: ensures newest fixes
|
|
143
|
+
- **Login first**: `login <provider>` once per provider. Sessions persist in `~/.10x-chat/profiles/`
|
|
144
|
+
- **Use `--headed`** if a provider is flaky (Grok especially)
|
|
145
|
+
- **Keep file sets small**: fewer files + focused prompt = better answers
|
|
146
|
+
- **Research needs longer timeouts**: `--timeout 600000` for 10-min research jobs
|
|
147
|
+
- **Image gen can take 1-2 min**: use `--timeout 120000` when needed
|
|
148
|
+
- **Use `--dry-run`** to preview what will be sent
|
|
106
149
|
|
|
107
150
|
## Known issues
|
|
108
151
|
|
|
109
|
-
- **Grok**: UI changes frequently.
|
|
110
|
-
- **ChatGPT/Grok sessions expire quickly**:
|
|
111
|
-
- **Some provider UIs are flaky under automation**: retry with `--headed` before assuming a hard failure
|
|
152
|
+
- **Grok**: UI changes frequently. Always use `@latest`. Use `--headed` for best reliability
|
|
153
|
+
- **ChatGPT/Grok sessions expire quickly**: login again if you get "Not logged in" errors
|
|
154
|
+
- **Some provider UIs are flaky under automation**: retry with `--headed` before assuming a hard failure
|
|
112
155
|
|
|
113
156
|
## Safety
|
|
114
157
|
|
|
115
|
-
- Never include credentials, API keys, or tokens in the bundled files
|
|
116
|
-
- The tool opens a real browser with real login state
|
|
158
|
+
- Never include credentials, API keys, or tokens in the bundled files
|
|
159
|
+
- The tool opens a real browser with real login state. Treat it like your own browser session
|