cli-jaw 1.7.18 โ 1.7.20
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 +183 -441
- package/README.md +249 -480
- package/README.zh-CN.md +184 -442
- package/dist/server.js +33 -19
- package/dist/server.js.map +1 -1
- package/dist/src/core/config.js +5 -0
- package/dist/src/core/config.js.map +1 -1
- package/dist/src/core/launchd-cleanup.js +4 -1
- package/dist/src/core/launchd-cleanup.js.map +1 -1
- package/dist/src/core/settings-merge.js +2 -2
- package/dist/src/core/settings-merge.js.map +1 -1
- package/dist/src/security/network-acl.js +133 -0
- package/dist/src/security/network-acl.js.map +1 -0
- package/package.json +1 -1
package/README.ko.md
CHANGED
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-
#
|
|
3
|
+
# CLI-JAW
|
|
4
4
|
|
|
5
|
-
###
|
|
5
|
+
### ์ด๋ฏธ ๊ฒฐ์ ํ AI ๊ตฌ๋
, ํ๋์ ๋น์๋ก.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
[](#-ํ
์คํธ)
|
|
7
|
+
[](https://npmjs.com/package/cli-jaw)
|
|
10
8
|
[](https://typescriptlang.org)
|
|
11
9
|
[](https://nodejs.org)
|
|
12
10
|
[](LICENSE)
|
|
13
|
-
[](#-๋์ปค--์ปจํ
์ด๋-๊ฒฉ๋ฆฌ)
|
|
15
|
-
[](#)
|
|
11
|
+
[](#-docker)
|
|
16
12
|
|
|
17
13
|
[English](README.md) / **ํ๊ตญ์ด** / [ไธญๆ](README.zh-CN.md)
|
|
18
14
|
|
|
@@ -20,399 +16,190 @@
|
|
|
20
16
|
|
|
21
17
|
</div>
|
|
22
18
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<summary>๐ช <b>Windows ์ฌ์ฉ์์ด์ ๊ฐ์?</b> โ WSL ์ํด๋ฆญ ์ค์น</summary>
|
|
33
|
-
|
|
34
|
-
**Step 1: WSL ์ค์น** (PowerShell ๊ด๋ฆฌ์ ๊ถํ โ ์ต์ด 1ํ)
|
|
35
|
-
|
|
36
|
-
```powershell
|
|
37
|
-
wsl --install
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
์๋ด์ ๋ฐ๋ผ ์ปดํจํฐ๋ฅผ ์ฌ์์ํ์ธ์. ์ฌ๋ถํ
ํ ์์ ๋ฉ๋ด์์ **Ubuntu**๋ฅผ ์คํํ์ธ์.
|
|
41
|
-
|
|
42
|
-
**Step 2: CLI-JAW ์ค์น** (Ubuntu/WSL ํฐ๋ฏธ๋์์)
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/master/scripts/install-wsl.sh | bash
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
์คํฌ๋ฆฝํธ๊ฐ ํ์ ํจํค์ง(`curl`, `unzip`, `git`), Node.js 22+, CLI-JAW๋ฅผ ์๋ ์ค์นํฉ๋๋ค.
|
|
49
|
-
|
|
50
|
-
**Step 3: ์ ๋ค์ ๋ก๋** (์ค์ โ PATH ๋ณ๊ฒฝ ์ ์ฉ)
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
source ~/.bashrc
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
**Step 4: AI ์์ง ์ธ์ฆ** (ํ๋ ์ ํ)
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
copilot login # GitHub Copilot (๋ฌด๋ฃ)
|
|
60
|
-
opencode # OpenCode (๋ฌด๋ฃ ๋ชจ๋ธ ์ ๊ณต)
|
|
61
|
-
claude auth # Anthropic Claude
|
|
62
|
-
codex login # OpenAI Codex
|
|
63
|
-
gemini # Google Gemini
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
**Step 5: ์์ํ๊ธฐ**
|
|
67
|
-
|
|
68
|
-
```bash
|
|
69
|
-
jaw serve
|
|
70
|
-
# โ http://localhost:3457
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
> ๐ก ์คํฌ๋ฆฝํธ๋ [fnm](https://github.com/Schniz/fnm)์ผ๋ก Node.js๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. ์ด๋ฏธ `nvm`์ด ์์ผ๋ฉด ๊ทธ๊ฑธ ์ฌ์ฉํฉ๋๋ค.
|
|
74
|
-
|
|
75
|
-
<details>
|
|
76
|
-
<summary>๐ง <b>WSL ๋ฌธ์ ํด๊ฒฐ</b></summary>
|
|
19
|
+
<table>
|
|
20
|
+
<tr><td><b>๊ธฐ์กด ๊ตฌ๋
์ ๊ทธ๋๋ก ํ์ฉ</b></td><td>Claude Max, ChatGPT Pro, Copilot, Gemini Advanced โ OAuth ๋ผ์ฐํ
. OpenCode๋ก ์๋ฌด ๋ชจ๋ธ์ด๋ ์ถ๊ฐ ๊ฐ๋ฅ. ํ ํฐ ๊ณผ๊ธ ์์.</td></tr>
|
|
21
|
+
<tr><td><b>์ด๋์๋ ์ ๊ทผ</b></td><td>์น PWA(๊ฐ์ ์คํฌ๋กค, WS ์คํธ๋ฆฌ๋ฐ) + Mac WebView ์ฑ + ํฐ๋ฏธ๋ TUI + Telegram(์์ฑ) + Discord โ 5๊ฐ ์ธํฐํ์ด์ค, ํ๋์ ๋ํ.</td></tr>
|
|
22
|
+
<tr><td><b>3๊ณ์ธต ๋ฉ๋ชจ๋ฆฌ</b></td><td>History Block(์ต๊ทผ ์ธ์
) + Memory Flush(์ํผ์๋, ์ผ์ผ ๋ก๊ทธ) + Soul & Task Snapshot(์ ์ฒด์ฑ, ์๋งจํฑ ๊ฒ์). SQLite FTS5 ์ ๋ฌธ ๊ฒ์.</td></tr>
|
|
23
|
+
<tr><td><b>๋ฉํฐ์์ด์ ํธ ์ค์ผ์คํธ๋ ์ด์
</b></td><td>PABCD โ DB ๊ธฐ๋ฐ 5๋จ๊ณ FSM. Employee ์์คํ
๊ณผ Worker ๋ ์ง์คํธ๋ฆฌ. ํ์ผ ์ถฉ๋ ๊ฐ์ง ๋ณ๋ ฌ ์คํ. ๋ชจ๋ ๋จ๊ณ์์ ์ฌ์ฉ์ ์น์ธ ํ์.</td></tr>
|
|
24
|
+
<tr><td><b>๋ธ๋ผ์ฐ์ ๋ฐ ๋ฐ์คํฌํฑ ์๋ํ</b></td><td>Chrome CDP, vision-click, ChatGPT/Grok/Gemini DOM ๋ ํผ๋ฐ์ค, Codex App Computer Use ํตํฉ, diagram ์คํฌ๋ก SVG/์ธํฐ๋ํฐ๋ธ ์๊ฐํ.</td></tr>
|
|
25
|
+
<tr><td><b>MCP ํ ๋ฒ ์ค์น, 5๊ฐ ์์ง</b></td><td><code>jaw mcp install</code>๋ก Claude, Codex, Gemini, OpenCode, Copilot์ ๋์ ๋๊ธฐํ. ์ค์ ํ์ผ ํ๋.</td></tr>
|
|
26
|
+
<tr><td><b>ํ๊ตญ์ด ์ง์</b></td><td>ํ๊ตญ์ด/์์ด/์ค๊ตญ์ด README. i18n ์น UI. OfficeCLI๋ฅผ ํตํ HWP/HWPX ํ๊ธ ๋ฌธ์ ์ง์.</td></tr>
|
|
27
|
+
</table>
|
|
77
28
|
|
|
78
|
-
|
|
79
|
-
| --------------------------------------- | ------------------------------------------------------- |
|
|
80
|
-
| `unzip: command not found` | ์ค์น ์คํฌ๋ฆฝํธ๋ฅผ ๋ค์ ์คํํ์ธ์ โ `unzip`์ ์๋ ์ค์นํฉ๋๋ค |
|
|
81
|
-
| `jaw: command not found` (์ค์น ํ) | `source ~/.bashrc`๋ก PATH๋ฅผ ๋ค์ ๋ก๋ํ์ธ์ |
|
|
82
|
-
| ์ฌ์ ํ `jaw`๋ฅผ ์ฐพ์ ์ ์์ | `export PATH="$(npm config get prefix)/bin:$PATH"` ์คํ |
|
|
83
|
-
| `npm install -g` ๊ถํ ์ค๋ฅ | `sudo chown -R $USER $(npm config get prefix)` ์คํ |
|
|
84
|
-
|
|
85
|
-
</details>
|
|
86
|
-
|
|
87
|
-
</details>
|
|
88
|
-
|
|
89
|
-
<details>
|
|
90
|
-
<summary>๐ <b>ํฐ๋ฏธ๋์ด ์ฒ์์ด์ ๊ฐ์?</b> โ ์ํด๋ฆญ Node.js + CLI-JAW ์ค์น</summary>
|
|
91
|
-
|
|
92
|
-
**Step 1: ํฐ๋ฏธ๋ ์ด๊ธฐ**
|
|
93
|
-
|
|
94
|
-
**Finder** โ **์์ฉ ํ๋ก๊ทธ๋จ** โ **์ ํธ๋ฆฌํฐ** โ **ํฐ๋ฏธ๋.app** ์ ์ด์ด์ฃผ์ธ์.
|
|
95
|
-
(๋๋ `โ Space` ๋๋ฅด๊ณ `ํฐ๋ฏธ๋` ์ด๋ผ๊ณ ์
๋ ฅํ์ธ์)
|
|
96
|
-
|
|
97
|
-
**Step 2: ์๋ ๋ด์ฉ์ ๋ถ์ฌ๋ฃ๊ณ Enter**
|
|
98
|
-
|
|
99
|
-
```bash
|
|
100
|
-
curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/master/scripts/install.sh | bash
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
Node.js + CLI-JAW๊ฐ ์๋์ผ๋ก ์ค์น๋ฉ๋๋ค. ๐ ๊ฐ ๋ฐ ๋๊น์ง ๊ธฐ๋ค๋ ค์ฃผ์ธ์.
|
|
104
|
-
|
|
105
|
-
**Step 3: ๋ก๊ทธ์ธ & ์คํ**
|
|
106
|
-
|
|
107
|
-
```bash
|
|
108
|
-
copilot login # ๋๋: claude auth / codex login / gemini login
|
|
109
|
-
jaw serve
|
|
110
|
-
```
|
|
29
|
+
---
|
|
111
30
|
|
|
112
|
-
|
|
31
|
+
## ๋น ๋ฅธ ๋งํฌ
|
|
113
32
|
|
|
114
|
-
|
|
33
|
+
- [์ค์น](#-์ค์น--์คํ) ยท [์ธ์ฆ](#-์ธ์ฆ) ยท [์ธํฐํ์ด์ค](#๏ธ-์ด๋์-์ฐ๋)
|
|
34
|
+
- [์์ง ๋ผ์ฐํ
](#-์์ง-๋ผ์ฐํ
) ยท [๋ฉ๋ชจ๋ฆฌ](#-๋ฉ๋ชจ๋ฆฌ) ยท [PABCD](#-์ค์ผ์คํธ๋ ์ด์
--pabcd) ยท [์คํฌ](#-์คํฌ)
|
|
35
|
+
- [๋ธ๋ผ์ฐ์ ์๋ํ](#-๋ธ๋ผ์ฐ์ --๋ฐ์คํฌํฑ-์๋ํ) ยท [MCP](#-mcp) ยท [๋ฉ์์ง](#-๋ฉ์์ง)
|
|
36
|
+
- [CLI ๋ช
๋ น์ด](#๏ธ-cli-๋ช
๋ น์ด) ยท [Docker](#-docker) ยท [๋ฌธ์](#-๋ฌธ์) ยท [๋น๊ต](#๏ธ-๋น๊ต)
|
|
115
37
|
|
|
116
38
|
---
|
|
117
39
|
|
|
118
|
-
## ๐ ์ค์น & ์คํ
|
|
40
|
+
## ๐ ์ค์น & ์คํ
|
|
119
41
|
|
|
120
42
|
```bash
|
|
121
43
|
npm install -g cli-jaw
|
|
122
44
|
jaw serve
|
|
123
45
|
```
|
|
124
46
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
> ๐ **24์๊ฐ ๋์๊ฐ๊ฒ ๋ง๋ค๊ณ ์ถ์ผ์ธ์?** `jaw service install` โ systemd, launchd, Docker ์๋ ๊ฐ์ง.
|
|
47
|
+
**http://localhost:3457**์ ์ด๋ฉด ๋. Node.js 22+ ๋ฐ ์๋ AI CLI ์ค ํ๋ ์ด์ ์ธ์ฆ ํ์.
|
|
128
48
|
|
|
129
|
-
>
|
|
49
|
+
> `jaw service install` โ ๋ถํ
์ ์๋ ์์ (systemd, launchd, Docker ์๋ ๊ฐ์ง).
|
|
130
50
|
|
|
131
51
|
---
|
|
132
52
|
|
|
133
|
-
## ๐
|
|
53
|
+
## ๐ ์ธ์ฆ
|
|
134
54
|
|
|
135
|
-
|
|
55
|
+
ํ๋๋ง ์์ด๋ ๋ฉ๋๋ค. ์ด๋ฏธ ๊ตฌ๋
์ค์ธ ๊ฒ์ ์ ํํ์ธ์:
|
|
136
56
|
|
|
137
57
|
```bash
|
|
138
|
-
#
|
|
139
|
-
copilot login
|
|
140
|
-
opencode
|
|
141
|
-
|
|
142
|
-
#
|
|
143
|
-
claude auth
|
|
144
|
-
codex login
|
|
145
|
-
gemini
|
|
58
|
+
# ๋ฌด๋ฃ
|
|
59
|
+
copilot login # GitHub Copilot
|
|
60
|
+
opencode # OpenCode โ ๋ฌด๋ฃ ๋ชจ๋ธ ์ ๊ณต
|
|
61
|
+
|
|
62
|
+
# ์ ๋ฃ (์์ ์ก)
|
|
63
|
+
claude auth # Anthropic Claude Max
|
|
64
|
+
codex login # OpenAI ChatGPT Pro
|
|
65
|
+
gemini # Google Gemini Advanced
|
|
146
66
|
```
|
|
147
67
|
|
|
148
|
-
|
|
68
|
+
์ํ ํ์ธ: `jaw doctor`
|
|
149
69
|
|
|
150
|
-
|
|
151
|
-
<summary>๐ <code>jaw doctor</code> ์ถ๋ ฅ ์์</summary>
|
|
70
|
+
---
|
|
152
71
|
|
|
153
|
-
|
|
154
|
-
๐ฆ CLI-JAW Doctor โ 12 checks
|
|
155
|
-
|
|
156
|
-
โ
Node.js v22.15.0
|
|
157
|
-
โ
npm v10.9.4
|
|
158
|
-
โ
Claude CLI installed
|
|
159
|
-
โ
Codex CLI installed
|
|
160
|
-
โ ๏ธ Gemini CLI not found (optional)
|
|
161
|
-
โ
OpenCode CLI installed
|
|
162
|
-
โ
Copilot CLI installed
|
|
163
|
-
โ
Database jaw.db OK
|
|
164
|
-
โ
Skills 22 active, 94 reference
|
|
165
|
-
โ
MCP 3 servers configured
|
|
166
|
-
โ
Memory MEMORY.md exists
|
|
167
|
-
โ
Server port 3457 available
|
|
168
|
-
```
|
|
72
|
+
## ๐ฅ๏ธ ์ด๋์ ์ฐ๋
|
|
169
73
|
|
|
170
|
-
|
|
74
|
+
5๊ฐ ์ธํฐํ์ด์ค์์ ๋์ผํ ๋น์, ๋์ผํ ๋ฉ๋ชจ๋ฆฌ, ๋์ผํ ์คํฌ์ ์ฌ์ฉํฉ๋๋ค.
|
|
171
75
|
|
|
172
|
-
|
|
76
|
+
| ์ธํฐํ์ด์ค | ๊ธฐ๋ฅ |
|
|
77
|
+
|---|---|
|
|
78
|
+
| **์น PWA** | markdown/KaTeX/Mermaid ๋ ๋๋ง, ๊ฐ์ ์คํฌ๋กค, WS ์คํธ๋ฆฌ๋ฐ, ํ์ผ ๋๋๊ทธ์ค๋๋กญ, ์์ฑ ๋
น์, PABCD ๋ก๋๋งต ๋ฐ, i18n(ํ๊ตญ์ด/์์ด), ๋คํฌ/๋ผ์ดํธ ํ
๋ง, IndexedDB ์คํ๋ผ์ธ ์บ์ |
|
|
79
|
+
| **Mac WebView ์ฑ** | `jaw serve`๋ฅผ macOS ์ฑ ์
ธ๋ก ๊ฐ์ผ ๊ฒ. ๋ธ๋ผ์ฐ์ ์์ด Dock์์ ๋ฐ๋ก ์ ๊ทผ |
|
|
80
|
+
| **ํฐ๋ฏธ๋ TUI** | ๋ฉํฐ๋ผ์ธ ํธ์ง, ์ฌ๋์ ๋ช
๋ น์ด ์๋์์ฑ, ์ค๋ฒ๋ ์ด ์
๋ ํฐ, ์ธ์
์ ์ง, ์ฌ๊ฐ ๋ถ๋ฅ |
|
|
81
|
+
| **Telegram** | ์์ฑ ๋ฉ์์ง(๋ฉํฐ STT ํ๋ก๋ฐ์ด๋), ์ฌ์ง, ํ์ผ. ์์ฝ ์์
๊ฒฐ๊ณผ ์๋ ์ ์ก. `/cli`, `/model` ๋ฑ ์ฌ๋์ ๋ช
๋ น์ด |
|
|
82
|
+
| **Discord** | ํ
์คํธ/ํ์ผ ๋ฉ์์ง, ๋ช
๋ น์ด ๋๊ธฐํ, ์ฑ๋/์ค๋ ๋ ๋ผ์ฐํ
, ์์ด์ ํธ ๊ฒฐ๊ณผ ํฌ์๋ |
|
|
173
83
|
|
|
174
84
|
---
|
|
175
85
|
|
|
176
|
-
##
|
|
177
|
-
|
|
178
|
-
CLI-JAW๋ ๋ด ์ปดํจํฐ์ ์์ฃผํ๋ฉฐ ์ด๋ฏธ ์ต์ํ ์ธํฐํ์ด์ค์ธ **์น, ํฐ๋ฏธ๋, ํ
๋ ๊ทธ๋จ, ๋์ค์ฝ๋**์์ ์๋ํ๋ **๊ฐ์ธ์ฉ AI ๋น์**์
๋๋ค. ๊ถ๊ธํ ๊ฒ์ ๋ฌป๊ณ , ์์
์ ์์ํ๊ณ , ์ํฌํ๋ก์ฐ๋ฅผ ์๋ํํ์ธ์.
|
|
179
|
-

|
|
86
|
+
## ๐ ์์ง ๋ผ์ฐํ
|
|
180
87
|
|
|
181
|
-
|
|
182
|
-
> ๐ฌ *"์ด ๋ชจ๋ ๋ฆฌํฉํ ๋งํ๊ณ ํ
์คํธ๋ ์ง์ค"* โ ์๋ธ์์ด์ ํธ๊ฐ ์์์, ์ปคํผ ํ ์ ํ๊ณ ์ค๋ฉด ๋ผ์
|
|
183
|
-
> ๐ฌ *"์ PDF ๋ค์ด๋ฐ์์ ํต์ฌ๋ง ๋
ธ์
์ ์ ๋ฆฌํด"* โ ๋ธ๋ผ์ฐ์ + ๋
ธ์
์คํฌ ์กฐํฉ์ผ๋ก ๋๋ฑ
|
|
88
|
+
์ด๋ฏธ ๊ฒฐ์ ์ค์ธ OAuth ์์ ์ก์ ํตํด 5๊ฐ CLI ๋ฐฑ์๋๋ฅผ ๋ผ์ฐํ
ํฉ๋๋ค. ํ ํฐ ๋จ์ ๊ณผ๊ธ ์์.
|
|
184
89
|
|
|
185
|
-
|
|
90
|
+
| CLI | ๊ธฐ๋ณธ ๋ชจ๋ธ | ์ธ์ฆ | ๋น์ฉ |
|
|
91
|
+
|---|---|---|---|
|
|
92
|
+
| **Claude** | `opus-4-6` | `claude auth` | Claude Max ๊ตฌ๋
|
|
|
93
|
+
| **Codex** | `gpt-5.5` | `codex login` | ChatGPT Pro ๊ตฌ๋
|
|
|
94
|
+
| **Gemini** | `gemini-3.1-pro-preview` | `gemini` | Gemini Advanced ๊ตฌ๋
|
|
|
95
|
+
| **OpenCode** | `minimax-m2.7` | `opencode` | ๋ฌด๋ฃ ๋ชจ๋ธ ์ ๊ณต |
|
|
96
|
+
| **Copilot** | `gpt-5-mini` | `copilot login` | ๋ฌด๋ฃ ํฐ์ด ์ ๊ณต |
|
|
186
97
|
|
|
187
|
-
|
|
188
|
-
| --------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
|
|
189
|
-
| ๐ก๏ธ **์์ ํ ์๋น์ค ์ฝ๊ด ์ค์** | ๊ณต์ CLI๋ง ์ฌ์ฉํฉ๋๋ค โ API ํค ์คํฌ๋ํ์ด๋ ๋ฆฌ๋ฒ์ค ์์ง๋์ด๋ง์ด ์์ผ๋ฏ๋ก ๊ณ์ ์ ์ง ์ํ์ด ์์ต๋๋ค. |
|
|
190
|
-
| ๐ค **๊ฒ์ฆ๋ ์์ด์ ํธ ๋๊ตฌ** | ์ค์ ์์ ๊ฒ์ฆ๋ 5๊ฐ์ ์ฝ๋ฉ ์์ด์ ํธ(Claude, Codex, Gemini, OpenCode, Copilot)๋ฅผ ํ ๊ณณ์์ ์ฌ์ฉํ์ธ์. |
|
|
191
|
-
| โก **๋ฉํฐ ์์ด์ ํธ ์๋ ์ ํ(Fallback)** | ์์ง ํ๋๊ฐ ๋ฉ์ถฐ๋ ๊ฑฑ์ ์์ต๋๋ค. ๋ค์ ์์ง์ด ์ฆ์ ์ด์ด๋ฐ์ ์ค๋จ ์๋ ์์
์ด ๊ฐ๋ฅํฉ๋๋ค. |
|
|
192
|
-
| ๐ญ **์ค์ผ์คํธ๋ ์ด์
๊ธฐ๋ฐ ์ฑ๋ฅ ๊ทน๋ํ** | ๋ณต์กํ ์์
์ ์ ๋ฌธํ๋ ์๋ธ ์์ด์ ํธ์๊ฒ ๋ถ์ฐ์์ผ ์ฒ๋ฆฌ๋์ ๊ทน๋ํํฉ๋๋ค. |
|
|
193
|
-
| ๐ฆ **100๊ฐ+ ๋ด์ฅ ์คํฌ** | ๋ธ๋ผ์ฐ์ ์๋ํ, ๋ฌธ์ ์์ฑ, ํ
๋ ๊ทธ๋จ ์ฐ๋, ์๊ตฌ ๋ฉ๋ชจ๋ฆฌ ๋ฑ ์ค์น ์ฆ์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํฉ๋๋ค. |
|
|
194
|
-
| ๐ฅ๏ธ **ํฌ๋ก์ค ํ๋ซํผ** | macOS, Linux, Windows โ ENOENT-safe CLI ์คํฐ, ์๋ ๊ฐ์ง, `.cmd` shim ์ง์, ๋ค์ดํฐ๋ธ ์ค์น ์ ๋ถ ํฌ๋ก์คํ๋ซํผ ๋์. |
|
|
98
|
+
**ํด๋ฐฑ ์ฒด์ธ**: ํ๋๊ฐ ์ ํ๋๊ฑฐ๋ ๋ค์ด๋๋ฉด ๋ค์ ์์ง์ด ์๋์ผ๋ก ์ด์ด๋ฐ์. `/fallback [cli1 cli2...]`๋ก ์ค์ .
|
|
195
99
|
|
|
196
|
-
|
|
100
|
+
**OpenCode ์์ผ๋์นด๋**: OpenRouter, ๋ก์ปฌ LLM ๋ฑ ์๋ฌด ๋ชจ๋ธ ์๋ํฌ์ธํธ๋ ์ฐ๊ฒฐ ๊ฐ๋ฅ.
|
|
197
101
|
|
|
198
102
|
---
|
|
199
103
|
|
|
200
|
-
##
|
|
104
|
+
## ๐ง ๋ฉ๋ชจ๋ฆฌ
|
|
201
105
|
|
|
202
|
-
|
|
106
|
+
์๋ก ๋ค๋ฅธ ์๊ฐ ๋ฒ์๋ฅผ ๋ด๋นํ๋ 3๊ณ์ธต ๊ตฌ์กฐ.
|
|
203
107
|
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
108
|
+
| ๊ณ์ธต | ์ ์ฅ ๋ด์ฉ | ๋์ |
|
|
109
|
+
|---|---|---|
|
|
110
|
+
| **History Block** | ์ต๊ทผ ์ธ์
์ปจํ
์คํธ | ์ต๊ทผ 10๊ฐ ์ธ์
, ์ต๋ 8000์, ์์
๋๋ ํ ๋ฆฌ ๊ธฐ์ค. ํ๋กฌํํธ ์์ ์ฃผ์
|
|
|
111
|
+
| **Memory Flush** | ๋ํ์์ ์ถ์ถํ ๊ตฌ์กฐํ ์ง์ | ์๊ณ๊ฐ(๊ธฐ๋ณธ 10ํด) ๋๋ฌ ์ ํธ๋ฆฌ๊ฑฐ. ์ํผ์๋, ์ผ์ผ ๋ก๊ทธ(`YYYY-MM-DD.md`), ๋ผ์ด๋ธ ๋
ธํธ๋ก ์์ฝ |
|
|
112
|
+
| **Soul + Task Snapshot** | ์ ์ฒด์ฑ๊ณผ ์๋งจํฑ ๊ฒ์ | `soul.md`๋ก ํต์ฌ ๊ฐ์น/ํค/๊ฒฝ๊ณ ์ ์. FTS5 ์ธ๋ฑ์ค์์ ํ๋กฌํํธ๋น ์ต๋ 4๊ฐ ๊ด๋ จ ํํธ(700์) ๊ฒ์ |
|
|
208
113
|
|
|
209
|
-
|
|
210
|
-
| ---- | ---- |
|
|
211
|
-
| ๐ญ **PABCD ์ค์ผ์คํธ๋ ์ด์
** | `jaw dispatch`, `jaw orchestrate`, ์์ ์ํ๋จธ์ , ์์ปค ๋ ์ง์คํธ๋ฆฌ, ๋ฆฌ์์น ๋์คํจ์น, ์น UI ์ํ ํ์๊น์ง ํฌํจํ๋ ๋ณธ๊ฒฉ์ ์ธ ์ค์ผ์คํธ๋ ์ด์
ํ๋ฉด์ด ์ถ๊ฐ๋์์ต๋๋ค. |
|
|
212
|
-
| ๐ง **๊ตฌ์กฐํ ๋ฉ๋ชจ๋ฆฌ ๋ฐํ์** | ๋จ์ ์ ์ฅ์ ๋์ด ๊ตฌ์กฐํ ์ ์ฅ์, ์ธ๋ฑ์ฑ, ์ฟผ๋ฆฌ ํ์ฅ, task snapshot, ๋ฆฌ์ธ๋ฑ์ค/๊ฐ์ฌ UI๊น์ง ๊ฐ์ถ ๋ฉ๋ชจ๋ฆฌ ์๋ธ์์คํ
์ผ๋ก ํ์ฅ๋์์ต๋๋ค. |
|
|
213
|
-
| ๐ฌ **Discord + ์์ฑ ์ฑ๋** | Web, Terminal, Telegram๋ฟ ์๋๋ผ Discord์ ์์ฑ/STT ํ๋ฆ์ด ์ ํ์ ํต์ฌ ์ธํฐํ์ด์ค๋ก ์ฌ๋ผ์์ต๋๋ค. |
|
|
214
|
-
| ๐ฅ๏ธ **๋ํญ ํ์ฅ๋ ์น UI** | ์ค์ ํจ๋, ๋ฉ๋ชจ๋ฆฌ/ํํธ๋นํธ ์ ์ด, tool UI, provider icon, gesture, drag/drop ๋ณดํธ, virtual scroll, ๋ ๋๋ง ๊ฐ์ ์ด ๋๊ฑฐ ์ถ๊ฐ๋์์ต๋๋ค. |
|
|
215
|
-
| ๐ **๋ค์ด์ด๊ทธ๋จ/์์ ฏ ๋ ๋๋ง** | iframe renderer, validator, ์ ์ฉ CSS๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ธ๋ผ์ธ ๋ค์ด์ด๊ทธ๋จ๊ณผ ์์ ฏ ๋ ๋๋ง์ด ๊ฐ์์ ์ธ ๊ธฐ๋ฅ๊ตฐ์ด ๋์์ต๋๋ค. |
|
|
216
|
-
| โจ๏ธ **CLI/TUI ์ฌ์ฉ์ฑ ๊ฐ์ ** | `/compact`, ์ค๋ฒ๋ ์ด/์
๋ ํฐ, ์ธ์
์ง์์ฑ, resume ๋ถ๋ฅ, readiness ์ ๊ฒ ๋ฑ ํฐ๋ฏธ๋ ์ฌ์ฉ์ฑ์ด ํฌ๊ฒ ๊ฐ์ ๋์์ต๋๋ค. |
|
|
217
|
-
| ๐งช **์ด์/CI/์ค์น ๊ฐํ** | `jaw doctor`, ๋ธ๋ผ์ฐ์ launch policy, ์คํฌ fallback/reset, submodule-safe CI, preview release, Vite ๊ธฐ๋ฐ ๋ฐฐํฌ๊ฐ ๊ฐํ๋์์ต๋๋ค. |
|
|
218
|
-
| ๐ **์คํผ์ค ์๋ํ ์ฑ์** | OfficeCLI ์ค์น, smoke test, ๋ก์ปฌ ๋ฐ์ด๋๋ฆฌ, Office/PDF ์ํฌํ๋ก๊ฐ `v1.2.0` ๋๋น ํจ์ฌ ์ค์ ํ์ด ๋์์ต๋๋ค. |
|
|
114
|
+
์ธ ๊ณ์ธต ๋ชจ๋ ์์คํ
ํ๋กฌํํธ์ ์๋ ๋ฐ์. `jaw memory search <query>` ๋๋ `/memory <query>`๋ก ๊ฒ์.
|
|
219
115
|
|
|
220
116
|
---
|
|
221
117
|
|
|
222
|
-
##
|
|
223
|
-
|
|
224
|
-
```mermaid
|
|
225
|
-
graph LR
|
|
226
|
-
YOU["๐ค ์ฌ์ฉ์"] -->|์น / ํฐ๋ฏธ๋ / Telegram| JAW["๐ฆ CLI-JAW"]
|
|
227
|
-
JAW -->|์์ฑ| C["Claude"]
|
|
228
|
-
JAW -->|์์ฑ| X["Codex"]
|
|
229
|
-
JAW -->|์์ฑ| G["Gemini"]
|
|
230
|
-
JAW -->|์์ฑ| O["OpenCode"]
|
|
231
|
-
JAW -->|์์ฑ| P["Copilot"]
|
|
232
|
-
JAW -->|์ฃผ์
| SK["๐ฆ ์คํฌ"]
|
|
233
|
-
JAW -->|์ ์ด| BR["๐ Chrome"]
|
|
234
|
-
JAW -->|์ ์ก| TG["๐ฑ Telegram"]
|
|
235
|
-
|
|
236
|
-
style JAW fill:#f5e6d3,stroke:#d4a574,stroke-width:2px,color:#5c4033
|
|
237
|
-
```
|
|
238
|
-
|
|
239
|
-
- ๐ค **5๊ฐ์ AI ์์ง, 1๋ช
์ ๋น์** โ Claude ยท Codex ยท Gemini ยท OpenCode ยท Copilot. `/cli` ๋ช
๋ น์ด๋ก ์ ํํ์ธ์.
|
|
240
|
-
- โก **์๋ ์ ํ(Fallback)** โ ์์ง ํ๋๊ฐ ๋ค์ด๋๋ฉด ๋ค์ ์์ง์ด ๋งค๋๋ฝ๊ฒ ์ด์ด๋ฐ์ต๋๋ค.
|
|
241
|
-
- ๐ญ **๋ฉํฐ ์์ด์ ํธ ์ค์ผ์คํธ๋ ์ด์
** โ ๋ณต์กํ ์์
์ ์ ๋ฌธํ๋ ์๋ธ ์์ด์ ํธ๋ค์๊ฒ ์๋์ผ๋ก ๋ถ์ฐ๋ฉ๋๋ค.
|
|
242
|
-
- ๐ค **์์ฑ ์
๋ ฅ** โ ์น ๋ง์ดํฌ ๋ฒํผ + ํ
๋ ๊ทธ๋จ ์์ฑ ๋ฉ์์ง. ๋ฉํฐ ํ๋ก๋ฐ์ด๋ STT (OpenAI, Vertex AI).
|
|
243
|
-
- ๐ **ํ๋กฌํํธ ํ
ํ๋ฆฟ** โ ์๊ฐ์ ๋
ธ๋๋งต ์๋ํฐ๋ก ํ๋กฌํํธ ํ
ํ๋ฆฟ ์์ฑ, ๊ด๋ฆฌ, ์ฌ์ฌ์ฉ.
|
|
244
|
-
- ๐ฆ **100๊ฐ+ ์คํฌ** โ ๋ธ๋ผ์ฐ์ ์ ์ด, ํ์ผ ํธ์ง, ์ด๋ฏธ์ง ์์ฑ, ์น ๊ฒ์ ์ธ [๋ค์ํ ๊ธฐ๋ฅ](#-์คํฌ-์์คํ
).
|
|
245
|
-
- ๐ง **์๊ตฌ ๋ฉ๋ชจ๋ฆฌ** โ ์ธ์
์ ๋๋๋ค๋ฉฐ ๊ณผ๊ฑฐ์ ๋ํ์ ์ฌ์ฉ์ ์ ํธ๋๋ฅผ ๊ธฐ์ตํฉ๋๋ค.
|
|
246
|
-
- ๐ฑ **ํ
๋ ๊ทธ๋จ ๋ด** โ ํด๋ํฐ์ผ๋ก ๋น์์ ์ฑํ
ํ๊ณ , ์์ฑ/์ฌ์ง/ํ์ผ์ ์ ์กํ์ธ์.
|
|
247
|
-
- ๐ **๋ธ๋ผ์ฐ์ ์๋ํ** โ ๋น์๊ฐ ์์์ ์น์ ํ์ํ๊ณ , ํด๋ฆญํ๊ณ , ํ์ดํํ๊ณ , ์คํฌ๋ฆฐ์ท์ ์ฐ์ ์ ์์ต๋๋ค.
|
|
248
|
-
- ๐ **MCP ์ํ๊ณ** โ ํ ๋ฒ๋ง ์ค์นํ๋ฉด 5๊ฐ์ AI ์์ง ๋ชจ๋์์ ์ฆ์ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
|
|
249
|
-
- ๐ **์น ๊ฒ์** โ MCP ๋๊ตฌ๋ฅผ ํตํ ์ค์๊ฐ ์ ๋ณด ๊ฒ์.
|
|
250
|
-
- โฐ **ํํธ๋นํธ ์์
** โ ์๋์ผ๋ก ์คํ๋๋ ๋ฐ๋ณต ์ผ์ ์ ๋ฑ๋กํ์ธ์.
|
|
118
|
+
## ๐ญ ์ค์ผ์คํธ๋ ์ด์
โ PABCD
|
|
251
119
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
### ๊ธฐํ ์คํ ๋ฐฉ๋ฒ
|
|
120
|
+
๋ณต์กํ ์์
์ ์ํ 5๋จ๊ณ ์ํ ๋จธ์ . ๋ชจ๋ ์ ํ์ ์ฌ์ฉ์ ์น์ธ ํ์.
|
|
255
121
|
|
|
256
|
-
```
|
|
257
|
-
|
|
258
|
-
|
|
122
|
+
```
|
|
123
|
+
P (Plan) โ A (Audit) โ B (Build) โ C (Check) โ D (Done) โ IDLE
|
|
124
|
+
โ โ โ ์๋ ์๋
|
|
259
125
|
```
|
|
260
126
|
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
127
|
+
| ๋จ๊ณ | ๋์ |
|
|
128
|
+
|---|---|
|
|
129
|
+
| **P** | Boss AI๊ฐ diff ์์ค ๊ณํ ์์ฑ. ๊ฒํ ๋ฅผ ์ํด ๋๊ธฐ |
|
|
130
|
+
| **A** | ์ฝ๊ธฐ ์ ์ฉ Worker๊ฐ ๊ณํ์ ์คํ ๊ฐ๋ฅ์ฑ ๊ฒ์ฆ |
|
|
131
|
+
| **B** | Boss๊ฐ ๊ตฌํ. ์ฝ๊ธฐ ์ ์ฉ Worker๊ฐ ๊ฒฐ๊ณผ ๊ฒ์ฆ |
|
|
132
|
+
| **C** | ํ์
์ฒดํฌ, ๋ฌธ์ ๊ฐฑ์ , ์ผ๊ด์ฑ ๊ฒ์ฌ |
|
|
133
|
+
| **D** | ์ ์ฒด ๋ณ๊ฒฝ ์์ฝ. IDLE๋ก ๋ณต๊ท |
|
|
266
134
|
|
|
267
|
-
|
|
135
|
+
์ํ๋ DB์ ์์ํ๋์ด ์๋ฒ ์ฌ์์์๋ ์ ์ง. Worker๋ ํ์ผ ์์ ๋ถ๊ฐ. `jaw orchestrate` ๋๋ `/pabcd`๋ก ํ์ฑํ.
|
|
268
136
|
|
|
269
|
-
|
|
270
|
-
<summary>์ ์ฒด ์คํฌ ๋ชฉ๋ก ๋ณด๊ธฐ</summary>
|
|
137
|
+
---
|
|
271
138
|
|
|
272
|
-
|
|
273
|
-
| ------------------ | :---: | ------------------------------------------------ |
|
|
274
|
-
| **Active ์คํฌ** | 22 | ๋งค๋ฒ AIํํ
์๋์ผ๋ก ์ฃผ์
๋ผ์. ํญ์ ์ผ์ ธ ์์ด์. |
|
|
275
|
-
| **Reference ์คํฌ** | 94 | ๊ด๋ จ ์์
์ ์ํค๋ฉด ๊ทธ๋ AI๊ฐ ์ฝ์ด์ ์จ์. |
|
|
139
|
+
## ๐ฆ ์คํฌ
|
|
276
140
|
|
|
277
|
-
|
|
141
|
+
100๊ฐ ์ด์์ ์คํฌ, ์ฉ๋๋ณ ์ ๋ฆฌ.
|
|
278
142
|
|
|
279
|
-
| ์คํฌ
|
|
280
|
-
|
|
281
|
-
| `
|
|
282
|
-
| `
|
|
283
|
-
| `
|
|
284
|
-
| `memory`
|
|
285
|
-
| `
|
|
286
|
-
| `
|
|
287
|
-
| `pdf` / `pdf-expert` / `docx` / `xlsx` / `pptx` / `hwp` | ์คํผ์ค ๋ฐ PDF ๋ฌธ์ ์ฝ๊ธฐ, ์์ฑ, ํธ์ง (ํ๊ธ HWP ํฌํจ) |
|
|
288
|
-
| `screen-capture` | macOS ์คํฌ๋ฆฐ์ท ๋ฐ ์นด๋ฉ๋ผ ์บก์ฒ |
|
|
289
|
-
| `video` | JSON ๊ธฐ๋ฐ Remotion ํ๋ก๊ทธ๋๋งคํฑ ๋น๋์ค ๋ ๋๋ง |
|
|
290
|
-
| `dev` / `dev-frontend` / `dev-backend` / `dev-data` / `dev-testing` | ์๋ธ์์ด์ ํธ์ฉ ๊ฐ๋ฐ ๊ฐ์ด๋ |
|
|
291
|
-
| `dev-pabcd` / `dev-scaffolding` / `dev-code-reviewer` | ์ค์ผ์คํธ๋ ์ด์
, ์ค์บํด๋ฉ, ์ฝ๋ ๋ฆฌ๋ทฐ ๊ฐ์ด๋ |
|
|
143
|
+
| ์นดํ
๊ณ ๋ฆฌ | ์คํฌ | ๊ธฐ๋ฅ |
|
|
144
|
+
|---|---|---|
|
|
145
|
+
| **์คํผ์ค** | `pdf`, `docx`, `xlsx`, `pptx`, `hwp` | ๋ฌธ์ ์ฝ๊ธฐ/์์ฑ/ํธ์ง. OfficeCLI๋ฅผ ํตํ ํ๊ธ HWP/HWPX |
|
|
146
|
+
| **์๋ํ** | `browser`, `vision-click`, `screen-capture`, `desktop-control` | Chrome CDP, AI ์ขํ ํด๋ฆญ, macOS ์คํฌ๋ฆฐ์ท/์นด๋ฉ๋ผ, Computer Use |
|
|
147
|
+
| **๋ฏธ๋์ด** | `video`, `imagegen`, `lecture-stt`, `tts` | Remotion ๋น๋์ค, OpenAI ์ด๋ฏธ์ง ์์ฑ, ๊ฐ์ ์ ์ฌ, ์์ฑ ํฉ์ฑ |
|
|
148
|
+
| **ํตํฉ** | `github`, `notion`, `telegram-send`, `memory` | ์ด์/PR/CI, Notion ํ์ด์ง, Telegram ๋ฏธ๋์ด, ์์ ๋ฉ๋ชจ๋ฆฌ |
|
|
149
|
+
| **์๊ฐํ** | `diagram` | SVG ๋ค์ด์ด๊ทธ๋จ, ์ฐจํธ, ์ธํฐ๋ํฐ๋ธ ์๊ฐํ๋ฅผ ์ฑํ
์์ ๋ ๋๋ง |
|
|
150
|
+
| **๊ฐ๋ฐ ๊ฐ์ด๋** | `dev`, `dev-frontend`, `dev-backend`, `dev-data`, `dev-testing`, `dev-pabcd` | ์๋ธ์์ด์ ํธ ํ๋กฌํํธ์ ์ฃผ์
๋๋ ๊ฐ๋ฐ ๊ฐ์ด๋๋ผ์ธ |
|
|
292
151
|
|
|
293
|
-
|
|
152
|
+
22๊ฐ ํ์ฑ ์คํฌ (ํญ์ ์ฃผ์
). 94๊ฐ ์ด์ ์ฐธ์กฐ ์คํฌ (์์ฒญ ์ ๋ก๋).
|
|
294
153
|
|
|
295
|
-
|
|
154
|
+
---
|
|
296
155
|
|
|
297
|
-
|
|
298
|
-
jaw skill install <name> # reference โ active๋ก ์๊ตฌ ํ์ฑํ
|
|
299
|
-
```
|
|
156
|
+
## ๐ ๋ธ๋ผ์ฐ์ & ๋ฐ์คํฌํฑ ์๋ํ
|
|
300
157
|
|
|
301
|
-
|
|
158
|
+
| ๊ธฐ๋ฅ | ๋์ |
|
|
159
|
+
|---|---|
|
|
160
|
+
| **Chrome CDP** | ํ์, ํด๋ฆญ, ํ์ดํ, ์คํฌ๋ฆฐ์ท, JS ์คํ, ์คํฌ๋กค, ํฌ์ปค์ค, ํค ์
๋ ฅ โ DevTools Protocol 10๊ฐ ์ก์
|
|
|
161
|
+
| **Vision-click** | ํ๋ฉด ์บก์ฒ โ AI๊ฐ ์ขํ ์ถ์ถ โ ํด๋ฆญ. `jaw browser vision-click "๋ก๊ทธ์ธ ๋ฒํผ"` |
|
|
162
|
+
| **DOM ๋ ํผ๋ฐ์ค** | ChatGPT, Grok, Gemini ์น UI์ ์
๋ ํฐ ๋งต โ ๋ชจ๋ธ ์ ํ, ์ค์ง ๋ฒํผ, ๋๊ตฌ ๋๋ก์ด |
|
|
163
|
+
| **Computer Use** | Codex App Computer Use MCP๋ฅผ ํตํ ๋ฐ์คํฌํฑ ์ฑ ์๋ํ |
|
|
164
|
+
| **Diagram ์คํฌ** | SVG ๋ค์ด์ด๊ทธ๋จ/์ธํฐ๋ํฐ๋ธ HTML ์๊ฐํ, ์๋๋ฐ์ค iframe์์ ๋ ๋๋ง |
|
|
302
165
|
|
|
303
166
|
---
|
|
304
167
|
|
|
305
|
-
##
|
|
168
|
+
## ๐ MCP
|
|
306
169
|
|
|
307
|
-
|
|
170
|
+
[Model Context Protocol](https://modelcontextprotocol.io)์ AI ์์ด์ ํธ๊ฐ ์ธ๋ถ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ํฉ๋๋ค. CLI-JAW๋ 5๊ฐ ์์ง์ MCP ์ค์ ์ ํ๋์ ํ์ผ๋ก ๊ด๋ฆฌํฉ๋๋ค.
|
|
308
171
|
|
|
172
|
+
```bash
|
|
173
|
+
jaw mcp install @anthropic/context7
|
|
174
|
+
# โ Claude, Codex, Gemini, OpenCode, Copilot ์ค์ ํ์ผ์ ๋์ ๋๊ธฐํ
|
|
309
175
|
```
|
|
310
|
-
๐ฑ Telegram โโ ๐ฆ CLI-JAW โโ ๐ค AI ์์ง
|
|
311
|
-
```
|
|
312
|
-
|
|
313
|
-
<details>
|
|
314
|
-
<summary>๐ ํ
๋ ๊ทธ๋จ ์ค์ (3๋จ๊ณ)</summary>
|
|
315
|
-
|
|
316
|
-
1. **๋ด ๋ง๋ค๊ธฐ** โ [@BotFather](https://t.me/BotFather)์๊ฒ `/newbot` โ ํ ํฐ ๋ณต์ฌ
|
|
317
|
-
2. **์ค์ ** โ `jaw init --telegram-token ํ ํฐ` ์คํํ๊ฑฐ๋ Web UI ์ค์ ์์ ์
๋ ฅ
|
|
318
|
-
3. **์ฑํ
์์** โ ๋ด์๊ฒ ์๋ฌด ๋ฉ์์ง๋ ๋ณด๋ด์ธ์. ์ฒซ ๋ฉ์์ง์์ ์ฑํ
ID๊ฐ ์๋ ์ ์ฅ๋ฉ๋๋ค.
|
|
319
|
-
|
|
320
|
-
</details>
|
|
321
|
-
|
|
322
|
-
**ํ
๋ ๊ทธ๋จ์์ ๊ฐ๋ฅํ ์์
:**
|
|
323
|
-
- ๐ฌ ๋น์์ ์ฑํ
(5๊ฐ AI ์์ง ์ค ์ ํ)
|
|
324
|
-
- ๐ค ์์ฑ ๋ฉ์์ง ์ ์ก (์๋ ํ
์คํธ ๋ณํ)
|
|
325
|
-
- ๐ ์ฒ๋ฆฌ๋ฅผ ์ํ ํ์ผ ๋ฐ ์ฌ์ง ์ ์ก
|
|
326
|
-
- ๐๏ธ ์์ฑ + ํ
์คํธ + ์ฒจ๋ถํ์ผ์ ํ๋์ ๋ฉ์์ง์ ์กฐํฉ ๊ฐ๋ฅ
|
|
327
|
-
- โก ๋ช
๋ น์ด ์คํ (`/cli`, `/model`, `/status`)
|
|
328
|
-
- ๐ ์ค์๊ฐ AI ์์ง ์ ํ
|
|
329
|
-
|
|
330
|
-
**๋น์๊ฐ ๋ณด๋ด์ฃผ๋ ๋ด์ฉ:**
|
|
331
|
-
- ๋งํฌ๋ค์ด ์์์ด ์ ์ฉ๋ AI ์๋ต
|
|
332
|
-
- ์์ฑ๋ ์ด๋ฏธ์ง, PDF, ๋ฌธ์
|
|
333
|
-
- ์์ฝ๋ ์์
๊ฒฐ๊ณผ (ํํธ๋นํธ ์์
)
|
|
334
|
-
- ๋ธ๋ผ์ฐ์ ์คํฌ๋ฆฐ์ท
|
|
335
|
-
|
|
336
|
-
<p align="center">
|
|
337
|
-
<img src="docs/screenshots/telegram-bot.png" width="300" alt="ํ
๋ ๊ทธ๋จ ๋ด" />
|
|
338
|
-
</p>
|
|
339
176
|
|
|
340
177
|
---
|
|
341
178
|
|
|
342
|
-
##
|
|
343
|
-
|
|
344
|
-
CLI-JAW๋ ๋ฉํฐ ํ๋ก๋ฐ์ด๋ STT๋ก ๋ชจ๋ ์ธํฐํ์ด์ค์์ ์์ฑ ์
๋ ฅ์ ์ง์ํฉ๋๋ค:
|
|
179
|
+
## ๐ฌ ๋ฉ์์ง
|
|
345
180
|
|
|
346
|
-
|
|
347
|
-
| --------------------- | ---------------------------------------------- |
|
|
348
|
-
| **OpenAI ํธํ** | Settings UI โ STT โ OpenAI ์๋ํฌ์ธํธ + API ํค |
|
|
349
|
-
| **Google Vertex AI** | Settings UI โ STT โ Vertex AI ์ธ์ฆ ์ ๋ณด |
|
|
350
|
-
| **์ปค์คํ
์๋ํฌ์ธํธ** | OpenAI ํธํ STT API URL ์ง์ ์
๋ ฅ |
|
|
181
|
+
### Telegram
|
|
351
182
|
|
|
352
|
-
|
|
183
|
+
์ค์ 3๋จ๊ณ: BotFather์์ ๋ด ์์ฑ โ `jaw init --telegram-token` โ ๋ฉ์์ง ์ ์ก.
|
|
353
184
|
|
|
354
|
-
|
|
355
|
-
- ๐ฑ **ํ
๋ ๊ทธ๋จ** โ ์์ฑ ๋ฉ์์ง ์ ์ก ์ AI์ ์ ๋ฌ ์ ์๋ ์ ์ฌ
|
|
356
|
-
- ๐๏ธ **๋ฉํฐ๋ชจ๋ฌ** โ ์์ฑ + ํ
์คํธ + ํ์ผ ์ฒจ๋ถ๋ฅผ ํ๋์ ๋ฉ์์ง์ ์กฐํฉ ๊ฐ๋ฅ
|
|
185
|
+
ํ
์คํธ ์ฑํ
, ์์ฑ ๋ฉ์์ง(์๋ STT), ํ์ผ/์ฌ์ง ์
๋ก๋, ์ฌ๋์ ๋ช
๋ น์ด, ์์ฝ ์์
๊ฒฐ๊ณผ ์ ์ก.
|
|
357
186
|
|
|
358
|
-
|
|
187
|
+
### Discord
|
|
359
188
|
|
|
360
|
-
|
|
189
|
+
Telegram๊ณผ ๋์ผ โ ํ
์คํธ, ํ์ผ, ๋ช
๋ น์ด. ์ฑ๋/์ค๋ ๋ ๋ผ์ฐํ
, ์์ด์ ํธ ๊ฒฐ๊ณผ ํฌ์๋. ์น UI ์ค์ ์์ ๊ตฌ์ฑ.
|
|
361
190
|
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-

|
|
365
|
-
|
|
366
|
-
๋ณต์กํ ์์
์ ๊ฒฝ์ฐ, ๋น์๊ฐ ์ ๋ฌธ ์๋ธ ์์ด์ ํธ์๊ฒ ์์
์ ์์ํฉ๋๋ค:
|
|
367
|
-
|
|
368
|
-
```mermaid
|
|
369
|
-
graph TD
|
|
370
|
-
USER["๐ค ์ฌ์ฉ์ ์์ฒญ"] --> TRIAGE["๐ ํธ๋ฆฌ์์ง โ ๋จ์? ๋ณต์ก?"]
|
|
371
|
-
|
|
372
|
-
TRIAGE -->|๋จ์| DIRECT["โก ์ง์ ์๋ต"]
|
|
373
|
-
TRIAGE -->|๋ณต์ก| PLAN["๐ ๊ธฐํ"]
|
|
374
|
-
|
|
375
|
-
PLAN --> FE["๐จ ํ๋ก ํธ์๋"]
|
|
376
|
-
PLAN --> BE["โ๏ธ ๋ฐฑ์๋"]
|
|
377
|
-
PLAN --> DATA["๐ ๋ฐ์ดํฐ"]
|
|
378
|
-
|
|
379
|
-
FE --> GATE["๐ช ๊ฒ์ดํธ ๋ฆฌ๋ทฐ"]
|
|
380
|
-
BE --> GATE
|
|
381
|
-
DATA --> GATE
|
|
382
|
-
|
|
383
|
-
GATE -->|ํต๊ณผ| NEXT["โ
์๋ฃ"]
|
|
384
|
-
GATE -->|์คํจ| RETRY["๐ ๋๋ฒ๊ทธ & ์ฌ์๋"]
|
|
385
|
-
|
|
386
|
-
style USER fill:#f5e6d3,stroke:#d4a574,stroke-width:2px,color:#5c4033
|
|
387
|
-
style TRIAGE fill:#fdf2e9,stroke:#d4a574,color:#5c4033
|
|
388
|
-
style PLAN fill:#f5e6d3,stroke:#d4a574,stroke-width:2px,color:#5c4033
|
|
389
|
-
style GATE fill:#f5e6d3,stroke:#d4a574,stroke-width:2px,color:#5c4033
|
|
390
|
-
```
|
|
191
|
+
### ์์ฑ & STT
|
|
391
192
|
|
|
392
|
-
|
|
193
|
+
์น(๋ง์ดํฌ ๋ฒํผ), Telegram(์์ฑ ๋ฉ์์ง), Discord์์ ๋์. OpenAI ํธํ, Google Vertex AI, ์ปค์คํ
์๋ํฌ์ธํธ ์ง์.
|
|
393
194
|
|
|
394
195
|
---
|
|
395
196
|
|
|
396
|
-
##
|
|
397
|
-
|
|
398
|
-
```bash
|
|
399
|
-
jaw mcp install @anthropic/context7 # ํ ๋ฒ๋ง ์ค์น
|
|
400
|
-
# โ Claude, Codex, Gemini, OpenCode, Copilot, Antigravity ์ ๋ถ ์๋ ๋๊ธฐํ
|
|
401
|
-
```
|
|
402
|
-
|
|
403
|
-
```mermaid
|
|
404
|
-
graph LR
|
|
405
|
-
MJ["๐ mcp.json"] -->|์๋ ๋๊ธฐํ| CL["Claude"]
|
|
406
|
-
MJ -->|์๋ ๋๊ธฐํ| CX["Codex"]
|
|
407
|
-
MJ -->|์๋ ๋๊ธฐํ| GM["Gemini"]
|
|
408
|
-
MJ -->|์๋ ๋๊ธฐํ| OC["OpenCode"]
|
|
409
|
-
MJ -->|์๋ ๋๊ธฐํ| CP["์ฝํ์ผ๋ฟ"]
|
|
410
|
-
MJ -->|์๋ ๋๊ธฐํ| AG["์ํฐ๊ทธ๋๋นํฐ"]
|
|
411
|
-
|
|
412
|
-
style MJ fill:#f5e6d3,stroke:#d4a574,stroke-width:2px,color:#5c4033
|
|
413
|
-
```
|
|
197
|
+
## โฐ ์ค์ผ์ค๋ง
|
|
414
198
|
|
|
415
|
-
|
|
199
|
+
| ๊ธฐ๋ฅ | ์ค๋ช
|
|
|
200
|
+
|---|---|
|
|
201
|
+
| **Heartbeat ์์
** | Cron ์์ฝ ์์
์ ๋ฌด์ธ ์คํ. Telegram/Discord๋ก ๊ฒฐ๊ณผ ์ ๋ฌ |
|
|
202
|
+
| **์๋น์ค ์๋ ์์** | `jaw service install` โ systemd, launchd, Docker ์๋ ๊ฐ์ง |
|
|
416
203
|
|
|
417
204
|
---
|
|
418
205
|
|
|
@@ -420,185 +207,140 @@ graph LR
|
|
|
420
207
|
|
|
421
208
|
```bash
|
|
422
209
|
jaw serve # ์๋ฒ ์์
|
|
423
|
-
jaw service install # ๋ถํ
์ ์๋ ์คํ (systemd/launchd/docker ์๋ ๊ฐ์ง)
|
|
424
|
-
jaw service status # ๋ฐ๋ชฌ ์ํ ํ์ธ
|
|
425
|
-
jaw service unset # ์๋ ์คํ ํด์
|
|
426
|
-
jaw service logs # ์๋น์ค ๋ก๊ทธ ๋ณด๊ธฐ
|
|
427
210
|
jaw chat # ํฐ๋ฏธ๋ TUI
|
|
428
|
-
jaw doctor #
|
|
429
|
-
jaw
|
|
430
|
-
jaw
|
|
211
|
+
jaw doctor # 12๊ฐ ํญ๋ชฉ ์ง๋จ
|
|
212
|
+
jaw service install # ๋ถํ
์ ์๋ ์์
|
|
213
|
+
jaw skill install <name> # ์คํฌ ํ์ฑํ
|
|
214
|
+
jaw mcp install <package> # MCP ์ค์น โ 5๊ฐ ์์ง ๋๊ธฐํ
|
|
431
215
|
jaw memory search <query> # ๋ฉ๋ชจ๋ฆฌ ๊ฒ์
|
|
432
|
-
jaw browser start # Chrome
|
|
433
|
-
jaw browser vision-click "๋ก๊ทธ์ธ"
|
|
434
|
-
jaw clone ~/
|
|
435
|
-
jaw
|
|
216
|
+
jaw browser start # Chrome ์คํ (CDP)
|
|
217
|
+
jaw browser vision-click "๋ก๊ทธ์ธ" # AI ์ขํ ํด๋ฆญ
|
|
218
|
+
jaw clone ~/project # ์ธ์คํด์ค ๋ณต์
|
|
219
|
+
jaw orchestrate # PABCD ์ง์
|
|
436
220
|
jaw reset # ์ ์ฒด ์ด๊ธฐํ
|
|
437
221
|
```
|
|
438
222
|
|
|
439
223
|
---
|
|
440
224
|
|
|
441
|
-
##
|
|
442
|
-
|
|
443
|
-
CLI-JAW์ ๋
๋ฆฝ๋ ์ธ์คํด์ค๋ฅผ ์ฌ๋ฌ ๊ฐ ์คํํ ์ ์์ด์ โ ๊ฐ๊ฐ ๊ณ ์ ํ ์ค์ , ๋ฉ๋ชจ๋ฆฌ, ์คํฌ, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ฐ์ง๋๋ค.
|
|
225
|
+
## ๐ณ Docker
|
|
444
226
|
|
|
445
227
|
```bash
|
|
446
|
-
|
|
447
|
-
jaw clone ~/my-project
|
|
448
|
-
|
|
449
|
-
# ๋ค๋ฅธ ํฌํธ๋ก ์คํ
|
|
450
|
-
jaw --home ~/my-project serve --port 3458
|
|
451
|
-
|
|
452
|
-
# ๋๋ ๋ ๋ค ๋ถํ
์ ์๋ ์คํ
|
|
453
|
-
jaw service install # ๊ธฐ๋ณธ โ ํฌํธ 3457
|
|
454
|
-
jaw --home ~/my-project service install --port 3458 # ํ๋ก์ ํธ โ ํฌํธ 3458
|
|
228
|
+
docker compose up -d # โ http://localhost:3457
|
|
455
229
|
```
|
|
456
230
|
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
| ํ๋๊ทธ / ํ๊ฒฝ๋ณ์ | ๊ธฐ๋ฅ |
|
|
460
|
-
| --------------------- | ---------------------------------------- |
|
|
461
|
-
| `--home <๊ฒฝ๋ก>` | ์ด ์คํ์ ์ฌ์ฉํ ์ปค์คํ
ํ ๋๋ ํ ๋ฆฌ ์ง์ |
|
|
462
|
-
| `--home=<๊ฒฝ๋ก>` | ๋์ผ (`=` ๊ตฌ๋ฌธ) |
|
|
463
|
-
| `CLI_JAW_HOME=<๊ฒฝ๋ก>` | ํ๊ฒฝ๋ณ์๋ก ์ง์ |
|
|
464
|
-
| `jaw clone <๋์>` | ํ์ฌ ์ธ์คํด์ค๋ฅผ ์ ๋๋ ํ ๋ฆฌ๋ก ๋ณต์ |
|
|
465
|
-
| `--port <ํฌํธ>` | `serve` / `service`์ฉ ์ปค์คํ
ํฌํธ |
|
|
231
|
+
๋นroot `jaw` ์ฌ์ฉ์, Chromium ์๋๋ฐ์ค ๊ธฐ๋ณธ ํ์ฑํ. `Dockerfile`(npm ์ค์น)๊ณผ `Dockerfile.dev`(๋ก์ปฌ ์์ค) ์ ๊ณต.
|
|
466
232
|
|
|
467
233
|
---
|
|
468
234
|
|
|
469
|
-
##
|
|
235
|
+
## ๐ ๋ฌธ์
|
|
470
236
|
|
|
471
|
-
|
|
237
|
+
| ๋ฌธ์ | ๋ด์ฉ |
|
|
238
|
+
|---|---|
|
|
239
|
+
| [CHANGELOG.md](CHANGELOG.md) | ๋ฆด๋ฆฌ์ค ๋ก๊ทธ (v1.6.0 ์บ์น์
: v1.2.0~v1.5.1 ํฌํจ) |
|
|
240
|
+
| [ARCHITECTURE.md](docs/ARCHITECTURE.md) | ์์คํ
์ค๊ณ, ๋ชจ๋ ๊ทธ๋ํ, 95๊ฐ API ํธ๋ค๋ฌ |
|
|
241
|
+
| [TESTS.md](TESTS.md) | ํ
์คํธ ์ปค๋ฒ๋ฆฌ์ง, ์นด์ดํธ, ๊ณํ |
|
|
242
|
+
| [memory-architecture.md](docs/memory-architecture.md) | 3๊ณ์ธต ๋ฉ๋ชจ๋ฆฌ ๋ชจ๋ธ, ์ธ๋ฑ์ฑ, ๋ฐํ์ |
|
|
243
|
+
| [devlog/structure/](devlog/structure/) | ๋ด๋ถ ์ํคํ
์ฒ ๋ ํผ๋ฐ์ค |
|
|
472
244
|
|
|
473
|
-
|
|
474
|
-
<summary>์ ์ฒด ํ๋ฆฌ์
๋ณด๊ธฐ</summary>
|
|
245
|
+
---
|
|
475
246
|
|
|
476
|
-
|
|
477
|
-
| ------------ | -------------------------- | ---------------------------------------------- |
|
|
478
|
-
| **Claude** | `claude-sonnet-4-6` | opus-4-6, haiku-4-5, ํ์ฅ ์ฌ๊ณ ๋ณํ |
|
|
479
|
-
| **Codex** | `gpt-5.3-codex` | spark, 5.2, 5.1-max, 5.1-mini |
|
|
480
|
-
| **Gemini** | `gemini-2.5-pro` | 3.0-pro-preview, 3-flash-preview, 2.5-flash |
|
|
481
|
-
| **OpenCode** | `claude-opus-4-6-thinking` | ๐ big-pickle, GLM-5, MiniMax, Kimi, GPT-5-Nano |
|
|
482
|
-
| **Copilot** | `gpt-4.1` ๐ | ๐ gpt-5-mini, claude-sonnet-4.6, opus-4.6 |
|
|
247
|
+
## โ๏ธ ๋น๊ต
|
|
483
248
|
|
|
484
|
-
|
|
249
|
+
| | CLI-JAW | Hermes Agent | Claude Code |
|
|
250
|
+
|---|---|---|---|
|
|
251
|
+
| **๋ชจ๋ธ ์ ๊ทผ** | OAuth ์์ ์ก + OpenCode ์์ผ๋์นด๋ | API ํค (OpenRouter 200+) | Anthropic ์ ์ฉ |
|
|
252
|
+
| **๋น์ฉ** | ๊ธฐ์กด ์์ ์ก | ํ ํฐ ๋จ์ ๊ณผ๊ธ | Anthropic ๊ตฌ๋
|
|
|
253
|
+
| **์ฃผ UI** | ์น PWA + Mac ์ฑ + TUI | TUI ์ ์ฉ | CLI + IDE ํ๋ฌ๊ทธ์ธ |
|
|
254
|
+
| **๋ฉ์์ง** | Telegram(์์ฑ) + Discord | TG/Discord/Slack/WhatsApp/Signal | ์์ |
|
|
255
|
+
| **๋ฉ๋ชจ๋ฆฌ** | 3๊ณ์ธต + FTS5 | ์๊ธฐํ์ต ๋ฃจํ + Honcho | ํ์ผ ๊ธฐ๋ฐ |
|
|
256
|
+
| **๋ธ๋ผ์ฐ์ ** | CDP + vision-click + DOM ref | ์ ํ์ | MCP ๊ฒฝ์ |
|
|
257
|
+
| **์ค์ผ์คํธ๋ ์ด์
** | PABCD 5๋จ๊ณ FSM | ์๋ธ์์ด์ ํธ ์คํฐ | Task ๋๊ตฌ |
|
|
485
258
|
|
|
486
|
-
|
|
259
|
+
CLI-JAW๋ OpenClaw ํ๋ค์ค ์ํคํ
์ฒ(ํ์ด๋ธ๋ฆฌ๋ ๊ฒ์ ๋งค๋์ , ํด๋ฐฑ ํจํด, ์ธ์
์ธ๋ฑ์ฑ)๋ฅผ ๊ณ์นํฉ๋๋ค.
|
|
487
260
|
|
|
488
261
|
---
|
|
489
262
|
|
|
490
|
-
##
|
|
263
|
+
## ๐๏ธ ๋ฉํฐ ์ธ์คํด์ค
|
|
491
264
|
|
|
492
|
-
|
|
265
|
+
๋ณ๋์ ์ค์ , ๋ฉ๋ชจ๋ฆฌ, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ฐ์ง ๋
๋ฆฝ ์ธ์คํด์ค๋ฅผ ์คํํ ์ ์์ต๋๋ค.
|
|
493
266
|
|
|
494
267
|
```bash
|
|
495
|
-
|
|
268
|
+
jaw clone ~/my-project
|
|
269
|
+
jaw --home ~/my-project serve --port 3458
|
|
496
270
|
```
|
|
497
271
|
|
|
498
|
-
> ์์ธํ ๋ด์ฉ์ [English README](README.md#-docker--container-isolation) ์ฐธ๊ณ .
|
|
499
|
-
> `Dockerfile` (npm ๋ฐฐํฌํ) / `Dockerfile.dev` (๋ก์ปฌ ์์ค) ๋ ๊ฐ์ง ์ ๊ณต.
|
|
500
|
-
|
|
501
272
|
---
|
|
502
273
|
|
|
503
274
|
## ๐ ๏ธ ๊ฐ๋ฐ
|
|
504
275
|
|
|
505
276
|
<details>
|
|
506
|
-
<summary
|
|
277
|
+
<summary>๋น๋ ๋ฐ ํ๋ก์ ํธ ๊ตฌ์กฐ</summary>
|
|
507
278
|
|
|
508
279
|
```bash
|
|
509
|
-
# ๋น๋ (TypeScript โ JavaScript)
|
|
510
280
|
npm run build # tsc โ dist/
|
|
511
|
-
|
|
512
|
-
# ์์ค์์ ์คํ (๊ฐ๋ฐ์ฉ)
|
|
513
|
-
npm run dev # tsx server.ts
|
|
514
|
-
npx tsx bin/cli-jaw.ts serve # .ts์์ ์ง์ ์คํ
|
|
515
|
-
|
|
516
|
-
# ๋น๋ ๊ฒฐ๊ณผ๋ฌผ๋ก ์คํ (ํ๋ก๋์
)
|
|
517
|
-
node dist/bin/cli-jaw.js serve
|
|
281
|
+
npm run dev # tsx server.ts (ํซ ๋ฆฌ๋ก๋)
|
|
518
282
|
```
|
|
519
283
|
|
|
520
|
-
**ํ๋ก์ ํธ ๊ตฌ์กฐ:**
|
|
521
|
-
|
|
522
284
|
```
|
|
523
285
|
src/
|
|
524
|
-
โโโ agent/ # AI ์์ด์ ํธ
|
|
525
|
-
โโโ browser/ # Chrome CDP
|
|
526
|
-
โโโ cli/ # CLI
|
|
527
|
-
โโโ core/ # DB, ์ค์ , ๋ก๊น
|
|
528
|
-
โโโ
|
|
529
|
-
โโโ memory/ #
|
|
530
|
-
โโโ orchestrator/ #
|
|
531
|
-
โโโ
|
|
532
|
-
โโโ
|
|
533
|
-
|
|
534
|
-
โโโ telegram/ # ํ
๋ ๊ทธ๋จ ๋ด ์ฐ๋
|
|
286
|
+
โโโ agent/ # AI ์์ด์ ํธ ์๋ช
์ฃผ๊ธฐ, ์คํฐ, History Block
|
|
287
|
+
โโโ browser/ # Chrome CDP, vision-click
|
|
288
|
+
โโโ cli/ # CLI ๋ ์ง์คํธ๋ฆฌ, ์ฌ๋์ ๋ช
๋ น์ด, ๋ชจ๋ธ ํ๋ฆฌ์
|
|
289
|
+
โโโ core/ # DB, ์ค์ , Employee, ๋ก๊น
|
|
290
|
+
โโโ discord/ # Discord ๋ด, ๋ช
๋ น์ด, ํ์ผ ์ ์ก
|
|
291
|
+
โโโ memory/ # 3๊ณ์ธต ๋ฉ๋ชจ๋ฆฌ, FTS5 ์ธ๋ฑ์ฑ, Flush, Soul
|
|
292
|
+
โโโ orchestrator/ # PABCD ์ํ ๋จธ์ , Worker ๋ ์ง์คํธ๋ฆฌ
|
|
293
|
+
โโโ routes/ # REST API (95๊ฐ ํธ๋ค๋ฌ, 94๊ฐ ์๋ํฌ์ธํธ)
|
|
294
|
+
โโโ security/ # ์
๋ ฅ ๊ฒ์ฆ, ๊ฒฝ๋ก ๋ณดํธ
|
|
295
|
+
โโโ telegram/ # Telegram ๋ด, ์์ฑ STT, ํฌ์๋
|
|
535
296
|
```
|
|
536
297
|
|
|
537
|
-
> TypeScript โ `strict: true`, `NodeNext` ๋ชจ๋ ํด์๋, ES2022 ํ๊ฒ.
|
|
538
|
-
|
|
539
298
|
</details>
|
|
540
299
|
|
|
541
300
|
---
|
|
542
301
|
|
|
543
302
|
## ๐งช ํ
์คํธ
|
|
544
303
|
|
|
545
|
-
<details>
|
|
546
|
-
<summary>ํ์ฌ ํจ์ค ์์ ์ธ๋ฒคํ ๋ฆฌ๋ TESTS.md ๊ธฐ์ค</summary>
|
|
547
|
-
|
|
548
304
|
```bash
|
|
549
|
-
npm test
|
|
305
|
+
npm test # tsx --test (Node.js ๋ค์ดํฐ๋ธ ํ
์คํธ ๋ฌ๋)
|
|
550
306
|
```
|
|
551
307
|
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
</details>
|
|
308
|
+
[TESTS.md](TESTS.md)์์ ํ์ฌ ์ธ๋ฒคํ ๋ฆฌ์ ํต๊ณผ ์ ํ์ธ.
|
|
555
309
|
|
|
556
310
|
---
|
|
557
311
|
|
|
558
|
-
##
|
|
559
|
-
|
|
560
|
-
| ๋ฌธ์ | ๋ด์ฉ |
|
|
561
|
-
| --------------------------------------- | --------------------------------------------------- |
|
|
562
|
-
| [ARCHITECTURE.md](docs/ARCHITECTURE.md) | ์์คํ
์ค๊ณ, ๋ชจ๋ ๊ทธ๋ํ, REST API (40+ ์๋ํฌ์ธํธ) |
|
|
563
|
-
| [TESTS.md](TESTS.md) | ํ
์คํธ ์ปค๋ฒ๋ฆฌ์ง, ํ
์คํธ ๊ณํ |
|
|
312
|
+
## โ ๋ฌธ์ ํด๊ฒฐ
|
|
564
313
|
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
|
571
|
-
| `
|
|
572
|
-
| `
|
|
573
|
-
|
|
|
574
|
-
|
|
|
575
|
-
|
|
|
576
|
-
|
|
|
577
|
-
|
|
|
578
|
-
| ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ธ์
๊ฐ ์ ์ง ์ ๋จ | `~/.cli-jaw/memory/` ๋๋ ํ ๋ฆฌ ์์ | `jaw init` ์ฌ์คํํ๋ฉด ์๋ ์์ฑ |
|
|
314
|
+
<details>
|
|
315
|
+
<summary>์์ฃผ ๋ฐ์ํ๋ ๋ฌธ์ </summary>
|
|
316
|
+
|
|
317
|
+
| ๋ฌธ์ | ํด๊ฒฐ |
|
|
318
|
+
|---|---|
|
|
319
|
+
| `cli-jaw: command not found` | `npm install -g cli-jaw` ์ฌ์คํ. `npm bin -g`๊ฐ `$PATH`์ ์๋์ง ํ์ธ |
|
|
320
|
+
| `Error: node version` | Node.js 22+๋ก ์
๊ทธ๋ ์ด๋: `nvm install 22` |
|
|
321
|
+
| `NODE_MODULE_VERSION` ๋ถ์ผ์น | `npm run ensure:native` (์๋ ์ฌ๋น๋) |
|
|
322
|
+
| ์์ด์ ํธ ํ์์์ | `jaw doctor`๋ก CLI ์ธ์ฆ ํ์ธ |
|
|
323
|
+
| `EADDRINUSE: port 3457` | ๋ค๋ฅธ ์ธ์คํด์ค ์คํ ์ค. `--port 3458` ์ฌ์ฉ |
|
|
324
|
+
| Telegram ๋ฌด์๋ต | `jaw doctor`๋ก ํ ํฐ ํ์ธ. `jaw serve` ์คํ ์ค์ธ์ง ํ์ธ |
|
|
325
|
+
| ์คํฌ ๋ฏธ๋ก๋ | `jaw skill reset` ํ `jaw mcp sync` |
|
|
326
|
+
| ๋ธ๋ผ์ฐ์ ๋ช
๋ น์ด ์คํจ | Chrome ์ค์น. `jaw browser start` ๋จผ์ ์คํ |
|
|
579
327
|
|
|
580
|
-
>
|
|
328
|
+
</details>
|
|
581
329
|
|
|
582
330
|
---
|
|
583
331
|
|
|
584
332
|
## ๐ค ๊ธฐ์ฌํ๊ธฐ
|
|
585
333
|
|
|
586
|
-
|
|
334
|
+
1. `master`์์ ํฌํฌ & ๋ธ๋์น
|
|
335
|
+
2. `npm run build && npm test`
|
|
336
|
+
3. PR ์ ์ถ
|
|
587
337
|
|
|
588
|
-
|
|
589
|
-
2. `npm run build && npm test`๋ก ๋น๋ & ํ
์คํธ๊ฐ ํต๊ณผํ๋์ง ํ์ธ
|
|
590
|
-
3. PR์ ๋ณด๋ด์ฃผ์ธ์ โ ๋น ๋ฅด๊ฒ ๋ฆฌ๋ทฐํ ๊ฒ์
|
|
591
|
-
|
|
592
|
-
> ๐ ๋ฒ๊ทธ๋ฅผ ์ฐพ์๊ฑฐ๋ ์์ด๋์ด๊ฐ ์์ผ์ ๊ฐ์? [์ด์ ์ด๊ธฐ](https://github.com/lidge-jun/cli-jaw/issues)
|
|
338
|
+
๋ฒ๊ทธ๋ ์์ด๋์ด? [์ด์ ์ด๊ธฐ](https://github.com/lidge-jun/cli-jaw/issues)
|
|
593
339
|
|
|
594
340
|
---
|
|
595
341
|
|
|
596
342
|
<div align="center">
|
|
597
343
|
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
Made with โค๏ธ by the CLI-JAW community
|
|
601
|
-
|
|
602
|
-
[MIT License](LICENSE)
|
|
344
|
+
**[MIT License](LICENSE)**
|
|
603
345
|
|
|
604
346
|
</div>
|