cli-jaw 1.0.5 → 1.1.0

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.
Files changed (44) hide show
  1. package/README.ko.md +47 -20
  2. package/README.md +76 -49
  3. package/README.zh-CN.md +44 -17
  4. package/dist/bin/commands/browser.js +9 -3
  5. package/dist/bin/commands/browser.js.map +1 -1
  6. package/dist/lib/quota-copilot.js +133 -14
  7. package/dist/lib/quota-copilot.js.map +1 -1
  8. package/dist/lib/upload.js +2 -1
  9. package/dist/lib/upload.js.map +1 -1
  10. package/dist/server.js +28 -21
  11. package/dist/server.js.map +1 -1
  12. package/dist/src/agent/spawn.js +1 -1
  13. package/dist/src/agent/spawn.js.map +1 -1
  14. package/dist/src/browser/connection.js +78 -7
  15. package/dist/src/browser/connection.js.map +1 -1
  16. package/dist/src/cli/commands.js +23 -11
  17. package/dist/src/cli/commands.js.map +1 -1
  18. package/dist/src/cli/handlers.js +27 -3
  19. package/dist/src/cli/handlers.js.map +1 -1
  20. package/dist/src/cli/registry.js +2 -2
  21. package/dist/src/cli/registry.js.map +1 -1
  22. package/dist/src/command-contract/policy.js +5 -3
  23. package/dist/src/command-contract/policy.js.map +1 -1
  24. package/dist/src/prompt/builder.js +1 -0
  25. package/dist/src/prompt/builder.js.map +1 -1
  26. package/dist/src/routes/browser.js +1 -1
  27. package/dist/src/routes/browser.js.map +1 -1
  28. package/dist/src/routes/quota.js +20 -7
  29. package/dist/src/routes/quota.js.map +1 -1
  30. package/dist/src/telegram/bot.js +5 -7
  31. package/dist/src/telegram/bot.js.map +1 -1
  32. package/dist/src/telegram/telegram-file.js +121 -0
  33. package/dist/src/telegram/telegram-file.js.map +1 -0
  34. package/package.json +1 -1
  35. package/public/css/sidebar.css +17 -0
  36. package/public/dist/bundle.js +33 -33
  37. package/public/dist/bundle.js.map +3 -3
  38. package/public/index.html +1 -2
  39. package/public/js/features/settings.ts +27 -9
  40. package/public/js/render.ts +76 -19
  41. package/public/js/ui.ts +5 -2
  42. package/public/locales/en.json +12 -0
  43. package/public/locales/ko.json +12 -0
  44. package/scripts/install.sh +117 -0
package/README.ko.md CHANGED
@@ -40,7 +40,7 @@ curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/master/scripts/in
40
40
  **Step 3: AI 엔진 인증** (하나 선택)
41
41
 
42
42
  ```bash
43
- gh auth login # GitHub Copilot (무료)
43
+ copilot login # GitHub Copilot (무료)
44
44
  opencode # OpenCode (무료 모델 제공)
45
45
  claude auth # Anthropic Claude
46
46
  codex login # OpenAI Codex
@@ -58,6 +58,33 @@ jaw serve
58
58
 
59
59
  </details>
60
60
 
61
+ <details>
62
+ <summary>🍎 <b>터미널이 처음이신가요?</b> — 원클릭 Node.js + CLI-JAW 설치</summary>
63
+
64
+ **Step 1: 터미널 열기**
65
+
66
+ **Finder** → **응용 프로그램** → **유틸리티** → **터미널.app** 을 열어주세요.
67
+ (또는 `⌘ Space` 누르고 `터미널` 이라고 입력하세요)
68
+
69
+ **Step 2: 아래 내용을 붙여넣고 Enter**
70
+
71
+ ```bash
72
+ curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/master/scripts/install.sh | bash
73
+ ```
74
+
75
+ Node.js + CLI-JAW가 자동으로 설치됩니다. 🎉 가 뜰 때까지 기다려주세요.
76
+
77
+ **Step 3: 로그인 & 실행**
78
+
79
+ ```bash
80
+ copilot login # 또는: claude auth / codex login / gemini login
81
+ jaw serve
82
+ ```
83
+
84
+ 브라우저에서 **http://localhost:3457** 을 열면 끝! 🦈
85
+
86
+ </details>
87
+
61
88
  ---
62
89
 
63
90
  ## 🚀 설치 & 실행 (30초)
@@ -79,7 +106,7 @@ jaw serve
79
106
 
80
107
  ```bash
81
108
  # ── 무료 ──
82
- gh auth login # GitHub Copilot (무료 플랜) — 이후: gh copilot --help
109
+ copilot login # GitHub Copilot (무료 플랜)
83
110
  opencode # OpenCode — 첫 실행 시 자동 인증 (무료 모델 있음)
84
111
 
85
112
  # ── 유료 ──
@@ -127,14 +154,14 @@ CLI-JAW는 내 컴퓨터에 상주하며 이미 익숙한 인터페이스인 **
127
154
 
128
155
  단일 모델만을 사용하는 기존 비서들과 달리, CLI-JAW는 5개의 AI 엔진(Claude, Codex, Gemini, OpenCode, Copilot)을 공식 CLI를 통해 오케스트레이션하여 모든 제공업체의 장점을 통합된 경험으로 제공합니다. 하나의 엔진 사용량이 초과되면 자동으로 다음 엔진으로 전환됩니다. 107개의 내장 스킬이 브라우저 자동화부터 문서 생성까지 모든 것을 처리합니다.
129
156
 
130
- | | 왜 CLI-JAW인가요? |
131
- | --------------------------------------- | ----------------------------------------------------------------------------------------------------- |
132
- | 🛡️ **안전한 서비스 약관 준수** | 공식 CLI만 사용합니다 — API 키 스크래핑이나 리버스 엔지니어링이 없으므로 계정 정지 위험이 없습니다. |
133
- | 🤖 **검증된 에이전트 도구** | 실전에서 검증된 5개의 코딩 에이전트(Claude, Codex, Gemini, OpenCode, Copilot)를 한 곳에서 사용하세요. |
134
- | ⚡ **멀티 에이전트 자동 전환(Fallback)** | 엔진 하나가 멈춰도 걱정 없습니다. 다음 엔진이 즉시 이어받아 중단 없는 작업이 가능합니다. |
135
- | 🎭 **오케스트레이션 기반 성능 극대화** | 복잡한 작업은 전문화된 서브 에이전트에게 분산시켜 처리량을 극대화합니다. |
136
- | 📦 **107개의 내장 스킬** | 브라우저 자동화, 문서 생성, 텔레그램 연동, 영구 메모리 등 설치 즉시 사용 가능한 기능들을 제공합니다. |
137
- | 🖥️ **크로스 플랫폼** | macOS, Linux, Windows — ENOENT-safe CLI 스폰, 자동 감지, `.cmd` shim 지원, 네이티브 설치 전부 크로스플랫폼 동작. |
157
+ | | 왜 CLI-JAW인가요? |
158
+ | --------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
159
+ | 🛡️ **안전한 서비스 약관 준수** | 공식 CLI만 사용합니다 — API 키 스크래핑이나 리버스 엔지니어링이 없으므로 계정 정지 위험이 없습니다. |
160
+ | 🤖 **검증된 에이전트 도구** | 실전에서 검증된 5개의 코딩 에이전트(Claude, Codex, Gemini, OpenCode, Copilot)를 한 곳에서 사용하세요. |
161
+ | ⚡ **멀티 에이전트 자동 전환(Fallback)** | 엔진 하나가 멈춰도 걱정 없습니다. 다음 엔진이 즉시 이어받아 중단 없는 작업이 가능합니다. |
162
+ | 🎭 **오케스트레이션 기반 성능 극대화** | 복잡한 작업은 전문화된 서브 에이전트에게 분산시켜 처리량을 극대화합니다. |
163
+ | 📦 **107개의 내장 스킬** | 브라우저 자동화, 문서 생성, 텔레그램 연동, 영구 메모리 등 설치 즉시 사용 가능한 기능들을 제공합니다. |
164
+ | 🖥️ **크로스 플랫폼** | macOS, Linux, Windows — ENOENT-safe CLI 스폰, 자동 감지, `.cmd` shim 지원, 네이티브 설치 전부 크로스플랫폼 동작. |
138
165
 
139
166
  ![CLI-JAW 터미널](docs/screenshots/terminal-cli.png)
140
167
 
@@ -353,13 +380,13 @@ jaw --home ~/my-project launchd --port 3458 # 프로젝트 → 포트 3458
353
380
 
354
381
  각 인스턴스는 완전히 독립적입니다 — 작업 디렉토리, 메모리, MCP 설정이 모두 다릅니다. 업무/개인 컨텍스트 분리나 프로젝트별 AI 설정에 안성맞춤이에요.
355
382
 
356
- | 플래그 / 환경변수 | 기능 |
383
+ | 플래그 / 환경변수 | 기능 |
357
384
  | --------------------- | ---------------------------------------- |
358
- | `--home <경로>` | 이 실행에 사용할 커스텀 홈 디렉토리 지정 |
359
- | `--home=<경로>` | 동일 (`=` 구문) |
360
- | `CLI_JAW_HOME=<경로>` | 환경변수로 지정 |
361
- | `jaw clone <대상>` | 현재 인스턴스를 새 디렉토리로 복제 |
362
- | `--port <포트>` | `serve` / `launchd`용 커스텀 포트 |
385
+ | `--home <경로>` | 이 실행에 사용할 커스텀 홈 디렉토리 지정 |
386
+ | `--home=<경로>` | 동일 (`=` 구문) |
387
+ | `CLI_JAW_HOME=<경로>` | 환경변수로 지정 |
388
+ | `jaw clone <대상>` | 현재 인스턴스를 새 디렉토리로 복제 |
389
+ | `--port <포트>` | `serve` / `launchd`용 커스텀 포트 |
363
390
 
364
391
  ---
365
392
 
@@ -467,12 +494,12 @@ npm test
467
494
  | ---------------------------- | ---------------------------------- | --------------------------------------------------------------------------- |
468
495
  | `command not found: cli-jaw` | npm 전역 bin이 PATH에 없음 | `npm config get prefix` 확인 후 `bin/`을 PATH에 추가 |
469
496
  | `doctor`에서 CLI 누락 표시 | 해당 CLI 미설치 | `npm i -g @anthropic-ai/claude-code` 등 설치 |
470
- | 포트 3457 사용 중 | 다른 프로세스가 점유 | `PORT=4000 jaw serve` 또는 기존 프로세스 종료 |
471
- | 텔레그램 봇 무반응 | 토큰 미설정 또는 Chat ID 누락 | `jaw init --telegram-token ...` 재실행 |
472
- | 텔레그램 ✓✓ 지연 표시 | Telegram 서버 측 전달 확인 타이밍 | 정상 동작 — 서버 부하에 따라 수 분 걸릴 수 있음. 버그 아님 |
497
+ | 포트 3457 사용 중 | 다른 프로세스가 점유 | `PORT=4000 jaw serve` 또는 기존 프로세스 종료 |
498
+ | 텔레그램 봇 무반응 | 토큰 미설정 또는 Chat ID 누락 | `jaw init --telegram-token ...` 재실행 |
499
+ | 텔레그램 ✓✓ 지연 표시 | Telegram 서버 측 전달 확인 타이밍 | 정상 동작 — 서버 부하에 따라 수 분 걸릴 수 있음. 버그 아님 |
473
500
  | `npm install -g` 권한 오류 | 글로벌 디렉토리 권한 문제 | `sudo npm i -g cli-jaw` 또는 [nvm](https://github.com/nvm-sh/nvm) 사용 권장 |
474
501
  | 빌드 실패 (`tsc` 에러) | Node 22 미만 버전 | `node -v` 확인 → 22 이상으로 업그레이드 |
475
- | 메모리가 세션 간 유지 안 됨 | `~/.cli-jaw/memory/` 디렉토리 없음 | `jaw init` 재실행하면 자동 생성 |
502
+ | 메모리가 세션 간 유지 안 됨 | `~/.cli-jaw/memory/` 디렉토리 없음 | `jaw init` 재실행하면 자동 생성 |
476
503
 
477
504
  ---
478
505
 
package/README.md CHANGED
@@ -40,7 +40,7 @@ curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/master/scripts/in
40
40
  **Step 3: Authenticate an AI Engine** (pick one)
41
41
 
42
42
  ```bash
43
- gh auth login # GitHub Copilot (Free)
43
+ copilot login # GitHub Copilot (Free)
44
44
  opencode # OpenCode (Free models available)
45
45
  claude auth # Anthropic Claude
46
46
  codex login # OpenAI Codex
@@ -58,6 +58,33 @@ jaw serve
58
58
 
59
59
  </details>
60
60
 
61
+ <details>
62
+ <summary>🍎 <b>New to the terminal?</b> — One-click Node.js + CLI-JAW install</summary>
63
+
64
+ **Step 1: Open Terminal**
65
+
66
+ Open **Finder** → **Applications** → **Utilities** → **Terminal.app**
67
+ (or press `⌘ Space` and type `Terminal`)
68
+
69
+ **Step 2: Paste this and hit Enter**
70
+
71
+ ```bash
72
+ curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/master/scripts/install.sh | bash
73
+ ```
74
+
75
+ This installs Node.js + CLI-JAW automatically. Just wait until you see 🎉.
76
+
77
+ **Step 3: Login & Launch**
78
+
79
+ ```bash
80
+ copilot login # or: claude auth / codex login / gemini login
81
+ jaw serve
82
+ ```
83
+
84
+ Open **http://localhost:3457** in your browser. That's it! 🦈
85
+
86
+ </details>
87
+
61
88
  ---
62
89
 
63
90
  ## 🚀 Install & Run (30 seconds)
@@ -79,7 +106,7 @@ You only need **one** — pick whichever you have:
79
106
 
80
107
  ```bash
81
108
  # ── Free options ──
82
- gh auth login # GitHub Copilot (free tier) — then run: gh copilot --help
109
+ copilot login # GitHub Copilot (free tier)
83
110
  opencode # OpenCode — auto-auth on first run (free models available)
84
111
 
85
112
  # ── Paid options ──
@@ -127,14 +154,14 @@ CLI-JAW is a **personal AI assistant** that lives on your machine and works from
127
154
 
128
155
  Unlike single-model assistants, CLI-JAW orchestrates **5 AI engines** (Claude, Codex, Gemini, OpenCode, Copilot) through their official CLIs — giving you the best of every provider in one unified experience. If one engine is busy, it automatically falls back to the next. 107 built-in skills handle everything from browser automation to document generation.
129
156
 
130
- | | Why CLI-JAW? |
131
- | ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------- |
132
- | 🛡️**TOS-Safe** | Uses official CLIs only — no API key scraping, no reverse engineering, no ban risk. |
133
- | 🤖**Verified Agent Tools** | 5 battle-tested coding agents (Claude, Codex, Gemini, OpenCode, Copilot) under one roof. |
134
- | ⚡**Multi-Agent Fallback** | One engine down? The next picks up automatically. Zero downtime. |
135
- | 🎭**Orchestrated Performance** | Complex tasks split across specialized sub-agents for maximum throughput. |
136
- | 📦**107 Built-in Skills** | Browser automation, document generation, Telegram, memory — ready out of the box. |
137
- | 🖥️**Cross-Platform** | macOS, Linux, Windows — ENOENT-safe CLI spawn, auto-detection,`.cmd` shim support, and native install all work across platforms. |
157
+ | | Why CLI-JAW? |
158
+ | ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
159
+ | 🛡️**TOS-Safe** | Uses official CLIs only — no API key scraping, no reverse engineering, no ban risk. |
160
+ | 🤖**Verified Agent Tools** | 5 battle-tested coding agents (Claude, Codex, Gemini, OpenCode, Copilot) under one roof. |
161
+ | ⚡**Multi-Agent Fallback** | One engine down? The next picks up automatically. Zero downtime. |
162
+ | 🎭**Orchestrated Performance** | Complex tasks split across specialized sub-agents for maximum throughput. |
163
+ | 📦**107 Built-in Skills** | Browser automation, document generation, Telegram, memory — ready out of the box. |
164
+ | 🖥️**Cross-Platform** | macOS, Linux, Windows — ENOENT-safe CLI spawn, auto-detection,`.cmd` shim support, and native install all work across platforms. |
138
165
 
139
166
  ![CLI-JAW Terminal](docs/screenshots/terminal-cli.png)
140
167
 
@@ -177,26 +204,26 @@ graph LR
177
204
  <details>
178
205
  <summary>View all skills</summary>
179
206
 
180
- | Tier | Count | How it works |
181
- | -------------------------- | :---: | --------------------------------------------------------- |
182
- | **Active Skills** | 17 | Auto-injected into every AI prompt. Always available. |
183
- | **Reference Skills** | 90 | AI reads them on-demand when you ask for a relevant task. |
207
+ | Tier | Count | How it works |
208
+ | -------------------- | :---: | --------------------------------------------------------- |
209
+ | **Active Skills** | 17 | Auto-injected into every AI prompt. Always available. |
210
+ | **Reference Skills** | 90 | AI reads them on-demand when you ask for a relevant task. |
184
211
 
185
212
  #### Active Skills (always on)
186
213
 
187
- | Skill | What it does |
188
- | ----------------------------------------------------------------------------- | ---------------------------------------------------------- |
189
- | `browser` | Chrome automation — snapshot, click, navigate, screenshot |
190
- | `github` | Issues, PRs, CI, code review via `gh` CLI |
191
- | `notion` | Create/manage Notion pages and databases |
192
- | `memory` | Persistent long-term memory across sessions |
193
- | `telegram-send` | Send photos, documents, voice messages to Telegram |
194
- | `vision-click` | Screenshot → AI finds coordinates → clicks (one command) |
195
- | `imagegen` | Generate/edit images via OpenAI Image API |
196
- | `pdf` / `docx` / `xlsx` | Read, create, edit office documents |
197
- | `screen-capture` | macOS screenshot and camera capture |
198
- | `openai-docs` | Up-to-date OpenAI API documentation |
199
- | `dev` / `dev-frontend` / `dev-backend` / `dev-data` / `dev-testing` | Development guidelines for sub-agents |
214
+ | Skill | What it does |
215
+ | ------------------------------------------------------------------- | --------------------------------------------------------- |
216
+ | `browser` | Chrome automation — snapshot, click, navigate, screenshot |
217
+ | `github` | Issues, PRs, CI, code review via `gh` CLI |
218
+ | `notion` | Create/manage Notion pages and databases |
219
+ | `memory` | Persistent long-term memory across sessions |
220
+ | `telegram-send` | Send photos, documents, voice messages to Telegram |
221
+ | `vision-click` | Screenshot → AI finds coordinates → clicks (one command) |
222
+ | `imagegen` | Generate/edit images via OpenAI Image API |
223
+ | `pdf` / `docx` / `xlsx` | Read, create, edit office documents |
224
+ | `screen-capture` | macOS screenshot and camera capture |
225
+ | `openai-docs` | Up-to-date OpenAI API documentation |
226
+ | `dev` / `dev-frontend` / `dev-backend` / `dev-data` / `dev-testing` | Development guidelines for sub-agents |
200
227
 
201
228
  #### Reference Skills (on-demand)
202
229
 
@@ -345,13 +372,13 @@ jaw --home ~/my-project launchd --port 3458 # project → port 3458
345
372
 
346
373
  Each instance is fully independent — different working directory, different memory, different MCP config. Perfect for separating work/personal contexts or per-project AI setups.
347
374
 
348
- | Flag / Env | What it does |
349
- | ----------------------- | ----------------------------------------- |
375
+ | Flag / Env | What it does |
376
+ | --------------------- | ----------------------------------------- |
350
377
  | `--home <path>` | Use a custom home directory for this run |
351
- | `--home=<path>` | Same, with `=` syntax |
378
+ | `--home=<path>` | Same, with `=` syntax |
352
379
  | `CLI_JAW_HOME=<path>` | Set via environment variable |
353
380
  | `jaw clone <target>` | Clone current instance to a new directory |
354
- | `--port <port>` | Custom port for `serve` / `launchd` |
381
+ | `--port <port>` | Custom port for `serve` / `launchd` |
355
382
 
356
383
  ---
357
384
 
@@ -362,13 +389,13 @@ Each CLI comes with preconfigured presets, but you can type **any model ID** dir
362
389
  <details>
363
390
  <summary>View all presets</summary>
364
391
 
365
- | CLI | Default | Notable Models |
366
- | ------------------ | ---------------------------- | ----------------------------------------------- |
392
+ | CLI | Default | Notable Models |
393
+ | ------------ | -------------------------- | ----------------------------------------------- |
367
394
  | **Claude** | `claude-sonnet-4-6` | opus-4-6, haiku-4-5, extended thinking variants |
368
395
  | **Codex** | `gpt-5.3-codex` | spark, 5.2, 5.1-max, 5.1-mini |
369
396
  | **Gemini** | `gemini-2.5-pro` | 3.0-pro-preview, 3-flash-preview, 2.5-flash |
370
- | **OpenCode** | `claude-opus-4-6-thinking` | 🆓 big-pickle, GLM-5, MiniMax, Kimi, GPT-5-Nano |
371
- | **Copilot** | `gpt-4.1` 🆓 | 🆓 gpt-5-mini, claude-sonnet-4.6, opus-4.6 |
397
+ | **OpenCode** | `claude-opus-4-6-thinking` | 🆓 big-pickle, GLM-5, MiniMax, Kimi, GPT-5-Nano |
398
+ | **Copilot** | `gpt-4.1` 🆓 | 🆓 gpt-5-mini, claude-sonnet-4.6, opus-4.6 |
372
399
 
373
400
  </details>
374
401
 
@@ -395,8 +422,8 @@ docker run -d -p 3457:3457 --env-file .env --name jaw cli-jaw
395
422
 
396
423
  **Two Dockerfiles:**
397
424
 
398
- | File | Purpose | Use Case |
399
- | ------------------ | -------------------------- | ----------------------- |
425
+ | File | Purpose | Use Case |
426
+ | ---------------- | -------------------------- | ----------------------- |
400
427
  | `Dockerfile` | Installs from npm registry | Production / deployment |
401
428
  | `Dockerfile.dev` | Builds from local source | Development / testing |
402
429
 
@@ -483,8 +510,8 @@ All tests run via `tsx --test` (native Node.js test runner + TypeScript).
483
510
 
484
511
  ## 📖 Documentation
485
512
 
486
- | Document | What's inside |
487
- | ------------------------------------ | ----------------------------------------------------- |
513
+ | Document | What's inside |
514
+ | --------------------------------------- | ----------------------------------------------------- |
488
515
  | [ARCHITECTURE.md](docs/ARCHITECTURE.md) | System design, module graph, REST API (40+ endpoints) |
489
516
  | [TESTS.md](TESTS.md) | Test coverage and test plan |
490
517
 
@@ -495,16 +522,16 @@ All tests run via `tsx --test` (native Node.js test runner + TypeScript).
495
522
  <details>
496
523
  <summary>Common issues</summary>
497
524
 
498
- | Problem | Solution |
499
- | ------------------------------ | --------------------------------------------------------------------------------------------- |
500
- | `cli-jaw: command not found` | Run `npm install -g cli-jaw` again. Check `npm bin -g` is in your `$PATH`. |
501
- | `Error: node version` | Upgrade to Node.js ≥ 22:`nvm install 22` or download from [nodejs.org](https://nodejs.org) |
502
- | Agent timeout / no response | Run `jaw doctor` to check CLI auth. Re-authenticate with `claude auth` / `codex login`. |
503
- | `EADDRINUSE: port 3457` | Another instance is running. Stop it or use `jaw serve --port 3458`. |
504
- | Telegram bot not responding | Check token with `jaw doctor`. Ensure `jaw serve` is running. |
505
- | Telegram ✓✓ delayed | Normal — Telegram server-side delivery ack can take a few minutes under load. Not a bug. |
506
- | Skills not loading | Run `jaw skill reset` then `jaw mcp sync`. |
507
- | Browser commands fail | Install Chrome/Chromium. Run `jaw browser start` first. |
525
+ | Problem | Solution |
526
+ | ---------------------------- | ------------------------------------------------------------------------------------------ |
527
+ | `cli-jaw: command not found` | Run `npm install -g cli-jaw` again. Check `npm bin -g` is in your `$PATH`. |
528
+ | `Error: node version` | Upgrade to Node.js ≥ 22:`nvm install 22` or download from [nodejs.org](https://nodejs.org) |
529
+ | Agent timeout / no response | Run `jaw doctor` to check CLI auth. Re-authenticate with `claude auth` / `codex login`. |
530
+ | `EADDRINUSE: port 3457` | Another instance is running. Stop it or use `jaw serve --port 3458`. |
531
+ | Telegram bot not responding | Check token with `jaw doctor`. Ensure `jaw serve` is running. |
532
+ | Telegram ✓✓ delayed | Normal — Telegram server-side delivery ack can take a few minutes under load. Not a bug. |
533
+ | Skills not loading | Run `jaw skill reset` then `jaw mcp sync`. |
534
+ | Browser commands fail | Install Chrome/Chromium. Run `jaw browser start` first. |
508
535
 
509
536
  </details>
510
537
 
package/README.zh-CN.md CHANGED
@@ -40,7 +40,7 @@ curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/master/scripts/in
40
40
  **第三步:认证 AI 引擎**(任选其一)
41
41
 
42
42
  ```bash
43
- gh auth login # GitHub Copilot(免费)
43
+ copilot login # GitHub Copilot(免费)
44
44
  opencode # OpenCode(提供免费模型)
45
45
  claude auth # Anthropic Claude
46
46
  codex login # OpenAI Codex
@@ -58,6 +58,33 @@ jaw serve
58
58
 
59
59
  </details>
60
60
 
61
+ <details>
62
+ <summary>🍎 <b>终端新手?</b> — 一键安装 Node.js + CLI-JAW</summary>
63
+
64
+ **第一步:打开终端**
65
+
66
+ 打开 **Finder** → **应用程序** → **实用工具** → **终端.app**
67
+ (或者按 `⌘ Space` 然后输入 `Terminal`)
68
+
69
+ **第二步:粘贴并按 Enter**
70
+
71
+ ```bash
72
+ curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/master/scripts/install.sh | bash
73
+ ```
74
+
75
+ Node.js + CLI-JAW 会自动安装。等到出现 🎉 就完成了。
76
+
77
+ **第三步:登录并启动**
78
+
79
+ ```bash
80
+ copilot login # 或者: claude auth / codex login / gemini login
81
+ jaw serve
82
+ ```
83
+
84
+ 在浏览器中打开 **http://localhost:3457**。搞定!🦈
85
+
86
+ </details>
87
+
61
88
  ---
62
89
 
63
90
  ## 🚀 安装与启动(30 秒)
@@ -79,7 +106,7 @@ jaw serve
79
106
 
80
107
  ```bash
81
108
  # ── 免费 ──
82
- gh auth login # GitHub Copilot(免费套餐)— 然后: gh copilot --help
109
+ copilot login # GitHub Copilot(免费套餐)
83
110
  opencode # OpenCode — 首次运行自动认证(有免费模型)
84
111
 
85
112
  # ── 付费 ──
@@ -127,14 +154,14 @@ CLI-JAW 是驻留在您本地机器上的**专属 AI 助手**,并在您熟悉
127
154
 
128
155
  与单一模型的助手不同,CLI-JAW 通过官方 CLI 命令行工具对 **5 大 AI 引擎**(Claude、Codex、Gemini、OpenCode、Copilot)进行编排 — 为您提供各大供应商最优势的能力及统一的体验。当一个引擎处于繁忙状态时,它会自动无缝切换至下一个。107 个内置技能可处理从浏览器自动化到文档生成的所有事务。
129
156
 
130
- | | 为什么选择 CLI-JAW? |
131
- | ------------------------------- | -------------------------------------------------------------------------- |
132
- | 🛡️ **安全合规 (TOS-Safe)** | 仅使用官方 CLI — 无 API 密钥抓取、无逆向工程、无封号风险。 |
133
- | 🤖 **经过验证的智能体工具** | 5 大实战级编码智能体(Claude、Codex、Gemini、OpenCode、Copilot)集于一身。 |
134
- | ⚡ **多模型自动回退 (Fallback)** | 单一引擎发生故障?下一个立即接管。确保零停机。 |
135
- | 🎭 **基于编排的性能优化** | 复杂的任务会被拆分给专业的子智能体,以实现效率最大化。 |
136
- | 📦 **107 个内置技能** | 浏览器自动化、文档生成、Telegram 通知、持久化记忆 — 开箱即用。 |
137
- | 🖥️ **跨平台支持** | macOS、Linux、Windows — ENOENT-safe CLI 启动、自动检测、`.cmd` 支持,跨平台原生运行。 |
157
+ | | 为什么选择 CLI-JAW? |
158
+ | ------------------------------- | ------------------------------------------------------------------------------------- |
159
+ | 🛡️ **安全合规 (TOS-Safe)** | 仅使用官方 CLI — 无 API 密钥抓取、无逆向工程、无封号风险。 |
160
+ | 🤖 **经过验证的智能体工具** | 5 大实战级编码智能体(Claude、Codex、Gemini、OpenCode、Copilot)集于一身。 |
161
+ | ⚡ **多模型自动回退 (Fallback)** | 单一引擎发生故障?下一个立即接管。确保零停机。 |
162
+ | 🎭 **基于编排的性能优化** | 复杂的任务会被拆分给专业的子智能体,以实现效率最大化。 |
163
+ | 📦 **107 个内置技能** | 浏览器自动化、文档生成、Telegram 通知、持久化记忆 — 开箱即用。 |
164
+ | 🖥️ **跨平台支持** | macOS、Linux、Windows — ENOENT-safe CLI 启动、自动检测、`.cmd` 支持,跨平台原生运行。 |
138
165
 
139
166
  ![CLI-JAW 终端](docs/screenshots/terminal-cli.png)
140
167
 
@@ -353,13 +380,13 @@ jaw --home ~/my-project launchd --port 3458 # 项目 → 端口 3458
353
380
 
354
381
  每个实例完全独立 — 工作目录、记忆、MCP 配置各不相同。非常适合工作/个人环境分离或按项目配置 AI。
355
382
 
356
- | 参数 / 环境变量 | 功能 |
357
- | --------------------- | ------------------------------------ |
358
- | `--home <路径>` | 指定本次运行使用的自定义主目录 |
359
- | `--home=<路径>` | 同上(`=` 语法) |
360
- | `CLI_JAW_HOME=<路径>` | 通过环境变量指定 |
361
- | `jaw clone <目标>` | 将当前实例克隆到新目录 |
362
- | `--port <端口>` | `serve` / `launchd` 自定义端口 |
383
+ | 参数 / 环境变量 | 功能 |
384
+ | --------------------- | ------------------------------ |
385
+ | `--home <路径>` | 指定本次运行使用的自定义主目录 |
386
+ | `--home=<路径>` | 同上(`=` 语法) |
387
+ | `CLI_JAW_HOME=<路径>` | 通过环境变量指定 |
388
+ | `jaw clone <目标>` | 将当前实例克隆到新目录 |
389
+ | `--port <端口>` | `serve` / `launchd` 自定义端口 |
363
390
 
364
391
  ---
365
392
 
@@ -30,9 +30,15 @@ try {
30
30
  case 'start': {
31
31
  const { values } = parseArgs({
32
32
  args: process.argv.slice(4),
33
- options: { port: { type: 'string', default: String(deriveCdpPort()) } }, strict: false
33
+ options: {
34
+ port: { type: 'string', default: String(deriveCdpPort()) },
35
+ headless: { type: 'boolean', default: false },
36
+ }, strict: false
37
+ });
38
+ const r = await api('POST', '/start', {
39
+ port: Number(values.port),
40
+ headless: values.headless,
34
41
  });
35
- const r = await api('POST', '/start', { port: Number(values.port) });
36
42
  console.log(r.running ? `🌐 Chrome started (CDP: ${r.cdpUrl})` : '❌ Failed');
37
43
  break;
38
44
  }
@@ -208,7 +214,7 @@ try {
208
214
  🌐 cli-jaw browser
209
215
 
210
216
  Commands:
211
- start [--port <auto>] Start Chrome (CDP port auto-derived from server port)
217
+ start [--port <auto>] [--headless] Start Chrome (headless for WSL/CI/Docker)
212
218
  stop Stop Chrome
213
219
  status Connection status
214
220
  reset [--force] Reset (clear profile + screenshots)
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../bin/commands/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../bin/commands/browser.ts"],"names":[],"mappings":"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"}