deel-local-cli 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +347 -9
- package/README.md +317 -6
- package/package.json +2 -2
- package/src/agent/budget.js +0 -14
- package/src/agent/compact.js +87 -0
- package/src/agent/evolve.js +213 -0
- package/src/agent/loop.js +38 -1
- package/src/agent/modes.js +2 -0
- package/src/agent/route.js +55 -3
- package/src/agent/session.js +145 -1
- package/src/agent/threads.js +154 -0
- package/src/backend/http.js +41 -4
- package/src/commands.js +268 -4
- package/src/config.js +10 -1
- package/src/oneshot.js +4 -0
- package/src/preview/serve.js +326 -0
- package/src/repl.js +210 -34
- package/src/safety/guard.js +37 -2
- package/src/safety/undo.js +1 -1
- package/src/setup.js +2 -2
- package/src/skills/builtin//352/262/200/354/202/254-/353/250/274/354/240/200/SKILL.md +64 -0
- package/src/skills/builtin//352/271/212/354/235/264/354/236/210/352/262/214-/353/247/214/353/223/244/352/270/260/SKILL.md +78 -0
- package/src/skills/builtin//353/201/235/352/271/214/354/247/200-/355/225/230/352/270/260/SKILL.md +65 -0
- package/src/skills/builtin//354/212/244/354/212/244/353/241/234-/352/262/200/355/206/240/SKILL.md +74 -0
- package/src/skills/builtin//354/260/224/353/237/254/353/263/264/352/270/260/SKILL.md +59 -0
- package/src/skills/builtin//354/260/250/352/267/274/354/260/250/352/267/274-/353/224/224/353/262/204/352/271/205/SKILL.md +73 -0
- package/src/skills/builtin//354/275/224/353/223/234-/354/244/204/354/235/264/352/270/260/SKILL.md +66 -0
- package/src/skills/discover.js +18 -3
- package/src/tools/edit-match.js +16 -5
- package/src/tools/excel-com.js +1 -1
- package/src/tools/excel.js +1 -1
- package/src/tools/fsutil.js +0 -8
- package/src/tools/index.js +1 -1
- package/src/tools/todo.js +19 -3
- package/src/ui/ansi.js +6 -2
- package/src/ui/inputbox.js +37 -8
- package/src/ui/md.js +227 -0
- package/src/ui/motion.js +212 -0
- package/src/ui/prompt.js +1 -1
- package/src/ui/screen.js +1 -1
- package/src/ui/status.js +14 -1
- package/src/ui/working.js +0 -3
- package/src/ui/wrap.js +1 -8
package/README.md
CHANGED
|
@@ -54,6 +54,7 @@
|
|
|
54
54
|
- [쉬움 · 개발자](#쉬움--개발자)
|
|
55
55
|
- [도구](#도구)
|
|
56
56
|
- [한글 문서와 엑셀](#한글-문서와-엑셀)
|
|
57
|
+
- [만든 웹을 그 자리에서 띄웁니다](#만든-웹을-그-자리에서-띄웁니다)
|
|
57
58
|
- [스킬·플러그인](#스킬플러그인)
|
|
58
59
|
- [추론 강도](#추론-강도)
|
|
59
60
|
- [자동 압축](#자동-압축)
|
|
@@ -64,6 +65,9 @@
|
|
|
64
65
|
- [설정](#설정)
|
|
65
66
|
- [문제 해결](#문제-해결)
|
|
66
67
|
- [개발](#개발)
|
|
68
|
+
- [릴리스 노트](#릴리스-노트)
|
|
69
|
+
|
|
70
|
+
각 절은 요약만 펴 두었습니다. **▸ 자세히** 를 누르면 그 안의 이야기가 펼쳐집니다.
|
|
67
71
|
|
|
68
72
|
---
|
|
69
73
|
|
|
@@ -212,6 +216,9 @@ LM Studio 는 `/api/v0/models`, llama.cpp 는 `/props`. 못 알아보면 `(추
|
|
|
212
216
|
|
|
213
217
|
등록한 뒤에는 대화 중 `/model` 로 갈아탑니다. **대화 내용은 그대로 이어집니다.**
|
|
214
218
|
|
|
219
|
+
<details>
|
|
220
|
+
<summary><b>자세히</b> — 걸린 모델에 맞춰 스스로 바뀝니다 · 작은 창에서는 고정 몫을 줄입니다 · 켤 때 이 폴더가 무슨 프로젝트인지 읽습니다</summary>
|
|
221
|
+
|
|
215
222
|
### 걸린 모델에 맞춰 스스로 바뀝니다
|
|
216
223
|
|
|
217
224
|
여러 모델을 왔다 갔다 쓰면, 어느 한 모델에 맞춰 박아 둔 숫자는 나머지 전부에서
|
|
@@ -354,6 +361,8 @@ node 프로젝트 (deel-local-cli) · git main
|
|
|
354
361
|
|
|
355
362
|
파일 600개짜리 폴더에서 7ms 입니다(`test/project.test.js`).
|
|
356
363
|
|
|
364
|
+
</details>
|
|
365
|
+
|
|
357
366
|
---
|
|
358
367
|
|
|
359
368
|
## 대화 중 명령
|
|
@@ -369,6 +378,8 @@ node 프로젝트 (deel-local-cli) · git main
|
|
|
369
378
|
| `/grade [작음\|보통\|큼\|auto]` | 모델 **급** — 얼마나 알아서 하나. `/ctx` 와 다른 축입니다 |
|
|
370
379
|
| `/compact` | 앞선 대화를 요약해서 접기 |
|
|
371
380
|
| `/clear` | 대화 비우기 (연결·규칙은 유지) |
|
|
381
|
+
| `/thread [new\|fork\|close\|번호]` | 대화 갈래 — 곁가지를 딴 자리에서. 연결·되돌리기는 같이 씁니다 |
|
|
382
|
+
| `/learned [지우기]` | 쓰면서 저절로 알게 된 것 — 되는 명령·이 모델의 버릇 |
|
|
372
383
|
| `/model` | 연결·모델 바꾸기 |
|
|
373
384
|
| `/think <강도>` | 추론 강도 (`off·low·medium·high·max`) |
|
|
374
385
|
| `/think 배분 <배분>` | 단계별 배분 (`균일·절약·깊게`) |
|
|
@@ -380,6 +391,7 @@ node 프로젝트 (deel-local-cli) · git main
|
|
|
380
391
|
| `/level [수준]` | 화면에 무엇을 내놓을지 (`쉬움` · `개발자`) |
|
|
381
392
|
| `/undo [턴수]` | 파일 변경 되돌리기 |
|
|
382
393
|
| `/diff [파일]` | 이번 대화에서 바뀐 파일 · 바뀐 자리 보기 |
|
|
394
|
+
| `/preview [폴더\|파일\|off]` | 만든 웹을 이 자리에서 띄워 보기 — 브라우저가 같이 열립니다 |
|
|
383
395
|
| `/tools` | 쓸 수 있는 도구 |
|
|
384
396
|
| `/skills [검색어\|all\|off]` | 스킬 보기·검색·골라 올리기 |
|
|
385
397
|
| `/plugin [install\|remove\|pack]` | 플러그인 관리 |
|
|
@@ -408,6 +420,9 @@ node 프로젝트 (deel-local-cli) · git main
|
|
|
408
420
|
|
|
409
421
|
한글 조합·붙여넣기·`Ctrl+A/E`·백스페이스는 전부 그대로 됩니다.
|
|
410
422
|
|
|
423
|
+
<details>
|
|
424
|
+
<summary><b>자세히</b> — @파일 로 바로 붙이기 · 도중에 멈추기</summary>
|
|
425
|
+
|
|
411
426
|
### `@파일` 로 바로 붙이기
|
|
412
427
|
|
|
413
428
|
말 속에 `@` 뒤로 경로를 쓰면 그 파일을 말과 함께 바로 보냅니다.
|
|
@@ -467,6 +482,8 @@ node 프로젝트 (deel-local-cli) · git main
|
|
|
467
482
|
|
|
468
483
|
발견된 스킬의 명령은 `/<플러그인>:<이름>` 으로 부르고 `$ARGUMENTS` 가 치환됩니다.
|
|
469
484
|
|
|
485
|
+
</details>
|
|
486
|
+
|
|
470
487
|
---
|
|
471
488
|
|
|
472
489
|
## 작업 모드
|
|
@@ -495,6 +512,9 @@ node 프로젝트 (deel-local-cli) · git main
|
|
|
495
512
|
`/think` 나 `/mode` 를 직접 고른 적이 있으면 그 선택이 우선합니다.
|
|
496
513
|
모드가 사람이 고른 값을 덮어쓰지 않습니다.
|
|
497
514
|
|
|
515
|
+
<details>
|
|
516
|
+
<summary><b>자세히</b> — 저절로 옮겨 가기 (종합 모드)</summary>
|
|
517
|
+
|
|
498
518
|
### 저절로 옮겨 가기 (종합 모드)
|
|
499
519
|
|
|
500
520
|
처음에는 **종합** 으로 시작합니다. 무슨 일이 올지 모르는 상태입니다.
|
|
@@ -537,6 +557,8 @@ node 프로젝트 (deel-local-cli) · git main
|
|
|
537
557
|
|
|
538
558
|
직접 고르면 그때부터 **고정** 됩니다. 다시 맡기려면 `/auto` 또는 `/work 종합`.
|
|
539
559
|
|
|
560
|
+
</details>
|
|
561
|
+
|
|
540
562
|
---
|
|
541
563
|
|
|
542
564
|
## 쉬움 · 개발자
|
|
@@ -558,6 +580,9 @@ node 프로젝트 (deel-local-cli) · git main
|
|
|
558
580
|
- **초보라고 승인을 덜 받지 않습니다.** 되돌리기·작업 범위·위험 명령 차단은 두 수준이 같습니다.
|
|
559
581
|
초보일수록 되돌릴 수 있어야 합니다.
|
|
560
582
|
|
|
583
|
+
<details>
|
|
584
|
+
<summary><b>자세히</b> — 입력칸 · 명령은 다 안 쳐도 됩니다 · 일하는 중에는 상자가 그대로 있습니다 · 왼쪽 그림도 같이 움직입니다 외 1개</summary>
|
|
585
|
+
|
|
561
586
|
### 입력칸
|
|
562
587
|
|
|
563
588
|
터미널에서 그냥 켜면 **대화는 위로 흘러가고, 맨 아래에 입력 상자가 붙습니다.**
|
|
@@ -680,6 +705,28 @@ node 프로젝트 (deel-local-cli) · git main
|
|
|
680
705
|
| 답하는 중 | 답 쓰는 중 · 정리해서 말하는 중 |
|
|
681
706
|
| **45초가 넘으면** | 아직 하는 중 · 조금만 더 · 생각보다 오래 걸리는 중 |
|
|
682
707
|
|
|
708
|
+
### 왼쪽 그림도 같이 움직입니다
|
|
709
|
+
|
|
710
|
+
문구 옆에서 도는 것은 돌림표가 아니라 **지금 하는 일을 그린 작은 그림**입니다.
|
|
711
|
+
|
|
712
|
+
| 하는 일 | 한 바퀴 | 그림 |
|
|
713
|
+
|---|---|---|
|
|
714
|
+
| 생각 | `⠀⠶⠀` `⠰⣿⠆` `⢾⣿⡷` `⠰⣿⠆` | 부풀었다 줄어든다 |
|
|
715
|
+
| 읽기 | `⠉⠉⠉` `⠒⠒⠒` `⠤⠤⠤` `⣀⣀⣀` | 훑는 줄이 내려간다 |
|
|
716
|
+
| 쓰기 | `⡼⠭⠧` `⠼⡯⠧` `⠼⠿⡧` `⠼⡭⠧` | **노트북이 자판을 두드린다** |
|
|
717
|
+
| 명령 | `⠉⠀⠀` `⠉⠈⠀` `⠛⠊⠀` `⠿⠮⠄` | 결과가 한 줄씩 쌓인다 |
|
|
718
|
+
| 답 | `⠉⠀⠀` `⠛⠉⠀` `⠿⠛⠉` `⣿⠿⠛` | 글이 차오른다 |
|
|
719
|
+
| 웹 | `⣀⣀⣀` `⣤⣀⣀` `⣶⣤⣀` `⣿⣶⣤` | 신호 막대가 자란다 |
|
|
720
|
+
| 접기 | `⣿⣿⣿` `⣶⣶⣶` `⣤⣤⣤` `⣀⣀⣀` | 눌려서 한 줄로 모인다 |
|
|
721
|
+
| 45초 넘으면 | `⠶⠀⠀` `⠰⠆⠀` `⠀⠶⠀` `⠀⠰⠆` | 왔다 갔다 — '기다리는 중' |
|
|
722
|
+
|
|
723
|
+
점자만 씁니다. 점자 한 칸은 **가로 2 · 세로 4 점**이라 세 칸이면 6×4 격자가 되고,
|
|
724
|
+
어느 터미널에서나 정확히 한 칸입니다. 이모지나 `●` `▪` 는 동아시아 로캘에서 두 칸으로
|
|
725
|
+
잡히는 것이 섞여 있어 90ms마다 테두리가 어긋납니다.
|
|
726
|
+
|
|
727
|
+
그림이 안 나오거나 화면 읽기 프로그램을 쓰신다면 `DEEL_NO_MOTION=1` 로 끄면
|
|
728
|
+
예전처럼 한 칸짜리 돌림표만 돕니다.
|
|
729
|
+
|
|
683
730
|
같은 갈래 안에서도 4초마다 다른 문구로 넘어갑니다. 같은 글자가 30초 동안 그대로
|
|
684
731
|
있으면 그것도 멈춘 것처럼 보이기 때문입니다. 오른쪽에는 **걸린 시간**과, 모델이
|
|
685
732
|
추론 중이면 **지금까지 생각한 글자 수**가 같이 뜹니다 — 진짜로 늘어나는 숫자가
|
|
@@ -725,6 +772,8 @@ node 프로젝트 (deel-local-cli) · git main
|
|
|
725
772
|
> 방식이 화면에서 통째로 사라지고 있었습니다. 지금은 **모델 이름을 먼저 줄입니다** —
|
|
726
773
|
> 무엇으로 도는지는 이미 알지만, 내 파일이 안 물어보고 바뀌는지는 지금 봐야 압니다.
|
|
727
774
|
|
|
775
|
+
</details>
|
|
776
|
+
|
|
728
777
|
---
|
|
729
778
|
|
|
730
779
|
## 도구
|
|
@@ -756,6 +805,9 @@ Claude Code 에 없는 것은 일곱입니다 — `Append` · `Recall` · `Remem
|
|
|
756
805
|
(`test/loop.test.js`). 뒤의 넷은 그 값을 치르고도 넣을 만해서 넣은 것들이라,
|
|
757
806
|
아래에 왜인지를 적어 뒀습니다.
|
|
758
807
|
|
|
808
|
+
<details>
|
|
809
|
+
<summary><b>자세히</b> — Outline · Verify · Task · 끝나지 않는 명령은 뒤에서 외 9개</summary>
|
|
810
|
+
|
|
759
811
|
### 프로젝트 모양을 싸게 봅니다 — `Outline`
|
|
760
812
|
|
|
761
813
|
전에는 남의 코드를 이해하는 길이 둘뿐이었습니다. `Glob` 은 경로만 주고,
|
|
@@ -1168,10 +1220,18 @@ $ /diff
|
|
|
1168
1220
|
`/diff` 는 **쉬움 수준의 명령 목록에도 들어 있습니다.** `auto` 가 안 물어보고
|
|
1169
1221
|
고치는 이상, 초보일수록 '무엇이 바뀌었나' 를 볼 통로가 필요합니다.
|
|
1170
1222
|
|
|
1223
|
+
</details>
|
|
1224
|
+
|
|
1171
1225
|
---
|
|
1172
1226
|
|
|
1173
1227
|
## 한글 문서와 엑셀
|
|
1174
1228
|
|
|
1229
|
+
**CP949 로 저장된 파일은 CP949 로 되돌려 씁니다.** 인코딩을 바꾸지 않습니다.
|
|
1230
|
+
엑셀(`.xlsx`)은 CSV 로 바꿔서 읽습니다 — 읽기 전용입니다.
|
|
1231
|
+
|
|
1232
|
+
<details>
|
|
1233
|
+
<summary><b>자세히</b> — 인코딩 · 엑셀</summary>
|
|
1234
|
+
|
|
1175
1235
|
### 인코딩 — 읽은 그대로 되돌려 씁니다
|
|
1176
1236
|
|
|
1177
1237
|
사내 문서는 UTF-8 이 아닌 경우가 흔합니다. 윈도우 메모장이 오래 쓰던 완성형
|
|
@@ -1242,14 +1302,78 @@ utf8 로 받으면 한글이 깨집니다. 바이트로 받아서 풉니다.
|
|
|
1242
1302
|
> 서식·수식·차트가 든 파일을 CSV 로 왕복시키면 반드시 뭔가 잃기 때문입니다.
|
|
1243
1303
|
> 잃는 걸 알면서 쓰느니 안 쓰는 편이 낫습니다.
|
|
1244
1304
|
|
|
1305
|
+
</details>
|
|
1306
|
+
|
|
1245
1307
|
---
|
|
1246
1308
|
|
|
1309
|
+
## 만든 웹을 그 자리에서 띄웁니다
|
|
1310
|
+
|
|
1311
|
+
```
|
|
1312
|
+
❯ /preview
|
|
1313
|
+
|
|
1314
|
+
▶ 띄웠습니다 http://127.0.0.1:56801/
|
|
1315
|
+
보여 주는 것 .
|
|
1316
|
+
파일을 고치면 화면이 저절로 새로 뜹니다.
|
|
1317
|
+
이 컴퓨터에서만 열립니다(127.0.0.1). 다른 PC 에서는 안 보입니다.
|
|
1318
|
+
끄려면 /preview off · deel 을 끝내면 같이 꺼집니다.
|
|
1319
|
+
```
|
|
1320
|
+
|
|
1321
|
+
브라우저가 같이 열립니다. `/preview 폴더` 로 자리를 정하고, `/preview off` 로 끕니다.
|
|
1322
|
+
|
|
1323
|
+
**파일을 두 번 눌러 여는 것(`file://`)과 다릅니다.** `file://` 에서는 아래가 전부
|
|
1324
|
+
막힙니다 — 그런데 오류는 콘솔에만 나오고 화면은 그냥 희어서, 만든 사람은 제 코드를
|
|
1325
|
+
의심하며 시간을 씁니다. 진짜 HTTP 서버라 다 돕니다:
|
|
1326
|
+
|
|
1327
|
+
| | `file://` | `/preview` |
|
|
1328
|
+
|---|---|---|
|
|
1329
|
+
| `<script type="module">` · `import` | 막힘 (CORS) | **됨** |
|
|
1330
|
+
| `fetch('./자료.json')` | 막힘 | **됨** |
|
|
1331
|
+
| `new Worker(...)` | 막힘 | **됨** |
|
|
1332
|
+
| `WebAssembly.compileStreaming` | 막힘 (형식) | **됨** |
|
|
1333
|
+
| 텍스처·`getImageData` | 캔버스 오염 | **됨** |
|
|
1334
|
+
| `.glb` / `.gltf` (Three.js) | 형식 없음 → 조용히 안 그려짐 | **됨** |
|
|
1335
|
+
|
|
1336
|
+
실제 크롬에서 이 일곱 가지를 돌려 **7/7** 을 확인했습니다.
|
|
1337
|
+
|
|
1338
|
+
라우터를 쓰는 앱(React Router 등)은 안쪽 주소에서 새로고침해도 첫 장이 나옵니다.
|
|
1339
|
+
다만 확장자가 있는 요청(`app.js`)에는 절대 안 그럽니다 — 없는 스크립트에 HTML 을
|
|
1340
|
+
돌려주면 `Unexpected token '<'` 로 죽는데, 그게 진짜 원인(파일 이름 오타)을 가립니다.
|
|
1341
|
+
|
|
1342
|
+
### 열어 주는 만큼만 엽니다
|
|
1343
|
+
|
|
1344
|
+
서버를 띄운다는 것은 내 디스크를 남에게 열어 주는 일입니다.
|
|
1345
|
+
|
|
1346
|
+
- **`127.0.0.1` 에만** 묶습니다. `0.0.0.0` 은 아예 못 씁니다 — 같은 사무실 망에서
|
|
1347
|
+
아무나 내 소스를 읽게 됩니다.
|
|
1348
|
+
- 포트는 **0**(커널이 빈 것을 줍니다). 고정 포트는 남이 쓰던 것을 뺏습니다.
|
|
1349
|
+
- 경로는 작업 범위 밖으로 못 나갑니다. `../` · `%2e%2e` · 두 번 인코딩 · 절대 경로 ·
|
|
1350
|
+
널바이트 · 심볼릭 링크 — 여덟 가지를 검사로 막아 뒀습니다.
|
|
1351
|
+
- **주기만 합니다.** `POST` · `PUT` · `DELETE` 는 405 로 거절합니다.
|
|
1352
|
+
- `deel` 을 끝내면 같이 꺼집니다.
|
|
1353
|
+
|
|
1247
1354
|
## 스킬·플러그인
|
|
1248
1355
|
|
|
1249
|
-
|
|
1250
|
-
|
|
1356
|
+
**남의 스킬은 품고 다니지 않습니다.** 켜질 때 그 PC 를 훑어 있는 것을 그대로 씁니다.
|
|
1357
|
+
|
|
1358
|
+
**다만 일하는 방법 일곱 가지는 품고 다닙니다.** 사내에서 새로 받은 PC 에는
|
|
1359
|
+
`~/.claude/skills` 도 플러그인도 없습니다. 거기서는 방법론이 0개라 모델이 매번
|
|
1360
|
+
제 나름대로 했고, 시킨 것만 겨우 하고 끝나는 얄팍한 결과가 거기서 나왔습니다.
|
|
1361
|
+
|
|
1362
|
+
| 스킬 | 언제 |
|
|
1363
|
+
|---|---|
|
|
1364
|
+
| `깊이있게-만들기` | 고도화·보고용·선포용 — 최소치만 내고 끝내지 않게 |
|
|
1365
|
+
| `끝까지-하기` | 시킨 것이 여러 조각일 때. 빼먹은 것은 말하게 |
|
|
1366
|
+
| `차근차근-디버깅` | 재현 → 좁히기 → 원인 → 고치기 → 증명 |
|
|
1367
|
+
| `검사-먼저` | 고치기 전에 실패하는 검사부터 |
|
|
1368
|
+
| `찔러보기` | 되는지 모를 때 시간 정해 작게 찔러 보고 버리기 |
|
|
1369
|
+
| `코드-줄이기` | 동작은 그대로 두고 읽기 쉽게 |
|
|
1370
|
+
| `스스로-검토` | 다 됐다고 말하기 전에. 못 잰 것까지 말하게 |
|
|
1371
|
+
|
|
1372
|
+
목록으로 늘 나가는 몫은 354토큰입니다(8k 창의 4%). 본문은 `Skill` 로 부를 때만 나갑니다.
|
|
1373
|
+
같은 이름을 직접 만들면 그쪽이 이깁니다 — 품고 다니는 것이 제일 낮은 자리입니다.
|
|
1251
1374
|
|
|
1252
1375
|
```
|
|
1376
|
+
품고 다님 (패키지 안) ← 제일 낮은 자리
|
|
1253
1377
|
프로젝트 ./.deel/skills ./.claude/skills ./.deel/commands ./.claude/commands
|
|
1254
1378
|
사용자 ~/.deel/skills ~/.claude/skills ~/.claude/commands
|
|
1255
1379
|
플러그인 ~/.claude/plugins/** ~/.deel/plugins/**
|
|
@@ -1257,6 +1381,9 @@ utf8 로 받으면 한글이 깨집니다. 바이트로 받아서 풉니다.
|
|
|
1257
1381
|
|
|
1258
1382
|
Claude Code 와 같은 형식(`SKILL.md` + YAML 앞머리, `commands/*.md`, `$ARGUMENTS`)을 읽습니다.
|
|
1259
1383
|
|
|
1384
|
+
<details>
|
|
1385
|
+
<summary><b>자세히</b> — 3단계로 나눠 올립니다 · 플러그인 받아 오기 · 안 넣은 것</summary>
|
|
1386
|
+
|
|
1260
1387
|
### 3단계로 나눠 올립니다
|
|
1261
1388
|
|
|
1262
1389
|
전부 올리면 컨텍스트가 죽습니다.
|
|
@@ -1290,6 +1417,8 @@ unzip 반입.zip -d ~/.deel/plugins/
|
|
|
1290
1417
|
| 서브에이전트 | 모델 호출이 배로 늘어 게이트웨이 할당량을 먹습니다 |
|
|
1291
1418
|
| MCP | 별도 프로토콜이라 그 자체로 하나의 프로젝트입니다 |
|
|
1292
1419
|
|
|
1420
|
+
</details>
|
|
1421
|
+
|
|
1293
1422
|
---
|
|
1294
1423
|
|
|
1295
1424
|
## 추론 강도
|
|
@@ -1337,6 +1466,9 @@ $ /think 자세히
|
|
|
1337
1466
|
이 한 줄로 갈립니다. 아는 상한이 낮으면 셋이 같아지는 것이 맞습니다.
|
|
1338
1467
|
한동안 이 표는 세 줄이 늘 `16,384` 였고, 그건 표가 뜻이 없다는 뜻이었습니다.
|
|
1339
1468
|
|
|
1469
|
+
<details>
|
|
1470
|
+
<summary><b>자세히</b> — 컨텍스트 길이는 모델에서 긁어옵니다 · /out · 잘린 도구 호출</summary>
|
|
1471
|
+
|
|
1340
1472
|
### 컨텍스트 길이는 모델에서 긁어옵니다
|
|
1341
1473
|
|
|
1342
1474
|
이 숫자 하나가 프로그램 전체 크기를 정합니다. 한 번에 읽힐 수 있는 파일 수,
|
|
@@ -1471,6 +1603,8 @@ This model's maximum context length is 8192 tokens, however you requested 41003
|
|
|
1471
1603
|
'헛도는 작업' 을 구분하지 못합니다. 여기서 세는 것은 걸음 수가 아니라
|
|
1472
1604
|
**같은 도구가 같은 이유로 실패한 횟수**입니다.
|
|
1473
1605
|
|
|
1606
|
+
</details>
|
|
1607
|
+
|
|
1474
1608
|
---
|
|
1475
1609
|
|
|
1476
1610
|
## 자동 압축
|
|
@@ -1539,6 +1673,9 @@ deel 은 그걸 **코드를 안 고치고** 도구로 씁니다.
|
|
|
1539
1673
|
JSON-RPC 2.0 을 주고받는 것이 전부라, `child_process` 와 `JSON` 이면 됩니다. SDK 가
|
|
1540
1674
|
필요 없습니다.
|
|
1541
1675
|
|
|
1676
|
+
<details>
|
|
1677
|
+
<summary><b>자세히</b> — 다만 이건 남의 프로그램입니다</summary>
|
|
1678
|
+
|
|
1542
1679
|
### 다만 이건 남의 프로그램입니다
|
|
1543
1680
|
|
|
1544
1681
|
이 프로젝트가 존재하는 이유가 '미승인 SW 반입 금지' 인데, MCP 를 아무렇게나 켜면
|
|
@@ -1558,6 +1695,8 @@ JSON-RPC 2.0 을 주고받는 것이 전부라, `child_process` 와 `JSON` 이
|
|
|
1558
1695
|
조용히 빠지지 않고 머리말에 이유가 뜹니다 — 조용히 빠지면 "왜 그 도구가 없지" 를
|
|
1559
1696
|
영영 알 수 없습니다.
|
|
1560
1697
|
|
|
1698
|
+
</details>
|
|
1699
|
+
|
|
1561
1700
|
---
|
|
1562
1701
|
|
|
1563
1702
|
## 안전망
|
|
@@ -1586,6 +1725,9 @@ JSON-RPC 2.0 을 주고받는 것이 전부라, `child_process` 와 `JSON` 이
|
|
|
1586
1725
|
32MB 를 넘으면 **최근 50턴만 남기고** 오래된 것을 버립니다. 방금 한 일은 언제나
|
|
1587
1726
|
되돌릴 수 있고, 지금 이력이 얼마나 되는지는 `/status` 에서 봅니다.
|
|
1588
1727
|
|
|
1728
|
+
<details>
|
|
1729
|
+
<summary><b>자세히</b> — Bash 로 사라진 것도 되돌아갑니다 · 안 읽는 자리</summary>
|
|
1730
|
+
|
|
1589
1731
|
### `Bash` 로 사라진 것도 되돌아갑니다
|
|
1590
1732
|
|
|
1591
1733
|
안전망이 `Write` · `Edit` 만 지키고 있었습니다. 그런데 모델은 파일을 옮길 때
|
|
@@ -1652,6 +1794,8 @@ JSON-RPC 2.0 을 주고받는 것이 전부라, `child_process` 와 `JSON` 이
|
|
|
1652
1794
|
반드시 옵니다 — 훑을 때는 안 걸리는데 이름을 대면 읽히는, 설명하기 어려운
|
|
1653
1795
|
상태가 됩니다.
|
|
1654
1796
|
|
|
1797
|
+
</details>
|
|
1798
|
+
|
|
1655
1799
|
---
|
|
1656
1800
|
|
|
1657
1801
|
## 사내 반입
|
|
@@ -1685,6 +1829,9 @@ zip 안에 들어가는 `반입심사서.txt` 에는 이런 것이 적힙니다.
|
|
|
1685
1829
|
손으로 적지 않고 코드가 소스를 훑어서 만듭니다 — 손으로 적으면 언젠가 사실과 어긋납니다.
|
|
1686
1830
|
묶지 않고 내용만 보려면 `deel audit`.
|
|
1687
1831
|
|
|
1832
|
+
<details>
|
|
1833
|
+
<summary><b>자세히</b> — 사내 게이트웨이 진단</summary>
|
|
1834
|
+
|
|
1688
1835
|
### 사내 게이트웨이 진단
|
|
1689
1836
|
|
|
1690
1837
|
압축을 푼 폴더에서:
|
|
@@ -1708,12 +1855,17 @@ node bin/deel.js diagnose --url <게이트웨이주소> --key <키> --model <모
|
|
|
1708
1855
|
|
|
1709
1856
|
판정은 **준비됨 · 제한적 · 막힘 · 연결실패** 넷 중 하나로 나옵니다.
|
|
1710
1857
|
|
|
1858
|
+
</details>
|
|
1859
|
+
|
|
1711
1860
|
---
|
|
1712
1861
|
|
|
1713
1862
|
## 설정
|
|
1714
1863
|
|
|
1715
1864
|
`~/.deel/config.json` 에 저장됩니다. 프로젝트 폴더에 `.deel/config.json` 이 있으면 그쪽이 우선입니다.
|
|
1716
1865
|
|
|
1866
|
+
<details>
|
|
1867
|
+
<summary><b>자세히</b> — 붙는 서버 · 환경변수 · 실행 옵션 · 프로젝트 규칙</summary>
|
|
1868
|
+
|
|
1717
1869
|
### 붙는 서버
|
|
1718
1870
|
|
|
1719
1871
|
주소만 넣으면 규격을 알아서 찾습니다.
|
|
@@ -1760,6 +1912,8 @@ deel --no-tui 입력 상자를 끄고 줄 화면으로 (아래 참고
|
|
|
1760
1912
|
작업 폴더에 `DEEL.md` · `CLAUDE.md` · `AGENTS.md` 중 하나가 있으면 읽어서 규칙으로 씁니다.
|
|
1761
1913
|
`/init` 으로 틀을 만들 수 있습니다.
|
|
1762
1914
|
|
|
1915
|
+
</details>
|
|
1916
|
+
|
|
1763
1917
|
---
|
|
1764
1918
|
|
|
1765
1919
|
## 문제 해결
|
|
@@ -1838,6 +1992,9 @@ zip 은 진짜 `unzip` 으로, tar 는 진짜 `tar` 가 만든 것을 읽혀 교
|
|
|
1838
1992
|
| `no-bundle` | 12 | 배포 묶음에 남의 것이 안 섞였는가 · 검사 파일 위생 |
|
|
1839
1993
|
| `edit-bench` | 20건 | 편집 성공률 |
|
|
1840
1994
|
|
|
1995
|
+
<details>
|
|
1996
|
+
<summary><b>자세히</b> — 어디를 밟았는지 · 폴더 구조</summary>
|
|
1997
|
+
|
|
1841
1998
|
### 어디를 밟았는지
|
|
1842
1999
|
|
|
1843
2000
|
```bash
|
|
@@ -1863,40 +2020,194 @@ node test/coverage.mjs --json 기계가 읽을 형태로
|
|
|
1863
2020
|
```
|
|
1864
2021
|
bin/deel.js 진입점
|
|
1865
2022
|
src/
|
|
1866
|
-
|
|
2023
|
+
repl.js 대화 화면 — 사람이 마주하는 자리
|
|
2024
|
+
oneshot.js 한 번 돌리고 끝내기 (-p)
|
|
2025
|
+
commands.js / 명령 35종
|
|
2026
|
+
setup.js 처음 켤 때 연결 잡기
|
|
2027
|
+
config.js 설정 읽고 쓰기
|
|
2028
|
+
|
|
2029
|
+
ui/ansi.js 색 · 한글 폭 계산
|
|
1867
2030
|
ui/screen.js 화면 고르기 (줄 화면 / 상자 화면)
|
|
1868
|
-
ui/inputbox.js 맨 아래 입력 상자 —
|
|
2031
|
+
ui/inputbox.js 맨 아래 입력 상자 — 덮어 그리기·커서 자리
|
|
2032
|
+
ui/status.js 상태줄 — 모델·컨텍스트·모드·승인
|
|
1869
2033
|
ui/working.js 일하는 중 문구 — 지금 하는 일을 따라간다
|
|
2034
|
+
ui/motion.js 문구 옆에서 도는 점자 그림
|
|
1870
2035
|
ui/approve.js 승인 방식 표시 (자동/위험만/모두)
|
|
2036
|
+
ui/diff.js 고친 자리를 그 자리에서 보여 주기
|
|
1871
2037
|
ui/wrap.js 색을 지키며 폭에 맞춰 접기
|
|
2038
|
+
ui/level.js 쉬움 · 개발자
|
|
2039
|
+
|
|
1872
2040
|
agent/loop.js 에이전트 루프
|
|
1873
2041
|
agent/session.js 대화 상태 + 컨텍스트 셈
|
|
2042
|
+
agent/modes.js 작업 모드 (종합·코드·계획·설계·디버그·묻기·총괄)
|
|
2043
|
+
agent/route.js 말을 보고 알맞은 모드 고르기
|
|
1874
2044
|
agent/effort.js 단계별 추론 강도 배분
|
|
2045
|
+
agent/budget.js 창 크기에 맞춘 몫 — 읽을 줄·설명 길이·걸음 수
|
|
2046
|
+
agent/project.js 이 폴더가 무슨 프로젝트인지 읽기
|
|
1875
2047
|
agent/compact.js 요약 압축
|
|
1876
2048
|
agent/store.js 대화 저장·이어하기
|
|
1877
2049
|
agent/recall.js 지난 대화 찾기 (색인 없이, 예산 안에서)
|
|
1878
2050
|
agent/memory.js 대화가 끝나도 남는 것
|
|
2051
|
+
agent/mention.js `@파일` 붙이기
|
|
2052
|
+
|
|
1879
2053
|
backend/http.js HTTP 한 겹 (바깥으로 나가는 유일한 문)
|
|
1880
2054
|
backend/detect.js 규격·인증 자동 판별
|
|
1881
2055
|
backend/adapter.js OpenAI/Ollama 차이 흡수 + 스트리밍 파서
|
|
2056
|
+
backend/ctxsize.js 컨텍스트 길이를 모델에서 긁어오기
|
|
1882
2057
|
backend/probe.js 진단 검사 8종
|
|
1883
2058
|
backend/scan.js 로컬 서버 훑기
|
|
1884
2059
|
backend/mcp.js 밖에서 도구 붙이기 (MCP, stdio)
|
|
1885
|
-
|
|
2060
|
+
|
|
2061
|
+
tools/index.js 도구 15종
|
|
1886
2062
|
tools/edit-match.js 단계별 완화 편집 매칭
|
|
1887
|
-
tools/
|
|
2063
|
+
tools/outline.js 파일 모양만 싸게 보기
|
|
2064
|
+
tools/verify.js 만든 것 확인
|
|
2065
|
+
tools/task.js 큰 일을 떼어 따로 돌리기
|
|
2066
|
+
tools/jobs.js 뒤에서 도는 명령
|
|
1888
2067
|
tools/todo.js 할 일 목록
|
|
2068
|
+
tools/webfetch.js 웹 읽기 (읽기 전용)
|
|
2069
|
+
tools/encoding.js 읽은 인코딩 그대로 되돌려 쓰기
|
|
2070
|
+
tools/xlsx.js 엑셀 → CSV (직접 구현)
|
|
2071
|
+
|
|
2072
|
+
preview/serve.js 만든 웹 띄우기 (127.0.0.1 에만)
|
|
1889
2073
|
skills/discover.js 그 PC 의 스킬·명령·플러그인 찾기
|
|
1890
2074
|
plugins/manage.js 플러그인 설치·삭제·묶기
|
|
1891
2075
|
pack/zip.js ZIP 쓰기 (직접 구현, 한글 이름 보존)
|
|
1892
2076
|
pack/tar.js TAR 읽기 (직접 구현)
|
|
1893
2077
|
pack/selfpack.js 반입 심사서 + 소스 묶기
|
|
2078
|
+
|
|
1894
2079
|
safety/network.js 나가는 자리 자물쇠
|
|
1895
2080
|
safety/guard.js 작업 범위 + 위험 명령 차단
|
|
1896
2081
|
safety/undo.js 스냅샷·되돌리기
|
|
2082
|
+
safety/audit.js 무엇을 언제 했는지 남기기
|
|
1897
2083
|
test/ 검증 (배포 묶음에서 뺀다)
|
|
1898
2084
|
```
|
|
1899
2085
|
|
|
2086
|
+
</details>
|
|
2087
|
+
|
|
2088
|
+
---
|
|
2089
|
+
|
|
2090
|
+
## 릴리스 노트
|
|
2091
|
+
|
|
2092
|
+
<details>
|
|
2093
|
+
<summary><b>▸ 1.2.0 — 대화가 끊기지 않게</b> · 여섯 자리가 어떻게 바뀌었나</summary>
|
|
2094
|
+
|
|
2095
|
+
<br>
|
|
2096
|
+
|
|
2097
|
+
| | 전 | 후 |
|
|
2098
|
+
|---|---|---|
|
|
2099
|
+
| 이어받기 | 도구를 부르다 끊긴 대화는 **다시 안 열렸다** | 짝 안 맞는 호출을 걷어내고 연다 |
|
|
2100
|
+
| 토큰 셈 | 어림잡은 채로 끝까지 갔다 | 서버 실제값에 맞춰 간다 |
|
|
2101
|
+
| 자리 비우기 | 49턴이면 요약이 왔다 | **102턴**까지 간다 |
|
|
2102
|
+
| 곁가지 | 본줄기 컨텍스트에 그대로 쌓였다 | 딴 갈래에서 |
|
|
2103
|
+
| 어제 알아낸 것 | 끄면 사라졌다 | 다음에 켤 때 넘어온다 |
|
|
2104
|
+
| 답 화면 | `**굵게**` 가 글자로 보였다 | 그려진다 |
|
|
2105
|
+
|
|
2106
|
+
<br>
|
|
2107
|
+
|
|
2108
|
+
#### 1. 도구를 부르다 끊긴 대화가 다시 안 열리던 것
|
|
2109
|
+
|
|
2110
|
+
도구를 부르던 중에 창을 닫거나 <kbd>Ctrl</kbd>+<kbd>C</kbd> 로 끊으면, 적어 둔 대화에 **부름은 있고 결과가 없는 자리**가 남습니다. 다음에 `--resume` 으로 열면 서버가 그 짝을 문제 삼아 400 을 돌려줍니다 — 대화는 멀쩡히 적혀 있는데 이어서 갈 수가 없었습니다.
|
|
2111
|
+
|
|
2112
|
+
이제 열기 전에 짝을 맞춰 봅니다. 결과 없는 부름은 버리고, 부모 없는 결과도 버리고, **모델이 한 말은 남깁니다.**
|
|
2113
|
+
|
|
2114
|
+
```
|
|
2115
|
+
$ deel --resume 20260826-140217
|
|
2116
|
+
|
|
2117
|
+
✓ 20260826-140217 — 메시지 48개를 이어 받았습니다.
|
|
2118
|
+
중단된 도구 호출 2개를 걷어냈습니다 — 그때 하던 일은 다시 시켜 주세요.
|
|
2119
|
+
```
|
|
2120
|
+
|
|
2121
|
+
#### 2. 남은 자리를 잘못 알던 것
|
|
2122
|
+
|
|
2123
|
+
토큰 수는 글자 수로 어림잡습니다. 그런데 한국어·코드·JSON 이 섞이면 그 어림이 실제와 어긋나서, 자리가 남았는데 일찍 접거나 없는데 안 접어 서버가 거절했습니다.
|
|
2124
|
+
|
|
2125
|
+
이제 서버가 답마다 알려 주는 **실제값과 견줘 배수를 고쳐 갑니다.** `/context` 맨 아래에 한 줄로 뜹니다.
|
|
2126
|
+
|
|
2127
|
+
```
|
|
2128
|
+
서버가 알려 준 실제값에 맞춰 +12% 보정했습니다 (7번 재봄).
|
|
2129
|
+
```
|
|
2130
|
+
|
|
2131
|
+
이 배수는 모델별로 남아서 **다음에 켤 때 그 값으로 시작합니다.** 처음부터 다시 재지 않습니다.
|
|
2132
|
+
|
|
2133
|
+
#### 3. 요약이 너무 일찍 오던 것
|
|
2134
|
+
|
|
2135
|
+
창의 80% 가 차면 앞 대화를 요약으로 접습니다. 요약은 **되돌릴 수 없고**, 판단의 근거였던 파일 내용이 통째로 사라집니다.
|
|
2136
|
+
|
|
2137
|
+
그 전에 한 단계를 넣었습니다. 55% 에서 **오래된 도구 결과만** 먼저 접습니다 — 최근 4개는 안 건드립니다. 모델이 한 말과 사람이 한 말도 하나도 안 건드립니다.
|
|
2138
|
+
|
|
2139
|
+
```
|
|
2140
|
+
◲ 오래된 도구 결과 6개를 접었습니다 (2,148 토큰을 비움)
|
|
2141
|
+
```
|
|
2142
|
+
|
|
2143
|
+
접힌 자리에는 무엇이었는지가 남습니다.
|
|
2144
|
+
|
|
2145
|
+
```
|
|
2146
|
+
(접힘) Read(src/runner.js) — 61줄. 자리를 비우려고 내용을 접었습니다. 필요하면 다시 읽으세요.
|
|
2147
|
+
```
|
|
2148
|
+
|
|
2149
|
+
같은 대화를 흘려보내며 재 봤습니다 — 요약이 오는 시점이 **49턴 → 102턴, 2.1배** 늦춰집니다.
|
|
2150
|
+
|
|
2151
|
+
#### 4. 곁가지가 본줄기를 더럽히던 것
|
|
2152
|
+
|
|
2153
|
+
"이것만 잠깐 봐 줘" 한 마디가 본줄기 컨텍스트에 그대로 쌓입니다. 확인이 끝나도 그 말은 안 없어집니다.
|
|
2154
|
+
|
|
2155
|
+
```
|
|
2156
|
+
/thread new 로그확인
|
|
2157
|
+
⑂ 로그확인 갈래로 왔습니다. 빈 대화입니다
|
|
2158
|
+
본줄기로 돌아가려면 /thread 1
|
|
2159
|
+
```
|
|
2160
|
+
|
|
2161
|
+
`fork` 로 갈라 나오면 여기까지 오간 말을 물려받습니다. 갈래끼리 **나뉘는 것은 오간 말·토큰·할 일**이고, **같이 쓰는 것은 연결·되돌리기·감사기록**입니다 — 갈래에서 고친 파일도 `/undo` 로 그대로 되돌아갑니다. 갈래가 둘 이상일 때만 상태줄에 `⑂` 가 뜹니다.
|
|
2162
|
+
|
|
2163
|
+
#### 5. 어제 알아낸 것이 오늘 또 사라지던 것
|
|
2164
|
+
|
|
2165
|
+
`pnpm` 이 이 PC 에 없다는 걸 알아내도 끄면 사라졌습니다. 내일 또 부르고, 또 실패하고, 또 우회합니다.
|
|
2166
|
+
|
|
2167
|
+
```
|
|
2168
|
+
/learned
|
|
2169
|
+
── 겪어 본 것 ──────────────────────────────────────
|
|
2170
|
+
|
|
2171
|
+
이 폴더에서 돌려 본 명령
|
|
2172
|
+
✓ npm test 됨 12 · 안 됨 0
|
|
2173
|
+
✗ pnpm 됨 0 · 안 됨 3
|
|
2174
|
+
|
|
2175
|
+
이 모델에 대해 qwen2.5-coder:7b
|
|
2176
|
+
같이 걸어 본 걸음 86
|
|
2177
|
+
인자가 잘림 14 (16%)
|
|
2178
|
+
토큰 추정 보정 ×1.12
|
|
2179
|
+
|
|
2180
|
+
이 중 프롬프트에 실리는 것
|
|
2181
|
+
- 여기서 되는 명령: `npm test`
|
|
2182
|
+
- 이 PC 에서 안 되는 명령(다시 부르지 마라): `pnpm`
|
|
2183
|
+
```
|
|
2184
|
+
|
|
2185
|
+
**학습이 아닙니다.** 모델을 고치지도, 대화를 쌓아 두지도 않습니다 — 그러면 컨텍스트만 먹습니다. 세어 두기만 하고, **두 번 이상 겪은 것만**, 다 합쳐 **220토큰 안에서** 넘깁니다. 한 번 겪은 것은 우연일 수 있고, 우연을 사실처럼 적으면 모델이 되는 길을 두고 우회합니다.
|
|
2186
|
+
|
|
2187
|
+
되는 명령은 폴더(`.deel/배운것.json`)에, 모델 버릇은 설정 폴더에 따로 둡니다. 그래서 **폴더를 옮겨도 모델에 대해 알아낸 것은 따라옵니다.** `/learned 지우기` 로 언제든 비웁니다.
|
|
2188
|
+
|
|
2189
|
+
#### 6. 답이 글자 그대로 보이던 것
|
|
2190
|
+
|
|
2191
|
+
모델은 마크다운으로 말하는데 화면은 그걸 몰라서, 별표와 백틱과 우물정자가 글에 섞여 나왔습니다. 무엇이 제목이고 무엇이 코드인지 사람이 머릿속에서 다시 읽어야 했습니다.
|
|
2192
|
+
|
|
2193
|
+
```
|
|
2194
|
+
전 후
|
|
2195
|
+
▌ ## 고친 것 ▌ ▍ 고친 것
|
|
2196
|
+
▌ **src/runner.js** 의 `console.log` ▌ src/runner.js 의 console.log
|
|
2197
|
+
▌ - [ ] 남은 것: `src/worker.js` ▌ ☐ 남은 것: src/worker.js
|
|
2198
|
+
▌ ```js ▌ ┌──────────────── js
|
|
2199
|
+
▌ log.info('시작', { id }) ▌ │ log.info('시작', { id })
|
|
2200
|
+
▌ |---|---| ▌ ┼────────┼─────────┼
|
|
2201
|
+
```
|
|
2202
|
+
|
|
2203
|
+
답은 토막토막 흘러오므로 **줄이 끝나야** 그릴 수 있습니다. 그런데 문단 하나가 통째로 한 줄이면 몇 초 동안 화면이 멈춘 것처럼 보입니다 — 그래서 한 줄이 화면 폭을 넘게 길어지면 거기까지를 **날것 그대로 흘려보냅니다.** 모양보다 '살아 있다' 가 먼저입니다.
|
|
2204
|
+
|
|
2205
|
+
<br>
|
|
2206
|
+
|
|
2207
|
+
검사 2,532 → **2,578개** · 48/48 파일. 지난 판들은 [태그](https://github.com/jysvai/deel-local-cli/tags)에서 봅니다.
|
|
2208
|
+
|
|
2209
|
+
</details>
|
|
2210
|
+
|
|
1900
2211
|
---
|
|
1901
2212
|
|
|
1902
2213
|
## 라이선스
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "deel-local-cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "로컬 모델·사내 게이트웨이 전용 코딩 에이전트 CLI — 외부 의존성 0개 / Zero-dependency coding agent CLI for local LLMs and private gateways",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"verify": "node test/no-bundle.test.js && node test/network.test.js && node test/web.test.js",
|
|
47
47
|
"bench": "node test/edit-bench.js",
|
|
48
48
|
"demo": "node test/demo.js",
|
|
49
|
-
"check": "node --check bin/deel.js && node --check src/repl.js && node --check src/oneshot.js && node --check src/commands.js && node --check src/agent/loop.js && node --check src/agent/session.js && node --check src/agent/effort.js && node --check src/agent/modes.js && node --check src/agent/route.js && node --check src/agent/mention.js && node --check src/agent/project.js && node --check src/tools/encoding.js && node --check src/tools/excel-com.js && node --check src/tools/excel.js && node --check src/tools/xlsx.js && node --check src/agent/compact.js && node --check src/agent/store.js && node --check src/agent/sessionui.js && node --check src/backend/adapter.js && node --check src/backend/ctxsize.js && node --check src/backend/probe.js && node --check src/backend/detect.js && node --check src/backend/http.js && node --check src/backend/scan.js && node --check src/backend/scanui.js && node --check src/tools/index.js && node --check src/tools/fsutil.js && node --check src/tools/edit-match.js && node --check src/tools/webfetch.js && node --check src/tools/todo.js && node --check src/tools/jobs.js && node --check src/skills/discover.js && node --check src/plugins/manage.js && node --check src/pack/zip.js && node --check src/pack/tar.js && node --check src/pack/selfpack.js && node --check src/safety/guard.js && node --check src/safety/undo.js && node --check src/safety/audit.js && node --check src/safety/network.js && node --check src/setup.js && node --check src/report.js && node --check src/config.js && node --check src/ui/diff.js && node --check src/ui/ansi.js && node --check src/ui/status.js && node --check src/ui/level.js && node --check src/ui/prompt.js && node --check src/ui/spinner.js && echo OK",
|
|
49
|
+
"check": "node --check bin/deel.js && node --check src/repl.js && node --check src/oneshot.js && node --check src/commands.js && node --check src/agent/loop.js && node --check src/agent/session.js && node --check src/agent/effort.js && node --check src/agent/modes.js && node --check src/agent/route.js && node --check src/agent/mention.js && node --check src/agent/project.js && node --check src/tools/encoding.js && node --check src/tools/excel-com.js && node --check src/tools/excel.js && node --check src/tools/xlsx.js && node --check src/agent/compact.js && node --check src/agent/store.js && node --check src/agent/sessionui.js && node --check src/backend/adapter.js && node --check src/backend/ctxsize.js && node --check src/backend/probe.js && node --check src/backend/detect.js && node --check src/backend/http.js && node --check src/backend/scan.js && node --check src/backend/scanui.js && node --check src/tools/index.js && node --check src/tools/fsutil.js && node --check src/tools/edit-match.js && node --check src/tools/webfetch.js && node --check src/tools/todo.js && node --check src/tools/jobs.js && node --check src/skills/discover.js && node --check src/plugins/manage.js && node --check src/pack/zip.js && node --check src/pack/tar.js && node --check src/pack/selfpack.js && node --check src/safety/guard.js && node --check src/safety/undo.js && node --check src/safety/audit.js && node --check src/safety/network.js && node --check src/setup.js && node --check src/report.js && node --check src/config.js && node --check src/ui/diff.js && node --check src/ui/ansi.js && node --check src/ui/status.js && node --check src/ui/level.js && node --check src/ui/prompt.js && node --check src/ui/spinner.js && node --check src/ui/motion.js && node --check src/preview/serve.js && node --check src/ui/working.js && node --check src/ui/inputbox.js && node --check src/ui/md.js && node --check src/agent/threads.js && node --check src/agent/evolve.js && echo OK",
|
|
50
50
|
"coverage": "node test/coverage.mjs",
|
|
51
51
|
"prepublishOnly": "npm run check && npm test"
|
|
52
52
|
},
|
package/src/agent/budget.js
CHANGED
|
@@ -151,17 +151,3 @@ export function 설명길이(ctx) {
|
|
|
151
151
|
return 90; // 8k 언저리. 첫 문장 하나만 남는다
|
|
152
152
|
}
|
|
153
153
|
|
|
154
|
-
/** `/ctx` 에서 지금 값이 얼마인지 보여 주려고 한데 모아 준다. */
|
|
155
|
-
export function 지금값(ctx, 모드id = 'auto') {
|
|
156
|
-
return {
|
|
157
|
-
걸음: 걸음수(모드id, ctx),
|
|
158
|
-
하위걸음: 하위걸음수(모드id, ctx),
|
|
159
|
-
읽기: 읽을줄수(ctx),
|
|
160
|
-
찾기: 찾을개수(ctx),
|
|
161
|
-
훑기: 찾을줄수(ctx),
|
|
162
|
-
뼈대: 뼈대줄수(ctx),
|
|
163
|
-
웹: 웹글자수(ctx),
|
|
164
|
-
도구설명: 설명길이(ctx),
|
|
165
|
-
요약: 요약길이(ctx),
|
|
166
|
-
};
|
|
167
|
-
}
|