@baryonlabs/cli 0.1.1 → 0.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.md +12 -1
- package/bin/baryon.js +4 -0
- package/package.json +1 -1
- package/src/commands.js +49 -0
- package/src/constants.js +13 -0
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> Baryon CLI — **AI 코딩·학습 에이전트**. `baryon.ai` API에 기본 연결된 [pi](https://www.npmjs.com/package/@earendil-works/pi-coding-agent) 코딩 에이전트 래퍼.
|
|
4
4
|
|
|
5
|
-
한 줄 설치, 별도 키 설정 없이 시작, 상용·로컬 모델 무중단 전환. 교육기관
|
|
5
|
+
한 줄 설치, 별도 키 설정 없이 시작, 상용·로컬 모델 무중단 전환. 교육기관 및 기업 사내 AI 인프라(온프레미스) 구축용으로 설계되었습니다.
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
npm install -g @baryonlabs/cli # 또는 pnpm / yarn / bun
|
|
@@ -34,6 +34,7 @@ curl -fsSL https://cli.baryon.ai/install.sh | sh
|
|
|
34
34
|
| `baryon setup` | API 키 등록 + pi 프로바이더 구성 |
|
|
35
35
|
| `baryon config` | 현재 설정 보기 (`--key`, `--base-url`, `--model` 로 변경) |
|
|
36
36
|
| `baryon models` | 사용 가능한 모델 목록 (`pi --list-models` 패스스루) |
|
|
37
|
+
| `baryon extensions` | 기본 확장 설치(서브에이전트·캔버스·셸·웹), `list` 로 목록 |
|
|
37
38
|
| `baryon doctor` | 설치·연결 진단 |
|
|
38
39
|
| `baryon update` | CLI + pi 에이전트 업데이트 |
|
|
39
40
|
| `baryon help` | 도움말 |
|
|
@@ -46,6 +47,16 @@ baryon @report.md "요약해줘" # 파일 첨부
|
|
|
46
47
|
baryon --provider openai # 다른 모델로 전환·비교
|
|
47
48
|
```
|
|
48
49
|
|
|
50
|
+
## 기본 탑재 확장
|
|
51
|
+
|
|
52
|
+
`baryon setup` 시 아래 pi 확장이 자동 설치되어 바로 쓸 수 있습니다(`--no-extensions` 로 건너뛰기, `baryon extensions` 로 재설치):
|
|
53
|
+
|
|
54
|
+
- **서브에이전트** — 작업 분해·위임·통합 ([pi-subagents](https://github.com/nicobailon/pi-subagents))
|
|
55
|
+
- **캔버스** ([pi-canvas](https://github.com/jyaunches/pi-canvas))
|
|
56
|
+
- **인터랙티브 셸** ([pi-interactive-shell](https://github.com/nicobailon/pi-interactive-shell))
|
|
57
|
+
- **웹 액세스** ([pi-web-access](https://github.com/nicobailon/pi-web-access))
|
|
58
|
+
- **웹 페치** ([pi-web-fetch](https://github.com/georgebashi/pi-web-fetch))
|
|
59
|
+
|
|
49
60
|
## 설정
|
|
50
61
|
|
|
51
62
|
| 항목 | 기본값 | 재정의 |
|
package/bin/baryon.js
CHANGED
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
models,
|
|
8
8
|
configCmd,
|
|
9
9
|
keys,
|
|
10
|
+
extensions,
|
|
10
11
|
update,
|
|
11
12
|
help,
|
|
12
13
|
welcome,
|
|
@@ -51,6 +52,9 @@ async function main() {
|
|
|
51
52
|
case "keys":
|
|
52
53
|
case "key":
|
|
53
54
|
return keys();
|
|
55
|
+
case "extensions":
|
|
56
|
+
case "ext":
|
|
57
|
+
return extensions(rest);
|
|
54
58
|
case "update":
|
|
55
59
|
case "upgrade":
|
|
56
60
|
return update();
|
package/package.json
CHANGED
package/src/commands.js
CHANGED
|
@@ -10,8 +10,10 @@ import {
|
|
|
10
10
|
BARYON_CONFIG,
|
|
11
11
|
PI_MODELS_JSON,
|
|
12
12
|
} from "./config.js";
|
|
13
|
+
import { spawnSync } from "node:child_process";
|
|
13
14
|
import {
|
|
14
15
|
DEFAULT_BASE_URL,
|
|
16
|
+
DEFAULT_EXTENSIONS,
|
|
15
17
|
DEFAULT_MODELS,
|
|
16
18
|
HOMEPAGE,
|
|
17
19
|
KEYS_URL,
|
|
@@ -80,6 +82,12 @@ export async function setup(args) {
|
|
|
80
82
|
const file = syncPiModels({ baseUrl, models });
|
|
81
83
|
ok(`pi 프로바이더 ${c.lime(PROVIDER)} 구성 → ${c.dim(file)}`);
|
|
82
84
|
|
|
85
|
+
if (flags["no-extensions"]) {
|
|
86
|
+
info("기본 확장 설치 건너뜀 (--no-extensions)");
|
|
87
|
+
} else {
|
|
88
|
+
installDefaults();
|
|
89
|
+
}
|
|
90
|
+
|
|
83
91
|
log(`\n ${sym.ok} 준비 완료. ${c.lime("baryon")} 으로 시작하세요.\n`);
|
|
84
92
|
return 0;
|
|
85
93
|
}
|
|
@@ -208,6 +216,46 @@ export function update() {
|
|
|
208
216
|
});
|
|
209
217
|
}
|
|
210
218
|
|
|
219
|
+
export function installDefaults() {
|
|
220
|
+
const entry = resolvePiEntry();
|
|
221
|
+
|
|
222
|
+
if (!entry) {
|
|
223
|
+
warn(`${PI_PACKAGE} 미설치 — 확장 건너뜀`);
|
|
224
|
+
return 0;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
log(` ${sym.info} 기본 확장 설치 중 (${DEFAULT_EXTENSIONS.length}종 · git clone, 잠시 걸립니다)…`);
|
|
228
|
+
let okc = 0;
|
|
229
|
+
|
|
230
|
+
for (const e of DEFAULT_EXTENSIONS) {
|
|
231
|
+
const r = spawnSync(process.execPath, [entry, "install", e.src], { encoding: "utf8" });
|
|
232
|
+
|
|
233
|
+
if (r.status === 0) {
|
|
234
|
+
ok(`${e.name} — ${e.note}`);
|
|
235
|
+
okc++;
|
|
236
|
+
} else {
|
|
237
|
+
warn(`${e.name} 설치 실패(네트워크/git 확인) — 건너뜀`);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
log(` ${sym.ok} 확장 ${okc}/${DEFAULT_EXTENSIONS.length} 설치`);
|
|
242
|
+
return okc;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
export function extensions(args) {
|
|
246
|
+
const sub = args[0];
|
|
247
|
+
|
|
248
|
+
if (sub === "list" || sub === "ls") {
|
|
249
|
+
return runPi(["list"], loadConfig(), { injectTargeting: false })
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
banner();
|
|
253
|
+
log(c.bold(" Baryon 기본 확장\n"));
|
|
254
|
+
installDefaults()
|
|
255
|
+
log(`\n ${sym.info} 목록: ${c.lime("baryon extensions list")} · 제거: ${c.lime("baryon -- remove <src>")}\n`)
|
|
256
|
+
return 0;
|
|
257
|
+
}
|
|
258
|
+
|
|
211
259
|
export function help() {
|
|
212
260
|
banner();
|
|
213
261
|
log(`${c.bold("USAGE")}
|
|
@@ -218,6 +266,7 @@ ${c.bold("COMMANDS")}
|
|
|
218
266
|
${c.lime("baryon keys")} 키 발급·관리 대시보드 열기 ${c.dim("(vibecamp.us)")}
|
|
219
267
|
${c.lime("baryon config")} 현재 설정 보기 ${c.dim("(--key/--base-url/--model 로 변경)")}
|
|
220
268
|
${c.lime("baryon models")} 사용 가능한 모델 목록
|
|
269
|
+
${c.lime("baryon extensions")} 기본 확장 설치(서브에이전트·캔버스·셸·웹) ${c.dim("· list 로 목록")}
|
|
221
270
|
${c.lime("baryon doctor")} 설치·연결 진단
|
|
222
271
|
${c.lime("baryon update")} CLI + pi 에이전트 업데이트
|
|
223
272
|
${c.lime("baryon help")} 이 도움말
|
package/src/constants.js
CHANGED
|
@@ -47,6 +47,19 @@ export const DEFAULT_MODELS = [
|
|
|
47
47
|
},
|
|
48
48
|
];
|
|
49
49
|
|
|
50
|
+
/**
|
|
51
|
+
* Extensions installed by default so `baryon` ships with sub-agents, a canvas,
|
|
52
|
+
* an interactive shell, and web access/fetch out of the box. Installed via
|
|
53
|
+
* `pi install <src>` into ~/.pi/agent/settings.json (loaded on startup).
|
|
54
|
+
*/
|
|
55
|
+
export const DEFAULT_EXTENSIONS = [
|
|
56
|
+
{ name: "pi-subagents", src: "https://github.com/nicobailon/pi-subagents", note: "서브에이전트(작업 분해·위임·통합)" },
|
|
57
|
+
{ name: "pi-canvas", src: "https://github.com/jyaunches/pi-canvas", note: "캔버스" },
|
|
58
|
+
{ name: "pi-interactive-shell", src: "https://github.com/nicobailon/pi-interactive-shell", note: "인터랙티브 셸" },
|
|
59
|
+
{ name: "pi-web-access", src: "https://github.com/nicobailon/pi-web-access", note: "웹 액세스(브라우징)" },
|
|
60
|
+
{ name: "pi-web-fetch", src: "https://github.com/georgebashi/pi-web-fetch", note: "웹 페치" }
|
|
61
|
+
];
|
|
62
|
+
|
|
50
63
|
export const HOMEPAGE = "https://cli.baryon.ai";
|
|
51
64
|
export const SUPPORT_EMAIL = "support@baryon.ai";
|
|
52
65
|
|