cli-jaw 1.3.0-preview.6 → 1.3.0-preview.7
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/README.ko.md +28 -10
- package/README.md +50 -11
- package/README.zh-CN.md +28 -10
- package/dist/src/orchestrator/state-machine.js +13 -10
- package/dist/src/orchestrator/state-machine.js.map +1 -1
- package/dist/src/prompt/templates/orchestration.md +6 -4
- package/package.json +1 -1
- package/public/css/orc-state.css +1 -1
- package/public/dist/bundle.js +57 -57
- package/public/dist/bundle.js.map +3 -3
- package/public/js/ws.ts +46 -18
- package/scripts/install-wsl.sh +38 -0
package/README.ko.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
*Claude, Codex, Gemini... 이제 번갈아 쓰지 마세요.*
|
|
8
8
|
|
|
9
|
-
[](#-테스트)
|
|
10
10
|
[](https://typescriptlang.org)
|
|
11
11
|
[](https://nodejs.org)
|
|
12
12
|
[](LICENSE)
|
|
@@ -133,7 +133,7 @@ gemini # Google Gemini — 첫 실행 시 인증
|
|
|
133
133
|
✅ OpenCode CLI installed
|
|
134
134
|
✅ Copilot CLI installed
|
|
135
135
|
✅ Database jaw.db OK
|
|
136
|
-
✅ Skills
|
|
136
|
+
✅ Skills 20 active, 89 reference
|
|
137
137
|
✅ MCP 3 servers configured
|
|
138
138
|
✅ Memory MEMORY.md exists
|
|
139
139
|
✅ Server port 3457 available
|
|
@@ -154,7 +154,7 @@ CLI-JAW는 내 컴퓨터에 상주하며 이미 익숙한 인터페이스인 **
|
|
|
154
154
|
> 💬 *"이 모듈 리팩토링하고 테스트도 짜줘"* → 서브에이전트가 알아서, 커피 한 잔 하고 오면 돼요
|
|
155
155
|
> 💬 *"저 PDF 다운받아서 핵심만 노션에 정리해"* → 브라우저 + 노션 스킬 조합으로 뚝딱
|
|
156
156
|
|
|
157
|
-
단일 모델만을 사용하는 기존 비서들과 달리, CLI-JAW는 5개의 AI 엔진(Claude, Codex, Gemini, OpenCode, Copilot)을 공식 CLI를 통해 오케스트레이션하여 모든 제공업체의 장점을 통합된 경험으로 제공합니다. 하나의 엔진 사용량이 초과되면 자동으로 다음 엔진으로 전환됩니다.
|
|
157
|
+
단일 모델만을 사용하는 기존 비서들과 달리, CLI-JAW는 5개의 AI 엔진(Claude, Codex, Gemini, OpenCode, Copilot)을 공식 CLI를 통해 오케스트레이션하여 모든 제공업체의 장점을 통합된 경험으로 제공합니다. 하나의 엔진 사용량이 초과되면 자동으로 다음 엔진으로 전환됩니다. 109개의 내장 스킬이 브라우저 자동화부터 문서 생성까지 모든 것을 처리합니다.
|
|
158
158
|
|
|
159
159
|
| | 왜 CLI-JAW인가요? |
|
|
160
160
|
| --------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
|
|
@@ -162,13 +162,28 @@ CLI-JAW는 내 컴퓨터에 상주하며 이미 익숙한 인터페이스인 **
|
|
|
162
162
|
| 🤖 **검증된 에이전트 도구** | 실전에서 검증된 5개의 코딩 에이전트(Claude, Codex, Gemini, OpenCode, Copilot)를 한 곳에서 사용하세요. |
|
|
163
163
|
| ⚡ **멀티 에이전트 자동 전환(Fallback)** | 엔진 하나가 멈춰도 걱정 없습니다. 다음 엔진이 즉시 이어받아 중단 없는 작업이 가능합니다. |
|
|
164
164
|
| 🎭 **오케스트레이션 기반 성능 극대화** | 복잡한 작업은 전문화된 서브 에이전트에게 분산시켜 처리량을 극대화합니다. |
|
|
165
|
-
| 📦 **
|
|
165
|
+
| 📦 **109개의 내장 스킬** | 브라우저 자동화, 문서 생성, 텔레그램 연동, 영구 메모리 등 설치 즉시 사용 가능한 기능들을 제공합니다. |
|
|
166
166
|
| 🖥️ **크로스 플랫폼** | macOS, Linux, Windows — ENOENT-safe CLI 스폰, 자동 감지, `.cmd` shim 지원, 네이티브 설치 전부 크로스플랫폼 동작. |
|
|
167
167
|
|
|
168
168
|

|
|
169
169
|
|
|
170
170
|
---
|
|
171
171
|
|
|
172
|
+
## 🆕 새로운 기능 (v1.3.0)
|
|
173
|
+
|
|
174
|
+
| 기능 | 설명 |
|
|
175
|
+
|------|------|
|
|
176
|
+
| 🎤 **음성 & STT** | 웹 마이크 버튼 + 텔레그램 음성 전사. 멀티 프로바이더 STT: OpenAI 호환, Google Vertex AI, 커스텀 엔드포인트. 설정 UI에서 API 키 관리. |
|
|
177
|
+
| 📝 **프롬프트 템플릿** | 웹 UI에서 프롬프트 템플릿 생성, 편집, 관리. 노드맵 시각화 + 전체 CRUD API. |
|
|
178
|
+
| 📊 **쿼타 대시보드** | 압축된 쿼타 바 + 리셋 시간 표시. 429 사용량 제한 시 캐시된 사용량 데이터로 안정적 처리. |
|
|
179
|
+
| 🔍 **IDE Diff View** | 핑거프린트 기반 변경 감지. VS Code 또는 Antigravity 자동 감지 후 인라인 diff 열기. |
|
|
180
|
+
| 🎭 **PABCD 개선** | 라이브 로드맵 바 + 🦈 샤크 러너 애니메이션. 페이즈 전환 시 글로우, 펄스, 뱃지 피드백. |
|
|
181
|
+
| 🪟 **WSL 설치 개선** | 사전 필수 패키지(`unzip`, `curl`, `git`) 자동 설치, `jaw` 명령어 PATH 수정, 문제 해결 가이드 추가. |
|
|
182
|
+
| 🧪 **639개 테스트** | 608개에서 증가 — STT, 쿼타 캐싱, 오케스트레이션, CI 안정성 커버리지 추가. |
|
|
183
|
+
| 📦 **109개 스킬** | 20개 활성 + 89개 참조. 신규: `dev-pabcd`, `dev-scaffolding`, `dev-code-reviewer`. |
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
172
187
|
## 비서가 어떤 일을 할 수 있나요?
|
|
173
188
|
|
|
174
189
|
```mermaid
|
|
@@ -189,7 +204,9 @@ graph LR
|
|
|
189
204
|
- 🤖 **5개의 AI 엔진, 1명의 비서** — Claude · Codex · Gemini · OpenCode · Copilot. `/cli` 명령어로 전환하세요.
|
|
190
205
|
- ⚡ **자동 전환(Fallback)** — 엔진 하나가 다운되면 다음 엔진이 매끄럽게 이어받습니다.
|
|
191
206
|
- 🎭 **멀티 에이전트 오케스트레이션** — 복잡한 작업은 전문화된 서브 에이전트들에게 자동으로 분산됩니다.
|
|
192
|
-
-
|
|
207
|
+
- 🎤 **음성 입력** — 웹 마이크 버튼 + 텔레그램 음성 메시지. 멀티 프로바이더 STT (OpenAI, Vertex AI).
|
|
208
|
+
- 📝 **프롬프트 템플릿** — 시각적 노드맵 에디터로 프롬프트 템플릿 생성, 관리, 재사용.
|
|
209
|
+
- 📦 **109개의 스킬** — 브라우저 제어, 파일 편집, 이미지 생성, 웹 검색 외 [다양한 기능](#-스킬-시스템).
|
|
193
210
|
- 🧠 **영구 메모리** — 세션을 넘나들며 과거의 대화와 사용자 선호도를 기억합니다.
|
|
194
211
|
- 📱 **텔레그램 봇** — 휴대폰으로 비서와 채팅하고, 음성/사진/파일을 전송하세요.
|
|
195
212
|
- 🌐 **브라우저 자동화** — 비서가 알아서 웹을 탐색하고, 클릭하고, 타이핑하고, 스크린샷을 찍을 수 있습니다.
|
|
@@ -212,15 +229,15 @@ jaw service install # 부팅 시 자동 실행 (systemd/launchd/docker 자동
|
|
|
212
229
|
|
|
213
230
|
## 📦 스킬 시스템
|
|
214
231
|
|
|
215
|
-
**
|
|
232
|
+
**109개 스킬** 내장 — 브라우저, GitHub, 노션, 텔레그램, 메모리, PDF, 이미지 생성 등 [다양하게](#).
|
|
216
233
|
|
|
217
234
|
<details>
|
|
218
235
|
<summary>전체 스킬 목록 보기</summary>
|
|
219
236
|
|
|
220
237
|
| 티어 | 수량 | 작동 방식 |
|
|
221
238
|
| ------------------ | :---: | ------------------------------------------------ |
|
|
222
|
-
| **Active 스킬** |
|
|
223
|
-
| **Reference 스킬** |
|
|
239
|
+
| **Active 스킬** | 20 | 매번 AI한테 자동으로 주입돼요. 항상 켜져 있어요. |
|
|
240
|
+
| **Reference 스킬** | 89 | 관련 작업을 시키면 그때 AI가 읽어서 써요. |
|
|
224
241
|
|
|
225
242
|
#### Active 스킬 (항상 켜짐)
|
|
226
243
|
|
|
@@ -237,10 +254,11 @@ jaw service install # 부팅 시 자동 실행 (systemd/launchd/docker 자동
|
|
|
237
254
|
| `screen-capture` | macOS 스크린샷 및 카메라 캡처 |
|
|
238
255
|
| `openai-docs` | 최신 OpenAI API 문서 |
|
|
239
256
|
| `dev` / `dev-frontend` / `dev-backend` / `dev-data` / `dev-testing` | 서브에이전트용 개발 가이드 |
|
|
257
|
+
| `dev-pabcd` / `dev-scaffolding` / `dev-code-reviewer` | 오케스트레이션, 스캐폴딩, 코드 리뷰 가이드 |
|
|
240
258
|
|
|
241
259
|
#### Reference 스킬 (필요할 때만)
|
|
242
260
|
|
|
243
|
-
|
|
261
|
+
89개 스킬이 더 있어요 — spotify, 날씨, 딥리서치, TTS, 비디오 다운로드, Apple 미리알림, 1Password, Terraform, PostgreSQL, Jupyter 등.
|
|
244
262
|
|
|
245
263
|
```bash
|
|
246
264
|
jaw skill install <name> # reference → active로 영구 활성화
|
|
@@ -470,7 +488,7 @@ src/
|
|
|
470
488
|
## 🧪 테스트
|
|
471
489
|
|
|
472
490
|
<details>
|
|
473
|
-
<summary>
|
|
491
|
+
<summary>639 pass · 1 skipped · 외부 의존성 0</summary>
|
|
474
492
|
|
|
475
493
|
```bash
|
|
476
494
|
npm test
|
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
*One assistant. Five brains. Always on.*
|
|
8
8
|
|
|
9
|
-
[](#-tests)
|
|
10
10
|
[](https://typescriptlang.org)
|
|
11
11
|
[](https://nodejs.org)
|
|
12
12
|
[](LICENSE)
|
|
@@ -37,7 +37,15 @@ Restart your computer when prompted. After reboot, open **Ubuntu** from the Star
|
|
|
37
37
|
curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/master/scripts/install-wsl.sh | bash
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
The script automatically installs prerequisites (`curl`, `unzip`, `git`), Node.js 22+, and CLI-JAW.
|
|
41
|
+
|
|
42
|
+
**Step 3: Reload your shell** (important — picks up PATH changes)
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
source ~/.bashrc
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**Step 4: Authenticate an AI Engine** (pick one)
|
|
41
49
|
|
|
42
50
|
```bash
|
|
43
51
|
copilot login # GitHub Copilot (Free)
|
|
@@ -47,7 +55,7 @@ codex login # OpenAI Codex
|
|
|
47
55
|
gemini # Google Gemini
|
|
48
56
|
```
|
|
49
57
|
|
|
50
|
-
**Step
|
|
58
|
+
**Step 5: Start Chatting**
|
|
51
59
|
|
|
52
60
|
```bash
|
|
53
61
|
jaw serve
|
|
@@ -56,6 +64,18 @@ jaw serve
|
|
|
56
64
|
|
|
57
65
|
> 💡 The script uses [fnm](https://github.com/Schniz/fnm) for Node.js management. If you already have `nvm`, it will use that instead.
|
|
58
66
|
|
|
67
|
+
<details>
|
|
68
|
+
<summary>🔧 <b>Troubleshooting WSL</b></summary>
|
|
69
|
+
|
|
70
|
+
| Problem | Fix |
|
|
71
|
+
|---------|-----|
|
|
72
|
+
| `unzip: command not found` | Rerun the installer — it now auto-installs `unzip` |
|
|
73
|
+
| `jaw: command not found` after install | Run `source ~/.bashrc` to reload PATH |
|
|
74
|
+
| Still can't find `jaw` | Run `export PATH="$(npm config get prefix)/bin:$PATH"` |
|
|
75
|
+
| Permission errors with `npm install -g` | Run `sudo chown -R $USER $(npm config get prefix)` |
|
|
76
|
+
|
|
77
|
+
</details>
|
|
78
|
+
|
|
59
79
|
</details>
|
|
60
80
|
|
|
61
81
|
<details>
|
|
@@ -133,7 +153,7 @@ Check what's ready: `jaw doctor`
|
|
|
133
153
|
✅ OpenCode CLI installed
|
|
134
154
|
✅ Copilot CLI installed
|
|
135
155
|
✅ Database jaw.db OK
|
|
136
|
-
✅ Skills
|
|
156
|
+
✅ Skills 20 active, 89 reference
|
|
137
157
|
✅ MCP 3 servers configured
|
|
138
158
|
✅ Memory MEMORY.md exists
|
|
139
159
|
✅ Server port 3457 available
|
|
@@ -169,6 +189,21 @@ Unlike single-model assistants, CLI-JAW orchestrates **5 AI engines** (Claude, C
|
|
|
169
189
|
|
|
170
190
|
---
|
|
171
191
|
|
|
192
|
+
## 🆕 What's New (v1.3.0)
|
|
193
|
+
|
|
194
|
+
| Feature | Description |
|
|
195
|
+
|---------|-------------|
|
|
196
|
+
| 🎤 **Voice & STT** | Web mic button + Telegram voice transcription. Multi-provider STT: OpenAI-compatible, Google Vertex AI, custom endpoints. Settings UI with API key management. |
|
|
197
|
+
| 📝 **Prompt Templates** | Create, edit, and manage prompt templates via the Web UI. Node-map visualization + full CRUD API. |
|
|
198
|
+
| 📊 **Quota Dashboard** | Compact quota bars with reset-time display. Graceful 429 rate-limit handling with cached usage data. |
|
|
199
|
+
| 🔍 **IDE Diff View** | Fingerprint-based change detection. Auto-detects VS Code or Antigravity and opens inline diffs. |
|
|
200
|
+
| 🎭 **PABCD Enhancements** | Live roadmap bar with 🦈 shark runner animation. Glow, pulse, and badge feedback on phase transitions. |
|
|
201
|
+
| 🪟 **WSL Installer v2** | Auto-installs prerequisites (`unzip`, `curl`, `git`), fixes PATH for `jaw` command, adds troubleshooting guide. |
|
|
202
|
+
| 🧪 **639 Tests** | Up from 608 — new coverage for STT, quota caching, orchestration, and CI stability. |
|
|
203
|
+
| 📦 **109 Skills** | 20 active + 89 reference. New: `dev-pabcd`, `dev-scaffolding`, `dev-code-reviewer`. |
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
172
207
|
## What can your assistant do?
|
|
173
208
|
|
|
174
209
|
```mermaid
|
|
@@ -189,7 +224,9 @@ graph LR
|
|
|
189
224
|
- 🤖 **5 AI engines, 1 assistant** — Claude · Codex · Gemini · OpenCode · Copilot. Switch with `/cli`.
|
|
190
225
|
- ⚡ **Auto fallback** — If one engine is down, the next picks up seamlessly.
|
|
191
226
|
- 🎭 **Multi-agent orchestration** — Complex tasks get split across specialized sub-agents automatically.
|
|
192
|
-
-
|
|
227
|
+
- 🎤 **Voice input** — Mic button on the web + Telegram voice messages. Multi-provider STT (OpenAI, Vertex AI).
|
|
228
|
+
- 📝 **Prompt templates** — Create, manage, and reuse prompt templates with a visual node-map editor.
|
|
229
|
+
- 📦 **109 skills** — Browser control, file editing, image generation, web search, and [much more](#-skill-system).
|
|
193
230
|
- 🧠 **Persistent memory** — Your assistant remembers past conversations and preferences across sessions.
|
|
194
231
|
- 📱 **Telegram bot** — Chat with your assistant from your phone, send voice/photos/files.
|
|
195
232
|
- 🌐 **Browser automation** — Your assistant can navigate the web, click, type, and screenshot.
|
|
@@ -201,15 +238,15 @@ graph LR
|
|
|
201
238
|
|
|
202
239
|
## 📦 Skill System
|
|
203
240
|
|
|
204
|
-
**
|
|
241
|
+
**109 skills** out of the box — browser, github, notion, telegram, memory, pdf, image generation, and [much more](#).
|
|
205
242
|
|
|
206
243
|
<details>
|
|
207
244
|
<summary>View all skills</summary>
|
|
208
245
|
|
|
209
246
|
| Tier | Count | How it works |
|
|
210
247
|
| -------------------- | :---: | --------------------------------------------------------- |
|
|
211
|
-
| **Active Skills** |
|
|
212
|
-
| **Reference Skills** |
|
|
248
|
+
| **Active Skills** | 20 | Auto-injected into every AI prompt. Always available. |
|
|
249
|
+
| **Reference Skills** | 89 | AI reads them on-demand when you ask for a relevant task. |
|
|
213
250
|
|
|
214
251
|
#### Active Skills (always on)
|
|
215
252
|
|
|
@@ -226,10 +263,11 @@ graph LR
|
|
|
226
263
|
| `screen-capture` | macOS screenshot and camera capture |
|
|
227
264
|
| `openai-docs` | Up-to-date OpenAI API documentation |
|
|
228
265
|
| `dev` / `dev-frontend` / `dev-backend` / `dev-data` / `dev-testing` | Development guidelines for sub-agents |
|
|
266
|
+
| `dev-pabcd` / `dev-scaffolding` / `dev-code-reviewer` | Orchestration, scaffolding, and code review guides |
|
|
229
267
|
|
|
230
268
|
#### Reference Skills (on-demand)
|
|
231
269
|
|
|
232
|
-
|
|
270
|
+
89 more skills ready to use — spotify, weather, deep-research, tts, video-downloader, apple-reminders, 1password, terraform, postgres, jupyter-notebook, sentry, whatsapp, and more.
|
|
233
271
|
|
|
234
272
|
```bash
|
|
235
273
|
jaw skill install <name> # Activate a reference skill permanently
|
|
@@ -259,8 +297,9 @@ Your assistant isn't tied to your desk. Chat from anywhere via Telegram:
|
|
|
259
297
|
**What you can do from Telegram:**
|
|
260
298
|
|
|
261
299
|
- 💬 Chat with your assistant (any of 5 AI engines)
|
|
262
|
-
- 🎤 Send voice messages (auto-transcribed)
|
|
300
|
+
- 🎤 Send voice messages (auto-transcribed via multi-provider STT)
|
|
263
301
|
- 📎 Send files and photos for processing
|
|
302
|
+
- 🎙️ Combine voice + text + attachments in a single message
|
|
264
303
|
- ⚡ Run commands (`/cli`, `/model`, `/status`)
|
|
265
304
|
- 🔄 Switch AI engines on the fly
|
|
266
305
|
|
|
@@ -521,7 +560,7 @@ src/
|
|
|
521
560
|
## 🧪 Tests
|
|
522
561
|
|
|
523
562
|
<details>
|
|
524
|
-
<summary>
|
|
563
|
+
<summary>639 pass · 1 skipped · zero external dependencies</summary>
|
|
525
564
|
|
|
526
565
|
```bash
|
|
527
566
|
npm test
|
package/README.zh-CN.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
*Claude、Codex、Gemini... 从此告别来回切换。*
|
|
8
8
|
|
|
9
|
-
[](#-测试)
|
|
10
10
|
[](https://typescriptlang.org)
|
|
11
11
|
[](https://nodejs.org)
|
|
12
12
|
[](LICENSE)
|
|
@@ -133,7 +133,7 @@ gemini # Google Gemini — 首次运行触发认证
|
|
|
133
133
|
✅ OpenCode CLI installed
|
|
134
134
|
✅ Copilot CLI installed
|
|
135
135
|
✅ Database jaw.db OK
|
|
136
|
-
✅ Skills
|
|
136
|
+
✅ Skills 20 active, 89 reference
|
|
137
137
|
✅ MCP 3 servers configured
|
|
138
138
|
✅ Memory MEMORY.md exists
|
|
139
139
|
✅ Server port 3457 available
|
|
@@ -154,7 +154,7 @@ CLI-JAW 是驻留在您本地机器上的**专属 AI 助手**,并在您熟悉
|
|
|
154
154
|
> 💬 *"重构这个模块,顺便写好测试"* → 子 Agent 搞定,你喝杯咖啡回来就行
|
|
155
155
|
> 💬 *"把那个 PDF 下载下来,关键信息放到 Notion 里"* → 浏览器 + Notion 技能组合,搞定
|
|
156
156
|
|
|
157
|
-
与单一模型的助手不同,CLI-JAW 通过官方 CLI 命令行工具对 **5 大 AI 引擎**(Claude、Codex、Gemini、OpenCode、Copilot)进行编排 — 为您提供各大供应商最优势的能力及统一的体验。当一个引擎处于繁忙状态时,它会自动无缝切换至下一个。
|
|
157
|
+
与单一模型的助手不同,CLI-JAW 通过官方 CLI 命令行工具对 **5 大 AI 引擎**(Claude、Codex、Gemini、OpenCode、Copilot)进行编排 — 为您提供各大供应商最优势的能力及统一的体验。当一个引擎处于繁忙状态时,它会自动无缝切换至下一个。109 个内置技能可处理从浏览器自动化到文档生成的所有事务。
|
|
158
158
|
|
|
159
159
|
| | 为什么选择 CLI-JAW? |
|
|
160
160
|
| ------------------------------- | ------------------------------------------------------------------------------------- |
|
|
@@ -162,13 +162,28 @@ CLI-JAW 是驻留在您本地机器上的**专属 AI 助手**,并在您熟悉
|
|
|
162
162
|
| 🤖 **经过验证的智能体工具** | 5 大实战级编码智能体(Claude、Codex、Gemini、OpenCode、Copilot)集于一身。 |
|
|
163
163
|
| ⚡ **多模型自动回退 (Fallback)** | 单一引擎发生故障?下一个立即接管。确保零停机。 |
|
|
164
164
|
| 🎭 **基于编排的性能优化** | 复杂的任务会被拆分给专业的子智能体,以实现效率最大化。 |
|
|
165
|
-
| 📦 **
|
|
165
|
+
| 📦 **109 个内置技能** | 浏览器自动化、文档生成、Telegram 通知、持久化记忆 — 开箱即用。 |
|
|
166
166
|
| 🖥️ **跨平台支持** | macOS、Linux、Windows — ENOENT-safe CLI 启动、自动检测、`.cmd` 支持,跨平台原生运行。 |
|
|
167
167
|
|
|
168
168
|

|
|
169
169
|
|
|
170
170
|
---
|
|
171
171
|
|
|
172
|
+
## 🆕 新功能 (v1.3.0)
|
|
173
|
+
|
|
174
|
+
| 功能 | 说明 |
|
|
175
|
+
|------|------|
|
|
176
|
+
| 🎤 **语音 & STT** | Web 麦克风按钮 + Telegram 语音转写。多供应商 STT:OpenAI 兼容、Google Vertex AI、自定义端点。设置 UI 中管理 API 密钥。 |
|
|
177
|
+
| 📝 **提示词模板** | 通过 Web UI 创建、编辑和管理提示词模板。节点地图可视化 + 完整 CRUD API。 |
|
|
178
|
+
| 📊 **配额仪表盘** | 紧凑型配额条 + 重置时间显示。429 速率限制时使用缓存数据优雅处理。 |
|
|
179
|
+
| 🔍 **IDE Diff 视图** | 基于指纹的变更检测。自动检测 VS Code 或 Antigravity 并打开内联 diff。 |
|
|
180
|
+
| 🎭 **PABCD 增强** | 实时路线图进度条 + 🦈 鲨鱼跑步动画。阶段切换时有发光、脉冲和徽章反馈。 |
|
|
181
|
+
| 🪟 **WSL 安装改进** | 自动安装前置依赖(`unzip`、`curl`、`git`),修复 `jaw` 命令 PATH,新增故障排除指南。 |
|
|
182
|
+
| 🧪 **639 项测试** | 从 608 项增加 — 新增 STT、配额缓存、编排和 CI 稳定性覆盖。 |
|
|
183
|
+
| 📦 **109 个技能** | 20 个活跃 + 89 个参考。新增:`dev-pabcd`、`dev-scaffolding`、`dev-code-reviewer`。 |
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
172
187
|
## 您的助手能做什么?
|
|
173
188
|
|
|
174
189
|
```mermaid
|
|
@@ -189,7 +204,9 @@ graph LR
|
|
|
189
204
|
- 🤖 **5 大 AI 引擎,1 个专属助手** — Claude · Codex · Gemini · OpenCode · Copilot。使用 `/cli` 命令一键切换。
|
|
190
205
|
- ⚡ **自动回退 (Fallback)** — 即使一个引擎出现故障,下一个也会无缝接管。
|
|
191
206
|
- 🎭 **多智能体编排** — 复杂任务会自动拆分给专业的子智能体并行处理。
|
|
192
|
-
-
|
|
207
|
+
- 🎤 **语音输入** — Web 麦克风按钮 + Telegram 语音消息。多供应商 STT(OpenAI、Vertex AI)。
|
|
208
|
+
- 📝 **提示词模板** — 使用可视化节点地图编辑器创建、管理和复用提示词模板。
|
|
209
|
+
- 📦 **109 个技能** — 浏览器控制、文件编辑、图片生成、网页搜索以及[更多功能](#-技能系统)。
|
|
193
210
|
- 🧠 **持久化记忆** — 跨越不同会话,记住您过往的对话和偏好设定。
|
|
194
211
|
- 📱 **Telegram 机器人** — 通过手机即可与您的助手聊天、发送语音/图片/文件。
|
|
195
212
|
- 🌐 **浏览器自动化** — 您的助手能够自动导航网页、点击、打字并进行截图。
|
|
@@ -212,15 +229,15 @@ jaw service install # 开机自动启动 (systemd/launchd/docker 自动检测)
|
|
|
212
229
|
|
|
213
230
|
## 📦 技能系统
|
|
214
231
|
|
|
215
|
-
**
|
|
232
|
+
**109 个技能**开箱即用 — 浏览器、GitHub、Notion、Telegram、记忆、PDF、图片生成等[应有尽有](#)。
|
|
216
233
|
|
|
217
234
|
<details>
|
|
218
235
|
<summary>查看全部技能</summary>
|
|
219
236
|
|
|
220
237
|
| 层级 | 数量 | 工作方式 |
|
|
221
238
|
| ------------ | :---: | ---------------------------------- |
|
|
222
|
-
| **活跃技能** |
|
|
223
|
-
| **参考技能** |
|
|
239
|
+
| **活跃技能** | 20 | 每次对话自动加载,随时可用。 |
|
|
240
|
+
| **参考技能** | 89 | 用到的时候 AI 自己去读,按需调用。 |
|
|
224
241
|
|
|
225
242
|
#### 活跃技能(常驻)
|
|
226
243
|
|
|
@@ -237,10 +254,11 @@ jaw service install # 开机自动启动 (systemd/launchd/docker 自动检测)
|
|
|
237
254
|
| `screen-capture` | macOS 截图和摄像头捕获 |
|
|
238
255
|
| `openai-docs` | 最新 OpenAI API 文档 |
|
|
239
256
|
| `dev` / `dev-frontend` / `dev-backend` / `dev-data` / `dev-testing` | 子 Agent 开发指南 |
|
|
257
|
+
| `dev-pabcd` / `dev-scaffolding` / `dev-code-reviewer` | 编排、脚手架和代码审查指南 |
|
|
240
258
|
|
|
241
259
|
#### 参考技能(按需调用)
|
|
242
260
|
|
|
243
|
-
|
|
261
|
+
89 个技能随时待命 — Spotify、天气、深度研究、TTS、视频下载、Apple 提醒事项、1Password、Terraform、PostgreSQL、Jupyter 等。
|
|
244
262
|
|
|
245
263
|
```bash
|
|
246
264
|
jaw skill install <name> # 参考 → 活跃,永久激活
|
|
@@ -470,7 +488,7 @@ src/
|
|
|
470
488
|
## 🧪 测试
|
|
471
489
|
|
|
472
490
|
<details>
|
|
473
|
-
<summary>
|
|
491
|
+
<summary>639 pass · 1 skipped · 零外部依赖</summary>
|
|
474
492
|
|
|
475
493
|
```bash
|
|
476
494
|
npm test
|
|
@@ -51,26 +51,28 @@ export function resetState() {
|
|
|
51
51
|
const PREFIXES = {
|
|
52
52
|
Pb2: `[PLANNING MODE — User Feedback]
|
|
53
53
|
The user has reviewed your plan. Apply their feedback and present the revised plan.
|
|
54
|
-
If user explicitly approves
|
|
54
|
+
If user explicitly approves, run \`cli-jaw orchestrate A\` to advance.
|
|
55
55
|
Otherwise revise and present again.
|
|
56
56
|
|
|
57
57
|
⛔ STOP after presenting the revision. WAIT for another user response.
|
|
58
58
|
|
|
59
59
|
User says:`,
|
|
60
60
|
Ab2: `[PLAN AUDIT — Worker Results]
|
|
61
|
-
Below are the plan audit results
|
|
61
|
+
Below are the plan audit results from the verification worker.
|
|
62
62
|
If issues found: fix the plan and re-audit (output worker JSON again).
|
|
63
|
-
If PASS: report results to the user.
|
|
63
|
+
If PASS: report results to the user and wait for approval.
|
|
64
|
+
When user approves, run \`cli-jaw orchestrate B\` to advance to Build.
|
|
64
65
|
|
|
65
|
-
⛔ STOP after reporting. WAIT for user approval
|
|
66
|
+
⛔ STOP after reporting. WAIT for user approval.
|
|
66
67
|
|
|
67
68
|
Worker results:`,
|
|
68
69
|
Bb2: `[IMPLEMENTATION REVIEW — Worker Results]
|
|
69
70
|
Below are verification results for your code.
|
|
70
71
|
If NEEDS_FIX: fix and re-verify (output worker JSON again).
|
|
71
|
-
If DONE: report results to the user.
|
|
72
|
+
If DONE: report results to the user and wait for approval.
|
|
73
|
+
When user approves, run \`cli-jaw orchestrate C\` to advance to Check.
|
|
72
74
|
|
|
73
|
-
⛔ STOP after reporting. WAIT for user approval
|
|
75
|
+
⛔ STOP after reporting. WAIT for user approval.
|
|
74
76
|
|
|
75
77
|
Worker results:`,
|
|
76
78
|
};
|
|
@@ -99,9 +101,8 @@ Steps:
|
|
|
99
101
|
4. Ask: "Any business logic I shouldn't decide alone?" and "Does Part 1 match your intent?"
|
|
100
102
|
|
|
101
103
|
⛔ STOP HERE. Do NOT proceed to the next phase.
|
|
102
|
-
⛔ Do NOT call cli-jaw orchestrate A yet.
|
|
103
104
|
⛔ WAIT for the user to review and approve your plan.
|
|
104
|
-
⛔
|
|
105
|
+
⛔ When user approves, run: \`cli-jaw orchestrate A\`
|
|
105
106
|
|
|
106
107
|
You will receive user feedback with a [PLANNING MODE] prefix. Revise until approved.`,
|
|
107
108
|
A: `[PABCD — A: PLAN AUDIT]
|
|
@@ -123,7 +124,8 @@ After receiving worker results:
|
|
|
123
124
|
- If FAIL: fix the plan and re-audit (output worker JSON again).
|
|
124
125
|
- If PASS: report results to the user.
|
|
125
126
|
|
|
126
|
-
⛔ STOP after reporting. WAIT for user approval
|
|
127
|
+
⛔ STOP after reporting. WAIT for user approval.
|
|
128
|
+
⛔ When user approves, run: \`cli-jaw orchestrate B\``,
|
|
127
129
|
B: `[PABCD — B: BUILD]
|
|
128
130
|
|
|
129
131
|
You are now in Build mode. The plan has been audited and approved.
|
|
@@ -145,7 +147,8 @@ Wait for worker verification results.
|
|
|
145
147
|
- NEEDS_FIX: YOU fix the issues yourself, then re-verify with another worker.
|
|
146
148
|
- DONE: Report results to the user.
|
|
147
149
|
|
|
148
|
-
⛔ STOP after reporting. WAIT for user approval
|
|
150
|
+
⛔ STOP after reporting. WAIT for user approval.
|
|
151
|
+
⛔ When user approves, run: \`cli-jaw orchestrate C\``,
|
|
149
152
|
C: `[PABCD — C: CHECK]
|
|
150
153
|
|
|
151
154
|
You are now in Check mode. Perform final verification:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-machine.js","sourceRoot":"","sources":["../../../src/orchestrator/state-machine.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,mFAAmF;AACnF,6CAA6C;AAC7C,kEAAkE;AAElE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAczD,uDAAuD;AAEvD,MAAM,UAAU,QAAQ;IACtB,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;IAC1B,OAAQ,GAAG,EAAE,KAAsB,IAAI,MAAM,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,MAAM;IACpB,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;IAC1B,IAAI,CAAC,GAAG,EAAE,GAAG;QAAE,OAAO,IAAI,CAAC;IAC3B,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,CAAe,EAAE,GAAuB;IAC/D,MAAM,OAAO,GAAG,GAAG,KAAK,SAAS;QAC/B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpC,CAAC,CAAC,WAAW,EAAE,EAAE,GAAG,IAAI,IAAI,CAAC;IAC/B,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAEvC,wCAAwC;IACxC,IAAI,KAAK,GAAG,OAAO,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,iBAAiB,EAAE,CAAC;QAC/B,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC;YAChB,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAClD,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACtF,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC/B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAEnC,SAAS,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,aAAa,EAAE,CAAC;IAChB,SAAS,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,uDAAuD;AACvD,4EAA4E;AAE5E,MAAM,QAAQ,GAA2B;IACvC,GAAG,EAAE;;;;;;;WAOI;IAET,GAAG,EAAE
|
|
1
|
+
{"version":3,"file":"state-machine.js","sourceRoot":"","sources":["../../../src/orchestrator/state-machine.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,8 +57,10 @@ If shell is unavailable, the system will auto-advance when the user explicitly a
|
|
|
57
57
|
- Worker results are fed back to you. Review them and report to the user.
|
|
58
58
|
|
|
59
59
|
**Phase summary**:
|
|
60
|
-
- P: Write a plan →
|
|
61
|
-
- A: Spawn
|
|
62
|
-
- B: Implement code → spawn verify worker → STOP
|
|
63
|
-
- C: Final check (tsc, docs) →
|
|
60
|
+
- P: Write a plan → STOP → approved → `cli-jaw orchestrate A`
|
|
61
|
+
- A: Spawn audit worker → review results → STOP → approved → `cli-jaw orchestrate B`
|
|
62
|
+
- B: Implement code → spawn verify worker → STOP → approved → `cli-jaw orchestrate C`
|
|
63
|
+
- C: Final check (tsc, docs) → `cli-jaw orchestrate D`
|
|
64
64
|
- D: Summarize and return to IDLE.
|
|
65
|
+
|
|
66
|
+
**⚠️ State transitions MUST use `cli-jaw orchestrate` commands. No other method.**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cli-jaw",
|
|
3
|
-
"version": "1.3.0-preview.
|
|
3
|
+
"version": "1.3.0-preview.7",
|
|
4
4
|
"description": "Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [
|
package/public/css/orc-state.css
CHANGED
|
@@ -157,7 +157,7 @@ body[data-orc-state].orc-pulse #chatMessages {
|
|
|
157
157
|
background-size: 360px 24px;
|
|
158
158
|
position: absolute;
|
|
159
159
|
top: -13px;
|
|
160
|
-
left:
|
|
160
|
+
left: 0;
|
|
161
161
|
z-index: 10;
|
|
162
162
|
transition: left 1.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
163
163
|
pointer-events: none;
|