cli-jaw 2.17.61 → 2.17.62
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.ja.md +376 -339
- package/README.ko.md +338 -393
- package/README.md +163 -508
- package/README.zh-CN.md +365 -376
- package/dist/server.js +3 -0
- package/dist/server.js.map +1 -1
- package/dist/src/agent/pi-runtime.js +37 -18
- package/dist/src/agent/pi-runtime.js.map +1 -1
- package/dist/src/agent/runtime/acp/permissions.js +2 -3
- package/dist/src/agent/runtime/acp/permissions.js.map +1 -1
- package/dist/src/agent/runtime/pi-turn.js +7 -0
- package/dist/src/agent/runtime/pi-turn.js.map +1 -1
- package/dist/src/agent/spawn/line-buffer.js +84 -13
- package/dist/src/agent/spawn/line-buffer.js.map +1 -1
- package/dist/src/agent/spawn.js +26 -15
- package/dist/src/agent/spawn.js.map +1 -1
- package/dist/src/code-mode/host.js +34 -5
- package/dist/src/code-mode/host.js.map +1 -1
- package/dist/src/code-mode/manager.js +24 -7
- package/dist/src/code-mode/manager.js.map +1 -1
- package/dist/src/code-mode/providers/provider-live-models.js +3 -1
- package/dist/src/code-mode/providers/provider-live-models.js.map +1 -1
- package/dist/src/code-mode/store.js +31 -6
- package/dist/src/code-mode/store.js.map +1 -1
- package/dist/src/core/config.js +119 -17
- package/dist/src/core/config.js.map +1 -1
- package/dist/src/core/runtime-settings.js +7 -1
- package/dist/src/core/runtime-settings.js.map +1 -1
- package/dist/src/core/settings-merge.js +9 -0
- package/dist/src/core/settings-merge.js.map +1 -1
- package/dist/src/core/settings-watch.js +19 -1
- package/dist/src/core/settings-watch.js.map +1 -1
- package/dist/src/discord/bot.js +6 -4
- package/dist/src/discord/bot.js.map +1 -1
- package/dist/src/discord/send-only-client.js +37 -3
- package/dist/src/discord/send-only-client.js.map +1 -1
- package/dist/src/manager/memory/embedding/sync.js +6 -0
- package/dist/src/manager/memory/embedding/sync.js.map +1 -1
- package/dist/src/manager/routes/dashboard-memory.js +20 -7
- package/dist/src/manager/routes/dashboard-memory.js.map +1 -1
- package/dist/src/manager/server.js +8 -0
- package/dist/src/manager/server.js.map +1 -1
- package/dist/src/manager/shutdown.js +29 -3
- package/dist/src/manager/shutdown.js.map +1 -1
- package/dist/src/manager/worker-events.js +70 -8
- package/dist/src/manager/worker-events.js.map +1 -1
- package/dist/src/routes/code-native.js +23 -3
- package/dist/src/routes/code-native.js.map +1 -1
- package/dist/src/routes/events.js +4 -0
- package/dist/src/routes/events.js.map +1 -1
- package/dist/src/routes/settings.js +45 -1
- package/dist/src/routes/settings.js.map +1 -1
- package/dist/src/routes/sse-connections.js +31 -0
- package/dist/src/routes/sse-connections.js.map +1 -0
- package/dist/src/shared/permissions.js +47 -0
- package/dist/src/shared/permissions.js.map +1 -0
- package/package.json +1 -1
- package/public/dist/.vite/manifest.json +31 -31
- package/public/dist/assets/AdvancedExport-B7h_ZvBu.js +1 -0
- package/public/dist/assets/Agent-DnbZJP7b.js +1 -0
- package/public/dist/assets/{ChannelEnablementControl-B2tq8Ji4.js → ChannelEnablementControl-Dl0uYx38.js} +5 -5
- package/public/dist/assets/ChannelSetupEntry-DxtOrN01.js +1 -0
- package/public/dist/assets/ChannelsDiscord-BEGGwd_3.js +1 -0
- package/public/dist/assets/{ChannelsSlack-B9FV0ftr.js → ChannelsSlack-BryC2Ahr.js} +1 -1
- package/public/dist/assets/ChannelsTelegram-CGSpaImJ.js +1 -0
- package/public/dist/assets/CodeCanvas-DpkFi5Au.js +2 -0
- package/public/dist/assets/Permissions-BwiMEoTV.js +1 -0
- package/public/dist/assets/Permissions-CodIW-Yd.js +1 -0
- package/public/dist/assets/{manager-C5cU1joU.js → manager-Bi_xw7TW.js} +2 -2
- package/public/dist/assets/{settings-CA2LQDGh.js → settings-W4KG9ivu.js} +1 -1
- package/public/dist/assets/{settings-embedding-oGvFayh-.js → settings-embedding-BfWzWKMM.js} +1 -1
- package/public/dist/manager/index.html +1 -1
- package/public/dist/settings/index.html +1 -1
- package/public/js/features/settings-discord.ts +39 -5
- package/public/js/features/settings-telegram.ts +38 -4
- package/public/js/features/settings-types.ts +2 -0
- package/public/locales/en.json +2 -0
- package/public/locales/ja.json +2 -0
- package/public/locales/ko.json +2 -0
- package/public/locales/zh.json +2 -0
- package/public/manager/src/App.tsx +4 -1
- package/public/manager/src/code/code-controller-runtime.ts +13 -6
- package/public/manager/src/code/code-session-client.ts +1 -1
- package/public/manager/src/code/session-order.ts +6 -7
- package/public/manager/src/dashboard-url-state.ts +8 -0
- package/public/manager/src/settings/pages/AdvancedExport.tsx +2 -0
- package/public/manager/src/settings/pages/Agent.tsx +13 -5
- package/public/manager/src/settings/pages/ChannelsDiscord.tsx +27 -4
- package/public/manager/src/settings/pages/ChannelsTelegram.tsx +26 -4
- package/public/manager/src/settings/pages/Permissions.tsx +50 -27
- package/public/manager/src/settings/pages/components/ChannelSetupEntry.tsx +4 -3
- package/public/manager/src/settings/pages/components/agent/PermissionQuickSection.tsx +10 -2
- package/public/dist/assets/AdvancedExport-BNMjYkw6.js +0 -1
- package/public/dist/assets/Agent-D4g8TPjm.js +0 -1
- package/public/dist/assets/ChannelSetupEntry-zKYImWXx.js +0 -1
- package/public/dist/assets/ChannelsDiscord-CWRKV-Zl.js +0 -1
- package/public/dist/assets/ChannelsTelegram-BdK-fTPI.js +0 -1
- package/public/dist/assets/CodeCanvas-D5jp8-t5.js +0 -2
- package/public/dist/assets/Permissions-Bh947tUG.js +0 -1
- package/public/dist/assets/Permissions-DzNJCt8K.js +0 -1
package/README.ja.md
CHANGED
|
@@ -1,19 +1,80 @@
|
|
|
1
|
-
<
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="docs/assets/readme/banner.jpg" alt="CLI-JAW — あなた専用の AI エージェント。すべての AI CLI を、ひとつのダッシュボードに。" width="100%">
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
<p align="center"><b>すでに契約している AI コーディング CLI を、ひとつのアシスタント、ひとつのメモリ、ひとつのダッシュボードに。</b><br>
|
|
6
|
+
Claude、Codex、Cursor、Grok、Copilot、OpenCode、Kiro、Antigravity、Pi — チームとして連携します。</p>
|
|
4
7
|
|
|
5
|
-
|
|
8
|
+
<p align="center">
|
|
9
|
+
<a href="https://npmjs.com/package/cli-jaw"><img src="https://img.shields.io/npm/v/cli-jaw?color=cb3837&label=npm&logo=npm" alt="npm version"></a>
|
|
10
|
+
<a href="https://github.com/lidge-jun/cli-jaw/releases/latest"><img src="https://img.shields.io/github/v/release/lidge-jun/cli-jaw?label=release" alt="latest release"></a>
|
|
11
|
+
<img src="https://img.shields.io/badge/node-%3E%3D22.4-339933?logo=node.js&logoColor=white" alt="Node.js 22.4+">
|
|
12
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="MIT license"></a>
|
|
13
|
+
</p>
|
|
6
14
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
15
|
+
```bash
|
|
16
|
+
# 変更を最小限にしたい既存ユーザー向け: JAW_SAFE=1 npm install -g cli-jaw
|
|
17
|
+
npm install -g cli-jaw
|
|
18
|
+
jaw dashboard
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
<p align="center">
|
|
22
|
+
<a href="https://github.com/lidge-jun/cli-jaw/releases/latest"><img src="https://img.shields.io/badge/macOS-.dmg-24292f?logo=apple&logoColor=white" alt="Download for macOS (.dmg)"></a>
|
|
23
|
+
<a href="https://github.com/lidge-jun/cli-jaw/releases/latest"><img src="https://img.shields.io/badge/Windows-.exe-24292f?logo=windows&logoColor=white" alt="Download for Windows (.exe)"></a>
|
|
24
|
+
<a href="https://github.com/lidge-jun/cli-jaw/releases/latest"><img src="https://img.shields.io/badge/Linux-.AppImage-24292f?logo=linux&logoColor=white" alt="Download for Linux (.AppImage)"></a>
|
|
25
|
+
</p>
|
|
26
|
+
|
|
27
|
+
<table>
|
|
28
|
+
<tr>
|
|
29
|
+
<td width="50%" valign="middle">
|
|
30
|
+
|
|
31
|
+
### すべてのエージェントをひとつの場所に
|
|
32
|
+
|
|
33
|
+
マネージャーダッシュボードから、稼働中のすべてのインスタンスを起動・停止・プレビューできます。
|
|
34
|
+
|
|
35
|
+
</td>
|
|
36
|
+
<td width="50%"><img src="docs/screenshots/manager-dashboard-light.png" alt="CLI-JAW マネージャーダッシュボード" width="100%"></td>
|
|
37
|
+
</tr>
|
|
38
|
+
<tr>
|
|
39
|
+
<td width="50%" valign="middle">
|
|
40
|
+
|
|
41
|
+
### 作業のためのボード
|
|
42
|
+
|
|
43
|
+
カンバンレーン、優先度マトリックス、リマインダーが、各セッションの作業を追跡します。
|
|
44
|
+
|
|
45
|
+
</td>
|
|
46
|
+
<td width="50%"><img src="docs/screenshots/dashboard-kanban.png" alt="エージェントセッションのカンバンボード" width="100%"></td>
|
|
47
|
+
</tr>
|
|
48
|
+
<tr>
|
|
49
|
+
<td width="50%" valign="middle">
|
|
50
|
+
|
|
51
|
+
### エージェントが読めるノート
|
|
52
|
+
|
|
53
|
+
WYSIWYG 編集、数式、Mermaid 図に対応した組み込みの Markdown ワークスペース。
|
|
13
54
|
|
|
14
|
-
|
|
55
|
+
</td>
|
|
56
|
+
<td width="50%"><img src="docs/screenshots/notes-wysiwyg.png" alt="ノートエディタ" width="100%"></td>
|
|
57
|
+
</tr>
|
|
58
|
+
</table>
|
|
15
59
|
|
|
16
|
-
|
|
60
|
+
<p align="center">
|
|
61
|
+
<a href="README.md">English</a> · <a href="README.ko.md">한국어</a> · <a href="README.zh-CN.md">中文</a> · <b>日本語</b> · 📖 <a href="https://lidge-jun.github.io/cli-jaw/"><b>ウェブサイト</b></a> · <a href="https://lidge-jun.github.io/cli-jaw/dev/">ドキュメント</a>
|
|
62
|
+
</p>
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## CLI-JAW とは
|
|
67
|
+
|
|
68
|
+
CLI-JAW は、すでに使っている AI コーディング CLI を**ひとつのアシスタント、ひとつのメモリ、ひとつのダッシュボード**に統合します。メインの CLI(「Boss」)が他の CLI を「Employee(従業員)」として呼び出すので、アプリ間でコピー&ペーストする必要はなくなり、指示はひとつの場所から出せます。
|
|
69
|
+
|
|
70
|
+
- **API キー不要** — すでに契約しているサブスクリプション経由で動作します
|
|
71
|
+
- **トークン単位の課金なし** — すでに支払っているのと同じ月額固定です
|
|
72
|
+
- **ローカルで動作** — コードがマシンの外に出ることはありません
|
|
73
|
+
- **どこからでも使える** — Web、デスクトップアプリ、ターミナル、Telegram、Discord、Slack
|
|
74
|
+
|
|
75
|
+
ネイティブ Code API(`/api/code`)は、Codex、Claude、Cursor、Grok のセッションを分離して実行し、永続するトランスクリプトとネイティブ resume を提供します。詳しくは [ネイティブ Code セッション](structure/runtime-integration.md#native-code-sessions) を参照してください。
|
|
76
|
+
|
|
77
|
+
---
|
|
17
78
|
|
|
18
79
|
## インストール
|
|
19
80
|
|
|
@@ -23,7 +84,7 @@
|
|
|
23
84
|
```bash
|
|
24
85
|
# macOS / Linux
|
|
25
86
|
JAW_SAFE=1 npm install -g cli-jaw # skips optional tool/runtime setup
|
|
26
|
-
jaw init #
|
|
87
|
+
jaw init # interactive setup later when you're ready
|
|
27
88
|
```
|
|
28
89
|
|
|
29
90
|
|
|
@@ -58,17 +119,48 @@ jaw.cmd doctor
|
|
|
58
119
|
</details>
|
|
59
120
|
|
|
60
121
|
```bash
|
|
61
|
-
# macOS / Linux / WSL
|
|
122
|
+
# macOS / Linux / WSL with Node.js 22+ already installed
|
|
62
123
|
npm install -g cli-jaw
|
|
63
124
|
jaw dashboard
|
|
64
125
|
```
|
|
65
126
|
|
|
66
|
-
|
|
127
|
+
> **npm 12+ ですか?** npm は依存パッケージの install スクリプトをデフォルトでブロックするようになりました。`npm warn allow-scripts` が出た場合は、スクリプトを許可してインストールしてください:
|
|
128
|
+
>
|
|
129
|
+
> ```bash
|
|
130
|
+
> npm install -g cli-jaw --allow-scripts=cli-jaw
|
|
131
|
+
> ```
|
|
132
|
+
|
|
133
|
+
<details>
|
|
134
|
+
<summary><b>Windows の npm インストール復旧</b> — npm 12+ によるスクリプトブロック、または PowerShell 実行ポリシー</summary>
|
|
135
|
+
|
|
136
|
+
npm 12+ では、CLI-JAW の依存パッケージの `postinstall` がブロックされたままグローバルインストールが完了することがあります。このパッケージだけを許可して再インストールするか、今後のアップグレードのために許可を保存してください:
|
|
137
|
+
|
|
138
|
+
```powershell
|
|
139
|
+
npm install -g cli-jaw --allow-scripts=cli-jaw
|
|
140
|
+
npm config set allow-scripts=cli-jaw --location=user
|
|
141
|
+
jaw doctor
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
スクリプトの実行が無効であるために `jaw.ps1` を読み込めないと PowerShell が報告する場合は、次のいずれかを使ってください:
|
|
145
|
+
|
|
146
|
+
```powershell
|
|
147
|
+
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
|
|
148
|
+
jaw.cmd doctor
|
|
149
|
+
node "$(npm prefix -g)\node_modules\cli-jaw\dist\bin\cli-jaw.js" doctor
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
`jaw.ps1` は PowerShell 用の npm shim で、実行ポリシーの対象になります。`jaw.cmd` は同等の cmd shim で、そのポリシーは使いません。`node` を直接呼ぶ形はどちらの shim も経由しません。`jaw doctor` はブロックされた/古いインストール、npm の残存ステージングディレクトリ、現在の PowerShell ポリシーを報告し、対応する復旧手順も表示します。
|
|
153
|
+
|
|
154
|
+
</details>
|
|
155
|
+
|
|
156
|
+
これで完了です。マネージャーダッシュボードは **http://localhost:24576** で開きます。エージェントごとの Web UI は、`jaw serve` を起動すると **http://localhost:3457** で動きます。[Node.js 22.4+](https://nodejs.org) が必要です。
|
|
67
157
|
|
|
68
158
|
> **初めてですか?** デフォルトの npm インストールは CLI-JAW の初期化とネイティブ Claude のセットアップを試みます。他の AI CLI は任意です。macOS/Linux で npm インストール時にすべて入れる場合は `CLI_JAW_INSTALL_CLI_TOOLS=1 npm install -g cli-jaw` を使ってください。Windows では下の WSL インストール手順を使ってください。
|
|
69
159
|
|
|
160
|
+
> **廃止されたランタイム。** Claude E(`claude-e`)と AI-E マルチプレクサ(`ai-e`)は削除されました。保存済みの選択は廃止済みとして表示され、実行することはできません。利用可能なランタイムを選んでください。詳細: [ランタイム統合](structure/runtime-integration.md)。
|
|
161
|
+
|
|
70
162
|
<details>
|
|
71
|
-
<summary><b>macOS ワンクリック</b> — Node.js
|
|
163
|
+
<summary><b>macOS ワンクリック</b> — Node.js がない場合はこちらで全部入ります</summary>
|
|
72
164
|
|
|
73
165
|
```bash
|
|
74
166
|
curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/main/scripts/install.sh | bash
|
|
@@ -82,21 +174,21 @@ bash "$(npm root -g)/cli-jaw/scripts/verify-fresh-install.sh"
|
|
|
82
174
|
<summary><b>Windows(WSL — Windows Subsystem for Linux)</b> — ゼロからワンクリック</summary>
|
|
83
175
|
|
|
84
176
|
```powershell
|
|
85
|
-
# 1. WSL
|
|
177
|
+
# 1. Install WSL (PowerShell as Admin)
|
|
86
178
|
wsl --install
|
|
87
179
|
```
|
|
88
180
|
|
|
89
|
-
|
|
181
|
+
再起動して **Ubuntu** を開き、次を実行します:
|
|
90
182
|
|
|
91
183
|
```bash
|
|
92
|
-
# 2. CLI-JAW +
|
|
184
|
+
# 2. Install CLI-JAW + all dependencies
|
|
93
185
|
curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/main/scripts/install-wsl.sh | bash
|
|
94
186
|
source ~/.bashrc
|
|
95
187
|
jaw dashboard
|
|
96
188
|
bash "$(npm root -g)/cli-jaw/scripts/verify-fresh-install.sh"
|
|
97
189
|
```
|
|
98
190
|
|
|
99
|
-
Windows PowerShell から WSL 内のコマンドを実行する場合は、WSL
|
|
191
|
+
Windows PowerShell から WSL 内のコマンドを実行する場合は、WSL プロファイルの PATH が読み込まれるよう login shell 経由で実行してください:
|
|
100
192
|
|
|
101
193
|
```powershell
|
|
102
194
|
wsl.exe -d Ubuntu -- bash -lc "jaw dashboard"
|
|
@@ -105,390 +197,354 @@ wsl.exe -d Ubuntu -- bash -lc "jaw dashboard"
|
|
|
105
197
|
</details>
|
|
106
198
|
|
|
107
199
|
<details>
|
|
108
|
-
<summary><b>
|
|
109
|
-
|
|
110
|
-
```bash
|
|
111
|
-
docker compose up -d # → http://localhost:3457
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
</details>
|
|
115
|
-
|
|
116
|
-
---
|
|
117
|
-
|
|
118
|
-
## CLI-JAW とは
|
|
119
|
-
|
|
120
|
-
CLI-JAW は、すでに使っている AI コーディング CLI — Pi、Antigravity、Claude、Codex、Codex App、Cursor、Gemini、Grok、Kiro、OpenCode、Copilot — を**ひとつのアシスタント、ひとつのメモリ、ひとつのダッシュボード**に統合するオープンソースプラットフォームです。
|
|
121
|
-
|
|
122
|
-
メイン CLI(Boss)が他の CLI を「Employee(従業員)」として呼び出します。アプリを切り替える必要はなく、ひとつの場所から指示できます。
|
|
123
|
-
|
|
124
|
-
- **API キー不要** — すでに契約中のサブスクリプションで動作
|
|
125
|
-
- **トークン課金なし** — 既存の月額料金のまま
|
|
126
|
-
- **ローカル実行** — コードがマシンの外に出ることはありません
|
|
200
|
+
<summary><b>ネイティブ Windows(PowerShell beta)</b> — デタッチ実行したサーバーのログ</summary>
|
|
127
201
|
|
|
128
|
-
|
|
202
|
+
`jaw serve` は、継承した stdout / stderr ストリームをそのまま残しつつ、両方のストリームを `<JAW_HOME>\logs\serve.log` にも追記します。起動時に、すでに 5 MiB に達しているファイルは一度だけ `serve.log.1` にローテーションされます。ネイティブ Windows には、`jaw service` のログ用バックエンドがまだ登録されていません。PowerShell の `Start-Process -RedirectStandardOutput/-RedirectStandardError` は起動のたびに対象ファイルを作成または切り詰めるので、これらのオプションをインスタンス所有の `serve.log` に向けないでください。
|
|
129
203
|
|
|
130
|
-
|
|
204
|
+
オペレーターが管理する stdout / stderr ファイルを別に用意する場合は、子 PowerShell プロセスの中でリダイレクトしてください。次の例は、`Start-Process` の切り詰め既定動作を使わずに `<JAW_HOME>\logs` 配下へ追記します:
|
|
131
205
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
206
|
+
```powershell
|
|
207
|
+
$jawHome = 'C:\jaw\worker-a'
|
|
208
|
+
$port = 3458
|
|
209
|
+
$logDir = Join-Path $jawHome 'logs'
|
|
210
|
+
$outLog = Join-Path $logDir 'serve.out.log'
|
|
211
|
+
$errLog = Join-Path $logDir 'serve.err.log'
|
|
212
|
+
New-Item -ItemType Directory -Force -Path $logDir -ErrorAction Stop | Out-Null
|
|
213
|
+
foreach ($path in @($outLog, $errLog)) {
|
|
214
|
+
# OpenOrCreate preserves existing content while proving that the child can append.
|
|
215
|
+
$probe = [IO.File]::Open($path, 'OpenOrCreate', 'Write', 'ReadWrite')
|
|
216
|
+
$probe.Dispose()
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
$jaw = (Get-Command jaw.cmd -ErrorAction Stop).Source
|
|
220
|
+
$childCommand = "& '$jaw' --home '$jawHome' serve --port $port --no-open 1>> '$outLog' 2>> '$errLog'"
|
|
221
|
+
$encoded = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($childCommand))
|
|
222
|
+
Start-Process -FilePath powershell.exe -ArgumentList '-NoProfile', '-EncodedCommand', $encoded -WindowStyle Hidden | Out-Null
|
|
223
|
+
```
|
|
139
224
|
|
|
140
|
-
|
|
225
|
+
各ストリームは別々の PowerShell ターミナルで読んでください(`Get-Content -Wait` はそのターミナルを占有し続けます)。起動したターミナルの変数は新しい PowerShell セッションでは使えないため、これらのコマンドは明示的なパスを使っています:
|
|
141
226
|
|
|
142
|
-
|
|
227
|
+
```powershell
|
|
228
|
+
# Terminal 1
|
|
229
|
+
Get-Content -LiteralPath 'C:\jaw\worker-a\logs\serve.out.log' -Tail 100 -Wait
|
|
143
230
|
|
|
144
|
-
|
|
231
|
+
# Terminal 2
|
|
232
|
+
Get-Content -LiteralPath 'C:\jaw\worker-a\logs\serve.err.log' -Tail 100 -Wait
|
|
233
|
+
```
|
|
145
234
|
|
|
146
|
-
|
|
147
|
-
# 無料オプション(クレジットカード不要)
|
|
148
|
-
copilot login # GitHub Copilot(無料枠あり)
|
|
149
|
-
opencode # OpenCode — 無料モデルあり
|
|
235
|
+
ライフサイクルコマンドはホーム単位で動作し、シグナルを送る前に `<JAW_HOME>\jaw.pid.json` を検証します:
|
|
150
236
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
cursor-agent login # Cursor
|
|
155
|
-
grok login --oauth # xAI Grok / Grok Heavy
|
|
156
|
-
kiro # AWS Kiro (free tier with AWS account)
|
|
237
|
+
```powershell
|
|
238
|
+
& $jaw --home $jawHome service stop --port $port
|
|
239
|
+
& $jaw --home $jawHome service restart --port $port
|
|
157
240
|
```
|
|
158
241
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
<details>
|
|
162
|
-
<summary>jaw doctor の出力例</summary>
|
|
242
|
+
単体の `service restart` はインスタンスをデタッチ状態で安全に起動し直しますが、オペレーターのファイルリダイレクトまでは再現できません。ファイルへの記録を維持するには、`stop` してから、必要なら閉じたログをローテーションし、起動ブロックをもう一度実行してください:
|
|
163
243
|
|
|
244
|
+
```powershell
|
|
245
|
+
$pidFile = Join-Path $jawHome 'jaw.pid.json'
|
|
246
|
+
$serverProcess = $null
|
|
247
|
+
if (Test-Path -LiteralPath $pidFile -PathType Leaf) {
|
|
248
|
+
$record = Get-Content -LiteralPath $pidFile -Raw -ErrorAction Stop | ConvertFrom-Json
|
|
249
|
+
$serverProcess = Get-Process -Id ([int]$record.pid) -ErrorAction SilentlyContinue
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
& $jaw --home $jawHome service stop --port $port
|
|
253
|
+
if ($LASTEXITCODE -ne 0) {
|
|
254
|
+
throw "jaw service stop failed with exit code $LASTEXITCODE"
|
|
255
|
+
}
|
|
256
|
+
if ($serverProcess) {
|
|
257
|
+
try {
|
|
258
|
+
if (-not $serverProcess.WaitForExit(5000)) {
|
|
259
|
+
throw "jaw serve pid $($serverProcess.Id) did not exit within 5000ms"
|
|
260
|
+
}
|
|
261
|
+
} finally {
|
|
262
|
+
$serverProcess.Dispose()
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
$stamp = Get-Date -Format 'yyyyMMdd-HHmmss'
|
|
267
|
+
foreach ($path in @($outLog, $errLog)) {
|
|
268
|
+
if (Test-Path -LiteralPath $path) {
|
|
269
|
+
Move-Item -LiteralPath $path -Destination "$path.$stamp" -ErrorAction Stop
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
# Run the Start-Process launch block above again.
|
|
164
273
|
```
|
|
165
|
-
🦈 CLI-JAW Doctor — 13 checks
|
|
166
274
|
|
|
167
|
-
|
|
168
|
-
✅ Claude CLI installed
|
|
169
|
-
✅ Codex CLI installed
|
|
170
|
-
✅ Cursor CLI installed
|
|
171
|
-
✅ OpenCode CLI installed
|
|
172
|
-
✅ Copilot CLI installed
|
|
173
|
-
✅ Database jaw.db OK
|
|
174
|
-
✅ Skills 32 active, 194 reference
|
|
175
|
-
✅ MCP(プラグイン) 3 servers configured
|
|
176
|
-
✅ Memory structured/ exists
|
|
177
|
-
✅ Server port 3457 available
|
|
178
|
-
```
|
|
275
|
+
`Get-Process node | Stop-Process` は使わないでください。無関係な cli-jaw インスタンスや AI ランタイムのプロセスまで終了させてしまいます。
|
|
179
276
|
|
|
180
277
|
</details>
|
|
181
278
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
## ダッシュボード
|
|
185
|
-
|
|
186
|
-
ダッシュボードはコマンドセンターです。`jaw dashboard` がマネージャーを `http://localhost:24576` で起動し、エージェントごとの Web UI は `jaw serve` が `http://localhost:3457` とその近傍の managed port で提供します。
|
|
187
|
-
|
|
188
|
-
### インスタンスマネージャー
|
|
189
|
-
|
|
190
|
-
実行中のすべての AI インスタンスを一覧表示。ワンクリックで起動・停止・再起動。ダッシュボード内でライブ Web UI をプレビューできます。
|
|
191
|
-
|
|
192
|
-
<div align="center">
|
|
193
|
-
|
|
194
|
-

|
|
195
|
-
|
|
196
|
-
</div>
|
|
197
|
-
|
|
198
|
-
### カンバンボード
|
|
199
|
-
|
|
200
|
-
インスタンスカードをレーン(Backlog → Ready → In Progress → Review → Done)にドラッグ。各 AI セッションが何に取り組んでいるかを追跡します。
|
|
201
|
-
|
|
202
|
-
<div align="center">
|
|
203
|
-
|
|
204
|
-

|
|
205
|
-
|
|
206
|
-
</div>
|
|
207
|
-
|
|
208
|
-
### 優先度マトリックス
|
|
279
|
+
<details>
|
|
280
|
+
<summary><b>新規マシンでの証跡</b> — メンテナー向けリリース確認</summary>
|
|
209
281
|
|
|
210
|
-
|
|
282
|
+
インストーラーを変更して公開する前に、クリーンな VM でこれを実行してください。環境スナップショット、インストーラーのログ、実際に実行された collector / installer / verifier スクリプトそのもの、その SHA-256 ハッシュ、verifier のログ、新しいシェルでの PATH プローブが `~/cli-jaw-fresh-install-evidence-*` に書き出されます。
|
|
211
283
|
|
|
212
|
-
|
|
284
|
+
```bash
|
|
285
|
+
# macOS Terminal
|
|
286
|
+
COLLECTOR=/tmp/cli-jaw-collect-fresh-install-evidence.sh
|
|
287
|
+
curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/main/scripts/collect-fresh-install-evidence.sh -o "$COLLECTOR"
|
|
288
|
+
bash "$COLLECTOR" --target macos
|
|
289
|
+
|
|
290
|
+
# Ubuntu inside WSL
|
|
291
|
+
COLLECTOR=/tmp/cli-jaw-collect-fresh-install-evidence.sh
|
|
292
|
+
bash "$COLLECTOR" --target wsl
|
|
293
|
+
```
|
|
213
294
|
|
|
214
|
-
|
|
295
|
+
Windows PowerShell からは、対応している WSL 経路に入ります:
|
|
215
296
|
|
|
216
|
-
|
|
297
|
+
```powershell
|
|
298
|
+
wsl.exe -d Ubuntu -- bash -lc 'COLLECTOR=/tmp/cli-jaw-collect-fresh-install-evidence.sh; curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/main/scripts/collect-fresh-install-evidence.sh -o "$COLLECTOR"; bash "$COLLECTOR" --target wsl'
|
|
299
|
+
```
|
|
217
300
|
|
|
218
|
-
|
|
301
|
+
collector が WSL 内では `powershell.exe` が使えないと報告する場合は、監査の前に Windows PowerShell から次を実行してください:
|
|
219
302
|
|
|
220
|
-
|
|
303
|
+
```powershell
|
|
304
|
+
wsl.exe -d Ubuntu -- bash -lc 'EVIDENCE_DIR="$(ls -dt ~/cli-jaw-fresh-install-evidence-* | head -1)"; { echo "command=wsl.exe -d Ubuntu -- bash -lc jaw --version"; jaw --version; } | tee "$EVIDENCE_DIR/33-powershell-to-wsl-probe.log"'
|
|
305
|
+
```
|
|
221
306
|
|
|
222
|
-
|
|
307
|
+
未マージのブランチやローカルの VM チェックアウトの場合は、ローカルの installer と verifier を明示的に渡してください:
|
|
223
308
|
|
|
224
|
-
|
|
309
|
+
```bash
|
|
310
|
+
bash scripts/collect-fresh-install-evidence.sh --target macos --install-script scripts/install.sh --verifier-script scripts/verify-fresh-install.sh
|
|
311
|
+
bash scripts/collect-fresh-install-evidence.sh --target wsl --install-script scripts/install-wsl.sh --verifier-script scripts/verify-fresh-install.sh
|
|
312
|
+
```
|
|
225
313
|
|
|
226
|
-
|
|
314
|
+
収集した各ディレクトリは、対象環境の証跡として扱う前に監査してください:
|
|
227
315
|
|
|
228
|
-
|
|
316
|
+
```bash
|
|
317
|
+
EVIDENCE_DIR="$(ls -dt ~/cli-jaw-fresh-install-evidence-* | head -1)"
|
|
318
|
+
AUDITOR="$(npm root -g)/cli-jaw/scripts/audit-fresh-install-evidence.mjs"
|
|
319
|
+
node "$AUDITOR" "$EVIDENCE_DIR" --target macos
|
|
320
|
+
node "$AUDITOR" "$EVIDENCE_DIR" --target wsl
|
|
321
|
+
|
|
322
|
+
# For a local checkout, audit with the checkout's auditor:
|
|
323
|
+
node scripts/audit-fresh-install-evidence.mjs "$EVIDENCE_DIR" --target macos
|
|
324
|
+
node scripts/audit-fresh-install-evidence.mjs "$EVIDENCE_DIR" --target wsl
|
|
325
|
+
```
|
|
229
326
|
|
|
230
|
-
|
|
327
|
+
インストーラーの変更を公開する前に、両方の strict な証跡ディレクトリを指定して matrix gate を実行してください:
|
|
231
328
|
|
|
232
|
-
|
|
329
|
+
```bash
|
|
330
|
+
GATE="$(npm root -g)/cli-jaw/scripts/verify-release-evidence.mjs"
|
|
331
|
+
node "$GATE" --macos /path/to/macos-evidence --wsl /path/to/wsl-evidence
|
|
233
332
|
|
|
234
|
-
|
|
333
|
+
# For a local checkout:
|
|
334
|
+
node scripts/verify-release-evidence.mjs --macos /path/to/macos-evidence --wsl /path/to/wsl-evidence
|
|
335
|
+
```
|
|
235
336
|
|
|
236
|
-
|
|
337
|
+
matrix gate は、古い collector / installer / verifier スクリプトで収集された証跡を拒否します。アーカイブされた証跡スクリプトは、gate を実行する現在のパッケージまたはチェックアウトと一致していなければなりません。
|
|
237
338
|
|
|
238
|
-
|
|
339
|
+
`scripts/promote-to-main.sh`、`scripts/release-preview.sh`、または `npm publish` が、前回のタグ以降にインストーラーに影響する変更を検出すると、git push や npm publish の前に同じ matrix gate を実行します。リリースを始める前に証跡ディレクトリを設定してください:
|
|
239
340
|
|
|
240
|
-
|
|
341
|
+
```bash
|
|
342
|
+
CLI_JAW_MACOS_EVIDENCE_DIR=/path/to/macos-evidence \
|
|
343
|
+
CLI_JAW_WSL_EVIDENCE_DIR=/path/to/wsl-evidence \
|
|
344
|
+
bash scripts/promote-to-main.sh
|
|
345
|
+
```
|
|
241
346
|
|
|
242
|
-
|
|
347
|
+
`scripts/promote-to-main.sh` が昇格させるのは、**すでに認証済みの `preview` ヘッドだけ**です。その正確な `preview` SHA に対する成功した `test.yml` push ランが存在しない限り、処理を開始しません。引数なしでは現在の `origin/preview` ヘッドを昇格させ、任意の SHA 引数を渡した場合はその同じヘッドと一致していなければならないため、この引数は古いコミットを昇格させる手段ではなくアサーションとして機能します。
|
|
243
348
|
|
|
244
|
-
|
|
349
|
+
このスクリプトは npm publish を dispatch したあと、公開が成功したかを確認せずに終了し、その後で再実行することはできません。部分的に完了したリリース(npm publish が未実行、GitHub リリースが未作成、`latest` のバージョンが誤っている、`main` のコミットが赤い、など)からの復旧手順は [`structure/infra.md` § 릴리스 파이프라인과 부분 실패 복구](structure/infra.md#릴리스-파이프라인과-부분-실패-복구-preview--main--npm) に記載されています。
|
|
245
350
|
|
|
246
|
-
|
|
247
|
-
あなた:"フロントエンドのスタイルを直して、API エンドポイントも更新して"
|
|
351
|
+
</details>
|
|
248
352
|
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
├── Backend Employee(Codex)にディスパッチ → "/api/users でページネーションメタデータを返すよう更新"
|
|
252
|
-
└── 両方の結果を統合して報告
|
|
253
|
-
```
|
|
353
|
+
<details>
|
|
354
|
+
<summary><b>Docker</b></summary>
|
|
254
355
|
|
|
255
356
|
```bash
|
|
256
|
-
#
|
|
257
|
-
jaw dispatch --agent "Frontend" --task "dashboard.tsx の CSS グリッドレイアウトを修正"
|
|
357
|
+
docker compose up -d # → http://localhost:3457
|
|
258
358
|
```
|
|
259
359
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
### Employee vs サブエージェント
|
|
263
|
-
|
|
264
|
-
これらは別のものです:
|
|
265
|
-
|
|
266
|
-
| | Employee | サブエージェント |
|
|
267
|
-
|---|---|---|
|
|
268
|
-
| **概要** | ワーカーとして設定された他の AI CLI(Codex、OpenCode 等) | 単一 CLI 内の並列タスクツール |
|
|
269
|
-
| **用途** | 異なるコードベースやドメインにまたがるマルチスペシャリスト | 内部リサーチ、ファイル読み取り、並列分析 |
|
|
270
|
-
| **使い方** | `jaw dispatch --agent "Name" --task "..."` | 自動 — CLI が内部的に生成 |
|
|
271
|
-
|
|
272
|
-
Employee は「Frontend は CSS、Backend は API」用。サブエージェントは「判断する前に 5 ファイルを並列で読む」用。
|
|
360
|
+
</details>
|
|
273
361
|
|
|
274
362
|
---
|
|
275
363
|
|
|
276
|
-
##
|
|
277
|
-
|
|
278
|
-
トークン単位の API 課金なし。すでに契約中のサブスクリプションで動作します。
|
|
279
|
-
|
|
280
|
-
| CLI | デフォルトモデル | 認証 | コスト |
|
|
281
|
-
|---|---|---|---|
|
|
282
|
-
| **Pi** | `grok-composer-2.5-fast` | Settings profile API key、local proxy、または `PI_CODING_AGENT_BIN` | isolated `PI_CODING_AGENT_DIR` で local/API endpoint を接続する first-class `pi --mode rpc` runtime |
|
|
283
|
-
| **Claude** | `claude-opus-4-8` | `claude auth login` | Claude Pro サブスクリプション以上 |
|
|
284
|
-
| **Antigravity** | AGY-selected | `agy` 実行時に確認 | `agy -p` 実験的 AGY print-mode runtime。任意の `--model` は capability probe 後、対応時のみ使用(AGY 1.0.12 で確認)。`--conversation` で resume。個別 effort flag はなし |
|
|
285
|
-
| **Codex** | `gpt-5.5` | `codex login` | ChatGPT Pro サブスクリプション以上 |
|
|
286
|
-
| **Codex App** | `gpt-5.5` | `codex login` | ChatGPT Pro サブスクリプション以上 |
|
|
287
|
-
| **Cursor** | `composer-2.5` | `cursor-agent login` または `CURSOR_API_KEY` | Cursor サブスクリプション。quota は auth/status-only |
|
|
288
|
-
| **Grok** | `grok-build` | `grok login --oauth` | Grok サブスクリプション;クォータは認証/ステータスのみ |
|
|
289
|
-
| **Kiro** | registry-selected | `kiro` | AWS Kiro 無料枠;`kiro-cli chat --no-interactive` runtime |
|
|
290
|
-
| **OpenCode** | `opencode-go/kimi-k2.6` | `opencode` | 無料モデルあり |
|
|
291
|
-
| **Copilot** | `claude-sonnet-4.6` | `copilot login` | 無料枠あり |
|
|
292
|
-
|
|
293
|
-
GPT 5.5 と Claude Opus 4.8 は Pro 以上のサブスクリプションで利用できます。6月からサブスクに含まれる Claude 利用枠を使う場合は、`claude` runtime を選択してください。
|
|
294
|
-
|
|
295
|
-
クォータ/ステータスパネルは registry と同じ runtime キーセットを維持します。Wrapper runtime(`codex-app`)は underlying provider に委譲し、Pi/AGY/Cursor/Grok/OpenCode のように CLI が quota window を公開しない場合は auth/status-only として表示します。
|
|
296
|
-
|
|
297
|
-
**フォールバックチェーン**:あるエンジンがレートリミットされると、次のエンジンが自動で引き継ぎます。`/fallback [cli1 cli2...]` で設定。
|
|
364
|
+
## 認証
|
|
298
365
|
|
|
299
|
-
|
|
366
|
+
**ひとつ**あれば十分です。すでに契約しているサブスクリプションを選んでください:
|
|
300
367
|
|
|
301
|
-
|
|
368
|
+
```bash
|
|
369
|
+
# Free options (no credit card needed)
|
|
370
|
+
copilot login # GitHub Copilot (free tier available)
|
|
371
|
+
opencode # OpenCode — free models available
|
|
372
|
+
kiro # AWS Kiro (free tier with AWS account)
|
|
302
373
|
|
|
303
|
-
|
|
374
|
+
# Paid (monthly subscription you already pay for)
|
|
375
|
+
claude auth login # Anthropic Claude Pro or higher
|
|
376
|
+
codex login # OpenAI ChatGPT Pro or higher
|
|
377
|
+
cursor-agent login # Cursor
|
|
378
|
+
grok login --oauth # xAI Grok / Grok Heavy
|
|
379
|
+
```
|
|
304
380
|
|
|
305
|
-
|
|
381
|
+
まとめて確認: `jaw doctor`
|
|
306
382
|
|
|
307
|
-
|
|
383
|
+
<details>
|
|
384
|
+
<summary>jaw doctor の出力例</summary>
|
|
308
385
|
|
|
309
386
|
```
|
|
310
|
-
|
|
311
|
-
⛔ ⛔ ⛔ auto auto
|
|
312
|
-
```
|
|
387
|
+
🦈 CLI-JAW Doctor — 13 checks
|
|
313
388
|
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
389
|
+
✅ Node.js v22.15.0
|
|
390
|
+
✅ Claude CLI installed
|
|
391
|
+
✅ Codex CLI installed
|
|
392
|
+
✅ Cursor CLI installed
|
|
393
|
+
✅ OpenCode CLI installed
|
|
394
|
+
✅ Copilot CLI installed
|
|
395
|
+
✅ Database jaw.db OK
|
|
396
|
+
✅ Skills 29 active, 238 reference
|
|
397
|
+
✅ MCP (plugins) 3 servers configured
|
|
398
|
+
✅ Memory structured/ exists
|
|
399
|
+
✅ Server port 3457 available
|
|
400
|
+
```
|
|
321
401
|
|
|
322
|
-
|
|
402
|
+
</details>
|
|
323
403
|
|
|
324
404
|
---
|
|
325
405
|
|
|
326
|
-
##
|
|
406
|
+
## 手に入るもの
|
|
327
407
|
|
|
328
|
-
|
|
408
|
+
### Employee:あなたの CLI が他の CLI を呼び出す
|
|
329
409
|
|
|
330
|
-
|
|
331
|
-
|---|---|---|
|
|
332
|
-
| **History Block** | 直近のセッションコンテキスト | 直近 10 セッション、最大 8,000 文字、作業ディレクトリごとにスコープ。プロンプト先頭に注入 |
|
|
333
|
-
| **Memory Flush** | 会話から抽出した構造化ナレッジ | 一定ターン(デフォルト 10)後にトリガー。エピソード、日次ログ、セマンティックノートを Markdown で抽出 |
|
|
334
|
-
| **Soul + Task Snapshot** | アイデンティティとセマンティック検索 | 核心的な価値観、トーン、境界を定義。全文検索インデックスがプロンプトごとに最大 4 件のセマンティック関連結果を返す |
|
|
410
|
+
話しかける相手はひとつの AI(「Boss」)です。専門的な作業が必要になると、Boss は Employee にタスクを割り当てます — 各 Employee は独自の CLI とモデルで動作し、Boss はその出力をレビューしてからあなたに答えます。
|
|
335
411
|
|
|
336
|
-
|
|
412
|
+
```text
|
|
413
|
+
You: "Fix the frontend styling and update the API endpoint"
|
|
337
414
|
|
|
338
|
-
|
|
339
|
-
|
|
415
|
+
Boss (Claude)
|
|
416
|
+
├── Frontend employee (OpenCode) → "Fix the CSS grid layout in dashboard.tsx"
|
|
417
|
+
├── Backend employee (Codex) → "Update /api/users to return pagination metadata"
|
|
418
|
+
└── Synthesizes both results for you
|
|
340
419
|
```
|
|
341
420
|
|
|
342
|
-
---
|
|
343
|
-
|
|
344
|
-
## スキル
|
|
345
|
-
|
|
346
|
-
230 以上のスキルが開発ワークフロー、オフィスドキュメント、自動化、メディア、コンテンツ作成をカバーします。
|
|
347
|
-
|
|
348
|
-
| カテゴリ | スキル | 対応範囲 |
|
|
349
|
-
|---|---|---|
|
|
350
|
-
| **オフィス** | `jaw-pdf`, `jaw-docx`, `jaw-xlsx`, `jaw-pptx`, `jaw-hwp` | ドキュメントの読み取り・作成・編集。HWP/HWPX(韓国語ワープロ形式)をネイティブサポート |
|
|
351
|
-
| **自動化** | `jaw-browser`, `vision-click`, `jaw-screen-capture`, `jaw-desktop-control` | Chrome DevTools Protocol(CDP)ブラウザ制御、AI 座標クリック、macOS スクリーンショット、Computer Use |
|
|
352
|
-
| **メディア** | `jaw-video`, `imagegen`, `lecture-stt`, `tts` | Remotion 動画、OpenAI 画像生成、講義の文字起こし、テキスト読み上げ |
|
|
353
|
-
| **連携** | `jaw-github`, `notion`, `jaw-telegram-send`, `jaw-memory` | Issues/PRs/CI、Notion ページ、Telegram メディア配信、永続メモリ |
|
|
354
|
-
| **ビジュアライゼーション** | `jaw-diagram` | チャット内で SVG ダイアグラム、チャート、インタラクティブ図をレンダリング |
|
|
355
|
-
| **コンテンツ/ライティング** | `k-writing` | 韓国語のプロモーション/コンテンツ作成: スレッド、Instagram カードニュース、LinkedIn、Web/ブログ、推敲を、必須検索・フック採点・AI っぽさ除去チェック付きで生成 |
|
|
356
|
-
| **開発ガイド** | `jaw-dev`, `jaw-dev-frontend`, `jaw-dev-backend`, `jaw-dev-data`, `jaw-dev-testing`, `jaw-dev-pabcd` | エージェントプロンプトに注入されるエンジニアリングガイドライン |
|
|
357
|
-
|
|
358
|
-
リファレンススキルは `skills_ref/` にあり、オンデマンドでアクティブランタイムにインストールされます。
|
|
359
|
-
|
|
360
421
|
```bash
|
|
361
|
-
jaw
|
|
362
|
-
jaw
|
|
422
|
+
jaw dispatch --agent "Backend" --task "Run read-only verification" --watch
|
|
423
|
+
jaw dispatch --virtual "security" --task "Review this branch for auth and secret leaks" --watch
|
|
363
424
|
```
|
|
364
425
|
|
|
365
|
-
|
|
426
|
+
### PABCD:計画、監査、実装、確認、完了
|
|
366
427
|
|
|
367
|
-
|
|
428
|
+
複雑なタスクでは、CLI-JAW が構造化されたワークフローを実行します。すべての遷移はあなたが承認し、読み取り専用のワーカーが計画と結果を検証します。
|
|
368
429
|
|
|
369
|
-
|
|
|
430
|
+
| フェーズ | 内容 |
|
|
370
431
|
|---|---|
|
|
371
|
-
| **
|
|
372
|
-
| **
|
|
373
|
-
| **
|
|
374
|
-
| **
|
|
375
|
-
| **
|
|
432
|
+
| **P — Plan** | Boss が diff レベルの計画を書き、あなたのレビューのために停止します |
|
|
433
|
+
| **A — Audit** | 読み取り専用のワーカーが計画の実行可能性を確認します |
|
|
434
|
+
| **B — Build** | Boss が実装し、読み取り専用のワーカーが検証します |
|
|
435
|
+
| **C — Check** | 型チェック、ドキュメント更新、整合性チェック |
|
|
436
|
+
| **D — Done** | すべての変更のサマリーを提示し、アイドル状態に戻ります |
|
|
376
437
|
|
|
377
|
-
|
|
438
|
+
状態は再起動後も保持されます。`jaw orchestrate` または `/pabcd` で開始し、`/continue` で再開し、長期の目的は `/goal` で維持します。詳しくは [PABCD](https://lidge-jun.github.io/cli-jaw/dev/concepts/pabcd.html) を参照してください。
|
|
378
439
|
|
|
379
|
-
|
|
440
|
+
### メモリ、スキル、MCP
|
|
380
441
|
|
|
381
|
-
|
|
442
|
+
- **3 つのメモリ層** — 直近のセッション履歴、会話から書き出される構造化ノート、検索できる soul/task スナップショット: `jaw memory search "how did we set up the API auth?"`
|
|
443
|
+
- **200 以上のスキル** — オフィス文書(PDF、DOCX、XLSX、PPTX、HWP)、ブラウザとデスクトップの自動化、メディア、GitHub、Notion、開発ガイド: `jaw skill install <name>`
|
|
444
|
+
- **すべてのエンジンでひとつの MCP 設定** — `jaw mcp install @anthropic/context7` が Claude、Codex、Kiro、OpenCode、Copilot、Antigravity を一度に同期します
|
|
382
445
|
|
|
383
|
-
###
|
|
446
|
+
### ブラウザとデスクトップの自動化
|
|
384
447
|
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
448
|
+
DevTools Protocol 経由で Chrome を操作し、`jaw browser vision-click "Login button"` で説明からクリックし、macOS と Windows では Codex Computer Use でデスクトップアプリを操作し、`jaw browser web-ai` で ChatGPT、Gemini、Grok の Web UI に問い合わせられます。
|
|
449
|
+
|
|
450
|
+
### メッセージング
|
|
388
451
|
|
|
389
|
-
|
|
452
|
+
**Telegram**(音声メッセージ、フォーラムトピック、スケジュールされた heartbeat ジョブ)、**Discord**、**Slack**(Socket Mode、スレッド、ファイルリレー、メンション監視)からエージェントとチャットできます。複数のチャンネルを同時に有効にでき、ホームチャンネルには自発的な送信が届きます。
|
|
390
453
|
|
|
391
454
|
<details>
|
|
392
|
-
<summary
|
|
455
|
+
<summary>Telegram のセットアップ(3 ステップ)</summary>
|
|
393
456
|
|
|
394
457
|
1. [@BotFather](https://t.me/BotFather) にメッセージ → `/newbot` → トークンをコピー
|
|
395
|
-
2. `jaw init --telegram-token YOUR_TOKEN`
|
|
396
|
-
3. Bot に何かメッセージを送信。Chat ID
|
|
458
|
+
2. `jaw init --telegram-token YOUR_TOKEN` を実行するか、Web UI の設定を使う
|
|
459
|
+
3. Bot に何かメッセージを送信。Chat ID は最初のメッセージで自動保存されます
|
|
397
460
|
|
|
398
461
|
</details>
|
|
399
462
|
|
|
400
|
-
### Discord
|
|
401
|
-
|
|
402
|
-
Telegram と同等の機能 — テキスト、ファイル、コマンド。チャンネル/スレッドルーティング、正規 `/api/channel/send`、エージェント結果ブロードキャストフォワーダー。Web UI 設定で構成。
|
|
403
|
-
|
|
404
|
-
### Slack
|
|
405
|
-
|
|
406
|
-
同じコマンドカタログを使う Socket Mode ボット — メンション、DM、スラッシュコマンド、ファイル/画像リレー、スレッド返信。
|
|
407
|
-
|
|
408
463
|
<details>
|
|
409
|
-
<summary
|
|
464
|
+
<summary>Slack のセットアップ(ガイド付きウィザード)</summary>
|
|
410
465
|
|
|
411
|
-
1. `jaw slack setup` —
|
|
412
|
-
2.
|
|
466
|
+
1. `jaw slack setup` — アプリマニフェストを表示し、Slack アプリのページを開き、両方のトークンをライブで検証して設定を書き込みます
|
|
467
|
+
2. Bot に読ませたい各チャンネルで `/invite @cli-jaw` を実行し、`jaw serve` を再起動します
|
|
413
468
|
|
|
414
|
-
|
|
469
|
+
グループ DM には `message.mpim` イベントと `mpim:history` スコープが必要です。コンテナでは、`SLACK_BOT_TOKEN`、`SLACK_APP_TOKEN`、`SLACK_TEAM_ID`、`SLACK_CHANNEL_IDS` が実行時にそれぞれのフィールドを所有します。詳細: [Slack ツール](docs/slack-tools.md)。
|
|
415
470
|
|
|
416
471
|
</details>
|
|
417
472
|
|
|
418
|
-
###
|
|
473
|
+
### デスクトップアプリ
|
|
419
474
|
|
|
420
|
-
|
|
475
|
+
Electron アプリはマネージャーダッシュボードを起動し、同梱の Node.js サイドカーを備え、メニューバーに常駐します。[GitHub Releases](https://github.com/lidge-jun/cli-jaw/releases/latest) からダウンロードできます:
|
|
421
476
|
|
|
422
|
-
|
|
477
|
+
- **macOS (Apple Silicon)** — DMG を開き、CLI-JAW を Applications にドラッグします。ビルドは Developer ID 署名、公証、staple 済みで、アプリ内から更新できます。
|
|
478
|
+
- **Windows (x64)** — Setup の `.exe` を実行します。未署名のため、SmartScreen が確認を求めることがあります。
|
|
479
|
+
- **Linux (x64)** — AppImage に実行権限を付けて起動します。
|
|
423
480
|
|
|
424
|
-
|
|
481
|
+
初回起動後、**Install CLI command**(またはトレイ項目の **Install CLI to Terminal**)を許可すると、グローバルな npm インストールなしで `jaw` をターミナルから使えるようになります。
|
|
425
482
|
|
|
426
|
-
|
|
483
|
+
---
|
|
427
484
|
|
|
428
|
-
|
|
429
|
-
jaw mcp install @anthropic/context7
|
|
430
|
-
# → Claude、Codex、Gemini、OpenCode、Copilot、Antigravity の設定ファイルに同期
|
|
431
|
-
```
|
|
485
|
+
## AI ランタイム
|
|
432
486
|
|
|
433
|
-
|
|
487
|
+
トークン単位の API 課金はありません。すでに契約しているサブスクリプション経由で動作します。
|
|
434
488
|
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
489
|
+
| CLI | デフォルトモデル | 認証 | コスト |
|
|
490
|
+
|---|---|---|---|
|
|
491
|
+
| **Pi** | `grok-composer-2.5-fast` | 設定プロファイルの API キー、ローカルプロキシ、または `PI_CODING_AGENT_BIN` | 分離されたプロファイル経由のローカル/API エンドポイント |
|
|
492
|
+
| **Claude** | `claude-opus-4-8` | `claude auth login` | Claude Pro サブスクリプション以上 |
|
|
493
|
+
| **Antigravity** | AGY-selected | `agy` が実行時に確認 | 実験的な print-mode ランタイム |
|
|
494
|
+
| **Codex** | `gpt-5.5` | `codex login` | ChatGPT Pro サブスクリプション以上 |
|
|
495
|
+
| **Codex App** | `gpt-5.5` | `codex login` | ChatGPT Pro サブスクリプション以上 |
|
|
496
|
+
| **Cursor** | `composer-2.5` | `cursor-agent login` または `CURSOR_API_KEY` | Cursor サブスクリプション |
|
|
497
|
+
| **Grok** | `grok-build` | `grok login --oauth` | Grok サブスクリプション |
|
|
498
|
+
| **Kiro** | registry-selected | `kiro` | AWS Kiro の無料枠 |
|
|
499
|
+
| **OpenCode** | `opencode-go/kimi-k2.6` | `opencode` | 無料モデルあり |
|
|
500
|
+
| **Copilot** | `claude-sonnet-4.6` | `copilot login` | 無料枠あり |
|
|
501
|
+
|
|
502
|
+
あるエンジンがレートリミットに達すると、次のエンジンが引き継ぎます(`/fallback`)。エンジンは `/cli codex`、モデルは `/model gpt-5.5` でライブに切り替えられます — Web、ターミナル、Telegram、Discord、Slack のどこからでも可能です。
|
|
438
503
|
|
|
439
504
|
---
|
|
440
505
|
|
|
441
|
-
## CLI
|
|
506
|
+
## CLI
|
|
442
507
|
|
|
443
508
|
```bash
|
|
444
|
-
#
|
|
445
|
-
jaw dashboard #
|
|
446
|
-
jaw serve #
|
|
447
|
-
jaw chat #
|
|
448
|
-
jaw
|
|
449
|
-
jaw
|
|
450
|
-
|
|
451
|
-
#
|
|
452
|
-
jaw clone ~/project
|
|
453
|
-
jaw --home ~/project serve --port 3458
|
|
454
|
-
jaw service install
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
jaw
|
|
459
|
-
|
|
460
|
-
#
|
|
461
|
-
jaw
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
jaw
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
jaw
|
|
468
|
-
jaw memory save <file> <content> # 構造化メモリに保存
|
|
469
|
-
|
|
470
|
-
# ブラウザ
|
|
471
|
-
jaw browser start # Chrome 自動化を起動
|
|
472
|
-
jaw browser fetch "https://example.com" --json --trace # 適応型 URL リーダー
|
|
473
|
-
jaw browser snapshot # ページ状態をキャプチャ
|
|
474
|
-
jaw browser vision-click "Login" # AI ベースのクリック
|
|
475
|
-
|
|
476
|
-
# メンテナンス
|
|
477
|
-
jaw reset # フルリセット
|
|
509
|
+
# Core
|
|
510
|
+
jaw dashboard # launch manager dashboard
|
|
511
|
+
jaw serve # start an agent server (http://localhost:3457)
|
|
512
|
+
jaw chat # terminal chat UI
|
|
513
|
+
jaw ask "question" # one prompt, one answer — no TTY needed
|
|
514
|
+
jaw doctor # installation and runtime diagnostics
|
|
515
|
+
|
|
516
|
+
# Instances
|
|
517
|
+
jaw clone ~/project # clone instance to new directory
|
|
518
|
+
jaw --home ~/project serve --port 3458 # run a second instance
|
|
519
|
+
jaw service install # auto-start on boot (macOS launchd / Linux systemd)
|
|
520
|
+
jaw --home ~/project service restart --port 3458 # restart only this instance
|
|
521
|
+
|
|
522
|
+
# Agents and workflow
|
|
523
|
+
jaw employee list
|
|
524
|
+
jaw dispatch --agent "Backend" --task "..." --watch
|
|
525
|
+
jaw orchestrate # PABCD workflow
|
|
526
|
+
jaw goal status # persistent goals
|
|
527
|
+
|
|
528
|
+
# Skills, MCP, memory, browser
|
|
529
|
+
jaw skill list
|
|
530
|
+
jaw mcp install <package>
|
|
531
|
+
jaw memory search <query>
|
|
532
|
+
jaw browser fetch "https://example.com" --json
|
|
478
533
|
```
|
|
479
534
|
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
## マルチインスタンス
|
|
535
|
+
`jaw clone` で作成した各インスタンスは、設定、メモリ、データベース、MCP 設定をそれぞれ独立して持ち、マネージャーダッシュボードからすべてを確認できます。リモートやヘッドレスホストについては [structure/remote-headless.md](structure/remote-headless.md) を参照してください。コマンドの完全なリファレンス: [CLI ドキュメント](https://lidge-jun.github.io/cli-jaw/dev/reference/cli.html)。
|
|
483
536
|
|
|
484
|
-
|
|
537
|
+
---
|
|
485
538
|
|
|
486
|
-
|
|
487
|
-
jaw clone ~/my-project
|
|
488
|
-
jaw --home ~/my-project serve --port 3458
|
|
489
|
-
```
|
|
539
|
+
## ドキュメント
|
|
490
540
|
|
|
491
|
-
|
|
541
|
+
| トピック | 場所 |
|
|
542
|
+
|---|---|
|
|
543
|
+
| ウェブサイトとクイックスタート | [lidge-jun.github.io/cli-jaw](https://lidge-jun.github.io/cli-jaw/) |
|
|
544
|
+
| ガイド、概念、リファレンス | [開発者ドキュメント](https://lidge-jun.github.io/cli-jaw/dev/) |
|
|
545
|
+
| アーキテクチャ | [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) · [structure/](structure/) |
|
|
546
|
+
| Slack ツールとローカル API | [docs/slack-tools.md](docs/slack-tools.md) |
|
|
547
|
+
| ランタイム統合(廃止されたランタイムを含む) | [structure/runtime-integration.md](structure/runtime-integration.md) |
|
|
492
548
|
|
|
493
549
|
---
|
|
494
550
|
|
|
@@ -497,61 +553,42 @@ jaw --home ~/my-project serve --port 3458
|
|
|
497
553
|
```bash
|
|
498
554
|
npm run build # tsc → dist/
|
|
499
555
|
npm run build:frontend # vite → public/dist/
|
|
500
|
-
npm run dev # tsx server.ts
|
|
501
|
-
npm test #
|
|
502
|
-
npm run gate:all #
|
|
503
|
-
|
|
556
|
+
npm run dev # tsx server.ts (hot-reload)
|
|
557
|
+
npm test # node:test driver (tests/run.mts)
|
|
558
|
+
npm run gate:all # release/docs parity gates
|
|
559
|
+
npm run electron:dev # desktop app with hot reload
|
|
504
560
|
```
|
|
505
561
|
|
|
506
|
-
アーキテクチャ詳細:[ARCHITECTURE.md](docs/ARCHITECTURE.md) · テストカバレッジ:[TESTS.md](TESTS.md) · 内部構造ドキュメント:[structure/](structure/)
|
|
507
|
-
|
|
508
|
-
---
|
|
509
|
-
|
|
510
|
-
## 比較
|
|
511
|
-
|
|
512
|
-
| | CLI-JAW 2.0 | Hermes Agent | Claude Code |
|
|
513
|
-
|---|---|---|---|
|
|
514
|
-
| **モデルアクセス** | Pi、Antigravity、Claude、Codex、Codex App、Cursor、Gemini、Grok、Kiro、OpenCode、Copilot — ベンダー/ネイティブ認証経由 | API キー(OpenRouter 200+、Nous Portal) | Anthropic のみ |
|
|
515
|
-
| **コストモデル** | 契約済みの月額サブスクリプション | トークン単位の API 課金 | Anthropic サブスクリプション |
|
|
516
|
-
| **メイン UI** | マネージャーダッシュボード + Web アプリ + Mac アプリ + ターミナル UI | ターミナルのみ | CLI + IDE プラグイン |
|
|
517
|
-
| **ダッシュボード** | マルチインスタンスマネージャー、カンバン、ノートワークスペース | なし | なし |
|
|
518
|
-
| **メッセージング** | Telegram(音声)+ Discord | Telegram/Discord/Slack/WhatsApp/Signal | なし |
|
|
519
|
-
| **メモリ** | 3 層(History/Flush/Soul)+ 全文検索 | Self-improving loop + Honcho | ファイルベース自動メモリ |
|
|
520
|
-
| **マルチエージェント** | Employee システム(他 CLI のディスパッチ)+ PABCD | サブエージェント生成 | Task ツール |
|
|
521
|
-
| **ブラウザ自動化** | Chrome DevTools + vision-click + Computer Use | 限定的 | MCP 経由 |
|
|
522
|
-
| **実行環境** | ローカル + Docker | ローカル/Docker/SSH/Daytona/Modal | ローカル |
|
|
523
|
-
| **スキル** | 230+ 同梱 | 自己生成 + agentskills.io | ユーザー設定 |
|
|
524
|
-
| **多言語対応** | 英語、韓国語、中国語、日本語 | 英語 | 英語 |
|
|
525
|
-
|
|
526
562
|
---
|
|
527
563
|
|
|
528
564
|
## トラブルシューティング
|
|
529
565
|
|
|
530
566
|
| 症状 | 対処 |
|
|
531
567
|
|---|---|
|
|
532
|
-
| `cli-jaw: command not found` | `npm install -g cli-jaw`
|
|
533
|
-
| `
|
|
534
|
-
|
|
|
535
|
-
|
|
|
536
|
-
|
|
|
537
|
-
|
|
|
538
|
-
|
|
|
539
|
-
|
|
|
568
|
+
| `cli-jaw: command not found` | `npm install -g cli-jaw` を再実行します。macOS/Linux/WSL では `~/.local/bin`、または `npm prefix -g` + `/bin` が `$PATH` に含まれているか確認してください。Windows PowerShell からは login shell 経由で WSL を呼び出します: `wsl.exe -d Ubuntu -- bash -lc "jaw dashboard"`。 |
|
|
569
|
+
| `npm warn allow-scripts ...` | npm >= 12 は依存パッケージの install スクリプトをブロックします: `npm install -g cli-jaw --allow-scripts=cli-jaw`、または `npm config set allow-scripts=cli-jaw --location=user` で保存します。すでにインストール済みなら `jaw init` がセットアップを完了します。 |
|
|
570
|
+
| pnpm/bun blocked build scripts | pnpm 11+: `pnpm add -g --allow-build=cli-jaw cli-jaw`。bun: `bun add -g --trust cli-jaw`。 |
|
|
571
|
+
| Fresh install verifier fails | 報告された PATH または実行権限の問題を直してから、`bash "$(npm root -g)/cli-jaw/scripts/verify-fresh-install.sh"` を再実行します。 |
|
|
572
|
+
| `Error: node version` | Node.js 22.4+ にアップグレードしてください: `nvm install 22` |
|
|
573
|
+
| `NODE_MODULE_VERSION` mismatch | `npm run ensure:native` |
|
|
574
|
+
| `EADDRINUSE: port 3457` | 別のインスタンスが起動しています。`--port 3458` を使うか、先に停止してください |
|
|
575
|
+
| Telegram / Discord / Slack auth fails | `jaw doctor` を実行し、トークンを確認して `jaw serve` を再起動します |
|
|
576
|
+
| Employee dispatch hangs | `jaw employee list` を実行し、Employee の CLI が認証済みか確認して(`jaw doctor`)、`jaw dispatch --watch` で再試行します |
|
|
540
577
|
|
|
541
578
|
---
|
|
542
579
|
|
|
543
580
|
## コントリビュート
|
|
544
581
|
|
|
545
|
-
|
|
546
|
-
2. `npm run build && npm test`
|
|
547
|
-
3. PR を送信
|
|
582
|
+
公開コードと製品ドキュメントはこのリポジトリにあります。非公開の計画と履歴は、別の兄弟クローンである [cli-jaw-internal](https://github.com/lidge-jun/cli-jaw-internal) にのみ置かれます。アクセスが必要な場合は [issue](https://github.com/lidge-jun/cli-jaw/issues) から依頼してください。このチェックアウト内に非公開の記録(`devlog`、`_plan`、`_fin`、`.jwc` エイリアスなど)を作成しないでください。公開ドキュメントやソースに非公開記録のパスを含めないでください。変更をアップロードする前に [ローカルの pre-push セットアップとチェック](CONTRIBUTING.md#local-private-path-check) に従ってください。
|
|
548
583
|
|
|
549
|
-
|
|
584
|
+
1. `dev` から Fork してブランチを作成
|
|
585
|
+
2. `npm run build && npm run build:frontend && npm test`
|
|
586
|
+
3. リリースに影響する変更では `npm run gate:all` も実行
|
|
587
|
+
4. PR を送信
|
|
550
588
|
|
|
551
589
|
---
|
|
552
590
|
|
|
553
|
-
<
|
|
591
|
+
<p align="center"><a href="LICENSE"><b>MIT License</b></a> · AI アプリのタブ切り替えに疲れた開発者たちが作りました。</p>
|
|
592
|
+
|
|
554
593
|
|
|
555
|
-
**[MIT License](LICENSE)** · AI アプリのタブ切り替えに疲れた開発者たちが作りました。
|
|
556
594
|
|
|
557
|
-
</div>
|