jishushell 0.4.2 → 0.4.17

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.
Files changed (136) hide show
  1. package/Dockerfile.openclaw-slim +58 -0
  2. package/INSTALL-NOTICE +45 -0
  3. package/dist/auth.js +3 -3
  4. package/dist/auth.js.map +1 -1
  5. package/dist/cli/app.d.ts +3 -0
  6. package/dist/cli/app.js +156 -0
  7. package/dist/cli/app.js.map +1 -0
  8. package/dist/{doctor.d.ts → cli/doctor.d.ts} +6 -1
  9. package/dist/{doctor.js → cli/doctor.js} +389 -27
  10. package/dist/cli/doctor.js.map +1 -0
  11. package/dist/cli/helpers.d.ts +4 -0
  12. package/dist/cli/helpers.js +32 -0
  13. package/dist/cli/helpers.js.map +1 -0
  14. package/dist/cli/job.d.ts +3 -0
  15. package/dist/cli/job.js +260 -0
  16. package/dist/cli/job.js.map +1 -0
  17. package/dist/cli/llm.d.ts +24 -0
  18. package/dist/cli/llm.js +593 -0
  19. package/dist/cli/llm.js.map +1 -0
  20. package/dist/cli/openclaw.d.ts +12 -0
  21. package/dist/cli/openclaw.js +156 -0
  22. package/dist/cli/openclaw.js.map +1 -0
  23. package/dist/cli/panel.d.ts +25 -0
  24. package/dist/cli/panel.js +734 -0
  25. package/dist/cli/panel.js.map +1 -0
  26. package/dist/cli.js +476 -219
  27. package/dist/cli.js.map +1 -1
  28. package/dist/config.d.ts +22 -4
  29. package/dist/config.js +96 -55
  30. package/dist/config.js.map +1 -1
  31. package/dist/control.d.ts +13 -41
  32. package/dist/control.js +12 -1355
  33. package/dist/control.js.map +1 -1
  34. package/dist/install.d.ts +1 -1
  35. package/dist/install.js +15 -29
  36. package/dist/install.js.map +1 -1
  37. package/dist/routes/apps.d.ts +3 -0
  38. package/dist/routes/apps.js +99 -0
  39. package/dist/routes/apps.js.map +1 -0
  40. package/dist/routes/backup.d.ts +2 -0
  41. package/dist/routes/backup.js +370 -0
  42. package/dist/routes/backup.js.map +1 -0
  43. package/dist/routes/instances.d.ts +1 -0
  44. package/dist/routes/instances.js +61 -15
  45. package/dist/routes/instances.js.map +1 -1
  46. package/dist/routes/llm.d.ts +15 -0
  47. package/dist/routes/llm.js +246 -0
  48. package/dist/routes/llm.js.map +1 -0
  49. package/dist/routes/setup.js +32 -7
  50. package/dist/routes/setup.js.map +1 -1
  51. package/dist/routes/system.js +31 -6
  52. package/dist/routes/system.js.map +1 -1
  53. package/dist/server.js +69 -5
  54. package/dist/server.js.map +1 -1
  55. package/dist/services/app-compiler.d.ts +15 -0
  56. package/dist/services/app-compiler.js +169 -0
  57. package/dist/services/app-compiler.js.map +1 -0
  58. package/dist/services/app-manager.d.ts +17 -0
  59. package/dist/services/app-manager.js +168 -0
  60. package/dist/services/app-manager.js.map +1 -0
  61. package/dist/services/backup-manager.d.ts +253 -0
  62. package/dist/services/backup-manager.js +2014 -0
  63. package/dist/services/backup-manager.js.map +1 -0
  64. package/dist/services/backup-verify.d.ts +26 -0
  65. package/dist/services/backup-verify.js +240 -0
  66. package/dist/services/backup-verify.js.map +1 -0
  67. package/dist/services/instance-manager.d.ts +73 -5
  68. package/dist/services/instance-manager.js +446 -74
  69. package/dist/services/instance-manager.js.map +1 -1
  70. package/dist/services/job-manager.d.ts +22 -0
  71. package/dist/services/job-manager.js +102 -0
  72. package/dist/services/job-manager.js.map +1 -0
  73. package/dist/services/llm-proxy/adapters.js +5 -1
  74. package/dist/services/llm-proxy/adapters.js.map +1 -1
  75. package/dist/services/llm-proxy/index.d.ts +30 -0
  76. package/dist/services/llm-proxy/index.js +71 -1
  77. package/dist/services/llm-proxy/index.js.map +1 -1
  78. package/dist/services/llm-proxy/ssrf.js +1 -1
  79. package/dist/services/llm-proxy/ssrf.js.map +1 -1
  80. package/dist/services/nomad-manager.js +263 -159
  81. package/dist/services/nomad-manager.js.map +1 -1
  82. package/dist/services/panel-manager.d.ts +40 -0
  83. package/dist/services/panel-manager.js +346 -0
  84. package/dist/services/panel-manager.js.map +1 -0
  85. package/dist/services/process-manager.js +24 -10
  86. package/dist/services/process-manager.js.map +1 -1
  87. package/dist/services/setup-manager.d.ts +4 -2
  88. package/dist/services/setup-manager.js +578 -154
  89. package/dist/services/setup-manager.js.map +1 -1
  90. package/dist/services/telemetry/activation.js +10 -7
  91. package/dist/services/telemetry/activation.js.map +1 -1
  92. package/dist/services/telemetry/client.js +7 -18
  93. package/dist/services/telemetry/client.js.map +1 -1
  94. package/dist/services/telemetry/heartbeat.js +12 -6
  95. package/dist/services/telemetry/heartbeat.js.map +1 -1
  96. package/dist/services/update-manager.d.ts +47 -0
  97. package/dist/services/update-manager.js +305 -0
  98. package/dist/services/update-manager.js.map +1 -0
  99. package/dist/types.d.ts +62 -0
  100. package/dist/utils/fs.d.ts +85 -0
  101. package/dist/utils/fs.js +111 -0
  102. package/dist/utils/fs.js.map +1 -0
  103. package/dist/utils/safe-json.d.ts +2 -0
  104. package/dist/utils/safe-json.js +22 -16
  105. package/dist/utils/safe-json.js.map +1 -1
  106. package/install/jishu-install.sh +582 -138
  107. package/install/jishu-uninstall.sh +276 -391
  108. package/install/post-install.sh +85 -3
  109. package/openclaw-entry.sh +15 -0
  110. package/package.json +12 -5
  111. package/public/assets/Dashboard-CQsp1Mr9.js +1 -0
  112. package/public/assets/InitPassword-BEC8SE4A.js +1 -0
  113. package/public/assets/InstanceDetail-B5wTgNEg.js +17 -0
  114. package/public/assets/{Login-RkjzTNWg.js → Login-D1Bt-Lyk.js} +1 -1
  115. package/public/assets/NewInstance-GQzm3K9D.js +1 -0
  116. package/public/assets/Settings-ByjGlqhP.js +1 -0
  117. package/public/assets/Setup-cMF21Y-8.js +1 -0
  118. package/public/assets/index-B6qQP4mH.css +1 -0
  119. package/public/assets/index-BuTQtuNy.js +16 -0
  120. package/public/assets/logo-black-theme-DywLAtFy.png +0 -0
  121. package/public/assets/logo-white-theme-DXffFAWw.png +0 -0
  122. package/public/assets/{providers-lBSOjUWy.js → providers-V-vwrExZ.js} +1 -1
  123. package/public/assets/{usePolling-CqQ8hrNc.js → usePolling-CK0DfI4h.js} +1 -1
  124. package/public/assets/{vendor-i18n-Bvxxh8Di.js → vendor-i18n-CfW0RvgE.js} +1 -1
  125. package/public/assets/vendor-react-B1-3Yrt-.js +59 -0
  126. package/public/index.html +4 -4
  127. package/dist/doctor.js.map +0 -1
  128. package/public/assets/Dashboard-CAOQDYDR.js +0 -1
  129. package/public/assets/InitPassword-CkehIkJG.js +0 -1
  130. package/public/assets/InstanceDetail-CzW2S95J.js +0 -14
  131. package/public/assets/NewInstance-DdbErdjA.js +0 -1
  132. package/public/assets/Settings-BUD7zwv9.js +0 -1
  133. package/public/assets/Setup-RRTIERGG.js +0 -1
  134. package/public/assets/index-77Ug7feY.css +0 -1
  135. package/public/assets/index-DfRnVUQR.js +0 -16
  136. package/public/assets/vendor-react-DONn7uBV.js +0 -59
@@ -0,0 +1,32 @@
1
+ export function cliError(err) {
2
+ console.error(err.message || err);
3
+ process.exit(1);
4
+ }
5
+ export function parsePort(args) {
6
+ for (let i = 0; i < args.length; i++) {
7
+ let val;
8
+ if (args[i] === "--port" && args[i + 1]) {
9
+ val = args[++i];
10
+ }
11
+ else if (args[i].startsWith("--port=")) {
12
+ val = args[i].slice("--port=".length);
13
+ }
14
+ if (val !== undefined) {
15
+ const p = parseInt(val, 10);
16
+ if (!isNaN(p) && p > 0 && p < 65536)
17
+ return p;
18
+ }
19
+ }
20
+ return undefined;
21
+ }
22
+ export function parseFlag(args, flag, defaultVal) {
23
+ const idx = args.indexOf(flag);
24
+ if (idx === -1 || !args[idx + 1])
25
+ return defaultVal;
26
+ const v = parseInt(args[idx + 1], 10);
27
+ return isNaN(v) ? args[idx + 1] : v;
28
+ }
29
+ export function hasFlag(args, ...flags) {
30
+ return flags.some((f) => args.includes(f));
31
+ }
32
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/cli/helpers.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ,CAAC,GAAQ;IAC/B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;IAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAc;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,GAAuB,CAAC;QAC5B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACxC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK;gBAAE,OAAO,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAc,EAAE,IAAY,EAAE,UAAe;IACrE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QAAE,OAAO,UAAU,CAAC;IACpD,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAc,EAAE,GAAG,KAAe;IACxD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function run(rest: string[]): Promise<void>;
2
+ export declare function brief(): string;
3
+ export declare function printHelp(): void;
@@ -0,0 +1,260 @@
1
+ import { parseFlag } from "./helpers.js";
2
+ import { getSvc, listInstanceIds, readInstanceMeta, resolveInstanceId, } from "../services/job-manager.js";
3
+ import { deleteInstance } from "../services/instance-manager.js";
4
+ import { loadNomadToken } from "../services/setup-manager.js";
5
+ // ── ANSI colour helpers ───────────────────────────────────────────────────
6
+ const isTTY = process.stdout.isTTY ?? false;
7
+ const c = {
8
+ bold: (s) => isTTY ? `\x1b[1m${s}\x1b[0m` : s,
9
+ green: (s) => isTTY ? `\x1b[32m${s}\x1b[0m` : s,
10
+ yellow: (s) => isTTY ? `\x1b[33m${s}\x1b[0m` : s,
11
+ red: (s) => isTTY ? `\x1b[31m${s}\x1b[0m` : s,
12
+ dim: (s) => isTTY ? `\x1b[2m${s}\x1b[0m` : s,
13
+ };
14
+ function log(msg) { process.stdout.write(msg + "\n"); }
15
+ // ── Command implementations ───────────────────────────────────────────────
16
+ async function cmdList(args) {
17
+ loadNomadToken();
18
+ const svc = await getSvc();
19
+ const ids = listInstanceIds();
20
+ if (args.includes("--json")) {
21
+ const items = [];
22
+ for (const id of ids) {
23
+ const meta = readInstanceMeta(id);
24
+ try {
25
+ const st = await svc.getStatus(id);
26
+ items.push({ id, name: meta?.name || id, ...st });
27
+ }
28
+ catch {
29
+ items.push({ id, name: meta?.name || id, status: "unknown" });
30
+ }
31
+ }
32
+ console.log(JSON.stringify(items, null, 2));
33
+ return;
34
+ }
35
+ log("");
36
+ log(c.bold(" Instances"));
37
+ log(c.dim(" ─────────────────────────────────────────────────────"));
38
+ if (ids.length === 0) {
39
+ log(c.dim(" (no instances)"));
40
+ log("");
41
+ return;
42
+ }
43
+ for (const id of ids) {
44
+ const meta = readInstanceMeta(id);
45
+ let st = { status: "unknown", pid: null, uptime: null, memory_mb: null, cpu_percent: null };
46
+ try {
47
+ st = await svc.getStatus(id);
48
+ }
49
+ catch { }
50
+ const dot = st.status === "running" ? c.green("●")
51
+ : st.status === "pending" ? c.yellow("●")
52
+ : st.status === "failed" ? c.red("●")
53
+ : c.dim("○");
54
+ const color = st.status === "running" ? c.green
55
+ : st.status === "pending" ? c.yellow
56
+ : st.status === "failed" ? c.red : c.dim;
57
+ const gp = meta?.runtime?.env?.OPENCLAW_GATEWAY_PORT;
58
+ const portInfo = gp ? c.dim(` :${gp}`) : "";
59
+ log(` ${dot} ${(meta?.name || id).padEnd(20)} ${color(st.status.padEnd(10))} ${c.dim(id)}${portInfo}`);
60
+ }
61
+ log("");
62
+ }
63
+ async function cmdStatus(id, args) {
64
+ loadNomadToken();
65
+ const resolved = await resolveInstanceId(id);
66
+ const svc = await getSvc();
67
+ const meta = readInstanceMeta(resolved);
68
+ const st = await svc.getStatus(resolved);
69
+ if (args.includes("--json")) {
70
+ console.log(JSON.stringify({ id: resolved, name: meta?.name, ...st }, null, 2));
71
+ return;
72
+ }
73
+ const upStr = st.uptime ? `${Math.floor(st.uptime / 3600)}h ${Math.floor((st.uptime % 3600) / 60)}m` : "—";
74
+ log("");
75
+ log(` Job: ${c.bold(meta?.name || resolved)} ${c.dim(`(${resolved})`)}`);
76
+ log(c.dim(" ──────────────────────────────────────────"));
77
+ log(` Status: ${st.status === "running" ? c.green(st.status) : st.status}`);
78
+ log(` Uptime: ${upStr}`);
79
+ if (st.memory_mb)
80
+ log(` Memory: ${st.memory_mb} MB`);
81
+ if (st.cpu_percent !== null)
82
+ log(` CPU: ${st.cpu_percent}%`);
83
+ if (st.pid)
84
+ log(` PID: ${st.pid}`);
85
+ log("");
86
+ }
87
+ async function cmdStart(id) {
88
+ loadNomadToken();
89
+ const resolved = await resolveInstanceId(id);
90
+ const svc = await getSvc();
91
+ const meta = readInstanceMeta(resolved);
92
+ const result = await svc.startInstance(resolved);
93
+ if (result.ok) {
94
+ log(c.green(` ✓ Started: ${meta?.name || resolved}`));
95
+ }
96
+ else {
97
+ log(c.red(` ✗ ${result.error || "Start failed"}`));
98
+ process.exitCode = 1;
99
+ }
100
+ }
101
+ async function cmdStop(id, args) {
102
+ loadNomadToken();
103
+ const resolved = await resolveInstanceId(id);
104
+ const svc = await getSvc();
105
+ const meta = readInstanceMeta(resolved);
106
+ const result = await svc.stopInstance(resolved, args.includes("--purge"));
107
+ if (result.ok) {
108
+ log(c.green(` ✓ Stopped: ${meta?.name || resolved}`));
109
+ }
110
+ else {
111
+ log(c.red(` ✗ ${result.error || "Stop failed"}`));
112
+ process.exitCode = 1;
113
+ }
114
+ }
115
+ async function cmdRestart(id) {
116
+ loadNomadToken();
117
+ const resolved = await resolveInstanceId(id);
118
+ const svc = await getSvc();
119
+ const meta = readInstanceMeta(resolved);
120
+ const result = await svc.restartInstance(resolved);
121
+ if (result.ok) {
122
+ log(c.green(` ✓ Restarted: ${meta?.name || resolved}`));
123
+ }
124
+ else {
125
+ log(c.red(` ✗ ${result.error || "Restart failed"}`));
126
+ process.exitCode = 1;
127
+ }
128
+ }
129
+ async function cmdLogs(id, args) {
130
+ loadNomadToken();
131
+ const resolved = await resolveInstanceId(id);
132
+ const svc = await getSvc();
133
+ const lines = parseFlag(args, "--lines", 200);
134
+ // --stderr / --stdout as shorthand; --type takes precedence
135
+ let logType = parseFlag(args, "--type", "");
136
+ if (!logType) {
137
+ logType = args.includes("--stdout") ? "stdout" : "stderr";
138
+ }
139
+ const result = await svc.getLogs(resolved, lines, logType);
140
+ const arr = Array.isArray(result) ? result : await result;
141
+ for (const line of arr)
142
+ process.stdout.write(line + "\n");
143
+ }
144
+ async function cmdDelete(id, args) {
145
+ loadNomadToken();
146
+ const resolved = await resolveInstanceId(id);
147
+ const svc = await getSvc();
148
+ const purgeBackups = args.includes("--purge-backups");
149
+ // Stop the job first (ignore errors if already stopped)
150
+ try {
151
+ await svc.stopInstance(resolved, true);
152
+ }
153
+ catch { }
154
+ const meta = readInstanceMeta(resolved);
155
+ const result = await deleteInstance(resolved, purgeBackups);
156
+ if (result.ok) {
157
+ log(c.green(` ✓ Deleted: ${meta?.name || resolved}`));
158
+ if (result.warnings?.length) {
159
+ for (const w of result.warnings)
160
+ log(c.yellow(` ⚠ ${w}`));
161
+ }
162
+ }
163
+ else {
164
+ log(c.red(` ✗ Delete failed`));
165
+ process.exitCode = 1;
166
+ }
167
+ }
168
+ async function cmdExec(id, command) {
169
+ loadNomadToken();
170
+ const resolved = await resolveInstanceId(id);
171
+ const svc = await getSvc();
172
+ const result = await svc.exec(resolved, command);
173
+ if (result.stdout)
174
+ process.stdout.write(result.stdout);
175
+ if (result.stderr)
176
+ process.stderr.write(result.stderr);
177
+ if (result.exitCode !== 0)
178
+ process.exitCode = result.exitCode ?? 1;
179
+ }
180
+ // ── Entry point ───────────────────────────────────────────────────────────
181
+ export async function run(rest) {
182
+ const jobCmd = rest[0];
183
+ const jobId = rest[1];
184
+ const args = rest.slice(1);
185
+ try {
186
+ if (jobCmd === "list") {
187
+ await cmdList(args);
188
+ }
189
+ else if (jobCmd === "status") {
190
+ await cmdStatus(jobId, args);
191
+ }
192
+ else if (jobCmd === "start") {
193
+ await cmdStart(jobId);
194
+ }
195
+ else if (jobCmd === "stop") {
196
+ await cmdStop(jobId, args);
197
+ }
198
+ else if (jobCmd === "restart") {
199
+ await cmdRestart(jobId);
200
+ }
201
+ else if (jobCmd === "logs") {
202
+ await cmdLogs(jobId, args);
203
+ }
204
+ else if (jobCmd === "delete" || jobCmd === "rm") {
205
+ await cmdDelete(jobId, args);
206
+ }
207
+ else if (jobCmd === "exec") {
208
+ const dashDash = rest.indexOf("--");
209
+ const execCmd = dashDash >= 0 ? rest.slice(dashDash + 1) : [];
210
+ if (execCmd.length === 0) {
211
+ console.error("Usage: jishushell job exec [<id>] -- <command...>");
212
+ process.exit(1);
213
+ }
214
+ const execId = dashDash > 1 ? rest[1] : undefined;
215
+ await cmdExec(execId, execCmd);
216
+ }
217
+ else if (jobCmd === "help" || jobCmd === "--help" || jobCmd === "-h") {
218
+ printHelp();
219
+ }
220
+ else {
221
+ printHelp();
222
+ if (jobCmd)
223
+ process.exit(1);
224
+ }
225
+ }
226
+ catch (err) {
227
+ log(c.red(` ✗ ${err.message}`));
228
+ process.exitCode = 1;
229
+ }
230
+ }
231
+ export function brief() {
232
+ return " job <list|status|start|stop|restart|delete|logs|exec> Job(实例)生命周期管理";
233
+ }
234
+ export function printHelp() {
235
+ console.log(`
236
+ Usage: jishushell job <command> [<id>] [options]
237
+
238
+ Commands:
239
+ list [--json] 列出所有实例及运行状态
240
+ status [<id>] [--json] 查看实例详情
241
+ start [<id>] 启动实例
242
+ stop [<id>] [--purge] 停止实例(--purge 同时清除数据)
243
+ restart [<id>] 重启实例
244
+ delete [<id>] [--purge-backups] 删除实例(停止 + 删除目录和配置)
245
+ logs [<id>] [--lines N] [--stderr|--stdout] 查看日志(默认 stderr)
246
+ exec [<id>] -- <cmd...> 在实例内执行命令
247
+ help 显示此帮助
248
+
249
+ Note: 只有一个实例时 <id> 可省略
250
+
251
+ Examples:
252
+ jishushell job list --json
253
+ jishushell job logs --lines 100
254
+ jishushell job logs --stdout
255
+ jishushell job delete inst1
256
+ jishushell job delete inst1 --purge-backups
257
+ jishushell job exec inst1 -- ls /home
258
+ `);
259
+ }
260
+ //# sourceMappingURL=job.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job.js","sourceRoot":"","sources":["../../src/cli/job.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * jishushell llm — LLM Provider 管理
3
+ *
4
+ * 存储结构:panel.json 顶层 providers 数组
5
+ * 兼容:若只有 default_provider 则自动迁移为 providers[0]
6
+ */
7
+ export interface LlmProvider {
8
+ id: string;
9
+ name?: string;
10
+ baseUrl: string;
11
+ api: "openai" | "anthropic" | string;
12
+ apiKey?: string;
13
+ authHeader?: string;
14
+ models?: Array<{
15
+ id: string;
16
+ name: string;
17
+ contextWindow?: number;
18
+ }>;
19
+ selectedModelId?: string;
20
+ isDefault?: boolean;
21
+ }
22
+ export declare function brief(): string;
23
+ export declare function printHelp(): void;
24
+ export declare function run(rest: string[]): Promise<void>;