@baryonlabs/cli 0.4.1 → 0.4.2
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/package.json +1 -1
- package/src/commands.js +5 -1
- package/src/constants.js +23 -8
- package/src/index.js +15 -3
package/package.json
CHANGED
package/src/commands.js
CHANGED
|
@@ -27,6 +27,7 @@ import {
|
|
|
27
27
|
KEY_PREFIX,
|
|
28
28
|
PI_PACKAGE,
|
|
29
29
|
PI_SKILLS_DIR,
|
|
30
|
+
PREFERRED_DEFAULT_MODEL,
|
|
30
31
|
PROVIDER,
|
|
31
32
|
SKILLS_REPO,
|
|
32
33
|
SUPPORT_EMAIL,
|
|
@@ -92,7 +93,10 @@ export async function setup(args) {
|
|
|
92
93
|
warn(t("setup.modelsFailed", { count: models.length }));
|
|
93
94
|
}
|
|
94
95
|
|
|
95
|
-
|
|
96
|
+
// 두루(baryon-duru)가 카탈로그에 있으면 기본 모델로, 없으면 첫 항목.
|
|
97
|
+
const defaultModel =
|
|
98
|
+
(models.find((m) => m.id === PREFERRED_DEFAULT_MODEL) || models[0]).id;
|
|
99
|
+
saveConfig({ defaultModel });
|
|
96
100
|
const file = syncPiModels({ baseUrl, models });
|
|
97
101
|
ok(t("setup.providerConfigured", { provider: c.lime(PROVIDER), file: c.dim(file) }));
|
|
98
102
|
|
package/src/constants.js
CHANGED
|
@@ -58,26 +58,41 @@ export const PI_SKILLS_DIR = path.join(PI_AGENT_DIR, "skills");
|
|
|
58
58
|
* Fallback model catalog used when /models discovery is unavailable
|
|
59
59
|
* (e.g. offline setup). Institutions adjust these to match their plan.
|
|
60
60
|
* `context` / `max` are conservative defaults; pi tolerates overrides.
|
|
61
|
+
*
|
|
62
|
+
* Baryon 3-tier lineup (기준: baryon-ai-api docs/MODELS.md — 이름은 계약,
|
|
63
|
+
* 실제 업스트림 모델은 게이트웨이 라우팅으로 조절):
|
|
64
|
+
* 그저(geujeo) 단순·빠름 · 두루(duru) 범용 기본 · 그루(guru) 사고·기획.
|
|
61
65
|
*/
|
|
62
66
|
export const DEFAULT_MODELS = [
|
|
63
67
|
{
|
|
64
|
-
id: "baryon-
|
|
65
|
-
name: "
|
|
66
|
-
reasoning:
|
|
68
|
+
id: "baryon-duru",
|
|
69
|
+
name: "두루 (Duru) — 범용",
|
|
70
|
+
reasoning: false,
|
|
67
71
|
input: ["text", "image"],
|
|
68
|
-
contextWindow:
|
|
69
|
-
maxTokens:
|
|
72
|
+
contextWindow: 200000,
|
|
73
|
+
maxTokens: 8192,
|
|
70
74
|
},
|
|
71
75
|
{
|
|
72
|
-
id: "baryon-
|
|
73
|
-
name: "
|
|
76
|
+
id: "baryon-geujeo",
|
|
77
|
+
name: "그저 (Geujeo) — 단순·빠름",
|
|
74
78
|
reasoning: false,
|
|
75
79
|
input: ["text"],
|
|
76
|
-
contextWindow:
|
|
80
|
+
contextWindow: 262144,
|
|
77
81
|
maxTokens: 8192,
|
|
78
82
|
},
|
|
83
|
+
{
|
|
84
|
+
id: "baryon-guru",
|
|
85
|
+
name: "그루 (Guru) — 사고·기획",
|
|
86
|
+
reasoning: true,
|
|
87
|
+
input: ["text", "image"],
|
|
88
|
+
contextWindow: 200000,
|
|
89
|
+
maxTokens: 16384,
|
|
90
|
+
},
|
|
79
91
|
];
|
|
80
92
|
|
|
93
|
+
/** Preferred default model when present in a discovered catalog (두루). */
|
|
94
|
+
export const PREFERRED_DEFAULT_MODEL = "baryon-duru";
|
|
95
|
+
|
|
81
96
|
/**
|
|
82
97
|
* Extensions installed by default so `baryon` ships with sub-agents, a canvas,
|
|
83
98
|
* an interactive shell, and web access/search out of the box. Installed via
|
package/src/index.js
CHANGED
|
@@ -11,9 +11,20 @@ import {
|
|
|
11
11
|
syncPiModels,
|
|
12
12
|
piProviderConfigured,
|
|
13
13
|
} from "./config.js";
|
|
14
|
-
import {
|
|
14
|
+
import {
|
|
15
|
+
DEFAULT_BASE_URL,
|
|
16
|
+
DEFAULT_MODELS,
|
|
17
|
+
PREFERRED_DEFAULT_MODEL,
|
|
18
|
+
PROVIDER,
|
|
19
|
+
} from "./constants.js";
|
|
15
20
|
import { runPi, resolvePiEntry } from "./pi.js";
|
|
16
21
|
|
|
22
|
+
/** Default model for a catalog: 두루(baryon-duru) when present, else first. */
|
|
23
|
+
export function pickDefaultModel(models) {
|
|
24
|
+
const preferred = models.find((m) => m.id === PREFERRED_DEFAULT_MODEL);
|
|
25
|
+
return (preferred || models[0]).id;
|
|
26
|
+
}
|
|
27
|
+
|
|
17
28
|
/**
|
|
18
29
|
* Configure the baryon provider: persist key/baseUrl, discover (or default)
|
|
19
30
|
* models, and write pi's models.json. Returns the resolved config + model ids.
|
|
@@ -21,9 +32,10 @@ import { runPi, resolvePiEntry } from "./pi.js";
|
|
|
21
32
|
export async function configure({ apiKey, baseUrl = DEFAULT_BASE_URL } = {}) {
|
|
22
33
|
if (apiKey) saveConfig({ apiKey, baseUrl });
|
|
23
34
|
const models = (apiKey && (await discoverModels(baseUrl, apiKey))) || DEFAULT_MODELS;
|
|
24
|
-
|
|
35
|
+
const defaultModel = pickDefaultModel(models);
|
|
36
|
+
saveConfig({ defaultModel });
|
|
25
37
|
syncPiModels({ baseUrl, models });
|
|
26
|
-
return { baseUrl, models: models.map((m) => m.id), defaultModel
|
|
38
|
+
return { baseUrl, models: models.map((m) => m.id), defaultModel };
|
|
27
39
|
}
|
|
28
40
|
|
|
29
41
|
/** Launch pi with the current baryon config. Resolves to the exit code. */
|