@downcity/city 1.1.24 → 1.1.32

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 (192) hide show
  1. package/README.md +5 -11
  2. package/bin/cli/Index.d.ts +1 -1
  3. package/bin/cli/Index.js +4 -6
  4. package/bin/cli/Index.js.map +1 -1
  5. package/bin/cli/agent/AgentChat.js +1 -1
  6. package/bin/cli/agent/AgentChat.js.map +1 -1
  7. package/bin/cli/agent/AgentHistory.d.ts.map +1 -1
  8. package/bin/cli/agent/AgentHistory.js +2 -1
  9. package/bin/cli/agent/AgentHistory.js.map +1 -1
  10. package/bin/cli/agent/AgentManager.js +3 -3
  11. package/bin/cli/agent/AgentManager.js.map +1 -1
  12. package/bin/cli/agent/Init.js +6 -6
  13. package/bin/cli/agent/Init.js.map +1 -1
  14. package/bin/cli/agent/Restart.js +1 -1
  15. package/bin/cli/agent/Restart.js.map +1 -1
  16. package/bin/cli/agent/Run.d.ts.map +1 -1
  17. package/bin/cli/agent/Run.js +6 -7
  18. package/bin/cli/agent/Run.js.map +1 -1
  19. package/bin/cli/agent/Start.js +1 -1
  20. package/bin/cli/agent/Start.js.map +1 -1
  21. package/bin/cli/control-plane/ControlPlaneCommand.d.ts.map +1 -1
  22. package/bin/cli/control-plane/ControlPlaneCommand.js +19 -1
  23. package/bin/cli/control-plane/ControlPlaneCommand.js.map +1 -1
  24. package/bin/cli/control-plane/ControlPlanePublicManager.d.ts +17 -0
  25. package/bin/cli/control-plane/ControlPlanePublicManager.d.ts.map +1 -0
  26. package/bin/cli/control-plane/ControlPlanePublicManager.js +229 -0
  27. package/bin/cli/control-plane/ControlPlanePublicManager.js.map +1 -0
  28. package/bin/cli/control-plane/ControlPlanePublicMode.d.ts +53 -0
  29. package/bin/cli/control-plane/ControlPlanePublicMode.d.ts.map +1 -0
  30. package/bin/cli/control-plane/ControlPlanePublicMode.js +106 -0
  31. package/bin/cli/control-plane/ControlPlanePublicMode.js.map +1 -0
  32. package/bin/cli/control-plane/ControlPlaneRuntime.d.ts.map +1 -1
  33. package/bin/cli/control-plane/ControlPlaneRuntime.js +8 -6
  34. package/bin/cli/control-plane/ControlPlaneRuntime.js.map +1 -1
  35. package/bin/cli/control-plane/ControlPlaneStatus.d.ts.map +1 -1
  36. package/bin/cli/control-plane/ControlPlaneStatus.js +22 -8
  37. package/bin/cli/control-plane/ControlPlaneStatus.js.map +1 -1
  38. package/bin/cli/model/ModelManageCommand.d.ts.map +1 -1
  39. package/bin/cli/model/ModelManageCommand.js +22 -18
  40. package/bin/cli/model/ModelManageCommand.js.map +1 -1
  41. package/bin/cli/model/ModelManager.d.ts +1 -1
  42. package/bin/cli/model/ModelManager.d.ts.map +1 -1
  43. package/bin/cli/model/ModelManager.js +378 -76
  44. package/bin/cli/model/ModelManager.js.map +1 -1
  45. package/bin/cli/model/ModelManagerTypes.d.ts +97 -3
  46. package/bin/cli/model/ModelManagerTypes.d.ts.map +1 -1
  47. package/bin/cli/model/ModelSupport.d.ts +1 -1
  48. package/bin/cli/model/ModelSupport.d.ts.map +1 -1
  49. package/bin/cli/model/ModelSupport.js +1 -1
  50. package/bin/cli/model/ModelSupport.js.map +1 -1
  51. package/bin/cli/shared/Chat.d.ts +1 -1
  52. package/bin/cli/shared/Chat.js +2 -2
  53. package/bin/cli/shared/Chat.js.map +1 -1
  54. package/bin/cli/shared/ChatManager.d.ts +1 -1
  55. package/bin/cli/shared/ChatManager.js +27 -27
  56. package/bin/cli/shared/ChatManager.js.map +1 -1
  57. package/bin/cli/shared/Config.js +1 -1
  58. package/bin/cli/shared/Config.js.map +1 -1
  59. package/bin/cli/shared/ManagedPluginActionCommands.d.ts +14 -0
  60. package/bin/cli/shared/ManagedPluginActionCommands.d.ts.map +1 -0
  61. package/bin/cli/{service/ServiceActionCommands.js → shared/ManagedPluginActionCommands.js} +60 -60
  62. package/bin/cli/shared/ManagedPluginActionCommands.js.map +1 -0
  63. package/bin/cli/shared/ManagedPluginRemote.d.ts +30 -0
  64. package/bin/cli/shared/ManagedPluginRemote.d.ts.map +1 -0
  65. package/bin/cli/{service/ServiceCommandRemote.js → shared/ManagedPluginRemote.js} +34 -34
  66. package/bin/cli/shared/ManagedPluginRemote.js.map +1 -0
  67. package/bin/cli/shared/PluginScheduleCommand.d.ts +36 -0
  68. package/bin/cli/shared/PluginScheduleCommand.d.ts.map +1 -0
  69. package/bin/cli/{service/ServiceScheduleCommand.js → shared/PluginScheduleCommand.js} +41 -41
  70. package/bin/cli/shared/PluginScheduleCommand.js.map +1 -0
  71. package/bin/cli/{service/ServiceCommandSupport.d.ts → shared/PluginTargetSupport.d.ts} +12 -12
  72. package/bin/cli/shared/PluginTargetSupport.d.ts.map +1 -0
  73. package/bin/cli/{service/ServiceCommandSupport.js → shared/PluginTargetSupport.js} +14 -14
  74. package/bin/cli/shared/PluginTargetSupport.js.map +1 -0
  75. package/bin/cli/shared/Plugins.d.ts.map +1 -1
  76. package/bin/cli/shared/Plugins.js +159 -30
  77. package/bin/cli/shared/Plugins.js.map +1 -1
  78. package/bin/cli/shared/PortHints.js +1 -1
  79. package/bin/cli/shared/PortHints.js.map +1 -1
  80. package/bin/config/DowncitySchema.d.ts.map +1 -1
  81. package/bin/config/DowncitySchema.js +2 -8
  82. package/bin/config/DowncitySchema.js.map +1 -1
  83. package/bin/config/Paths.d.ts +12 -10
  84. package/bin/config/Paths.d.ts.map +1 -1
  85. package/bin/config/Paths.js +23 -17
  86. package/bin/config/Paths.js.map +1 -1
  87. package/bin/control/AgentStatusApiRoutes.js +30 -30
  88. package/bin/control/AgentStatusApiRoutes.js.map +1 -1
  89. package/bin/control/ChannelAccountApiRoutes.js +6 -6
  90. package/bin/control/ControlGateway.js +2 -2
  91. package/bin/control/ControlGateway.js.map +1 -1
  92. package/bin/control/ModelApiRoutes.d.ts +1 -1
  93. package/bin/control/ModelApiRoutes.d.ts.map +1 -1
  94. package/bin/control/ModelApiRoutes.js +1 -1
  95. package/bin/control/ModelApiRoutes.js.map +1 -1
  96. package/bin/control/ModelPoolService.d.ts +4 -121
  97. package/bin/control/ModelPoolService.d.ts.map +1 -1
  98. package/bin/control/ModelPoolService.js +4 -322
  99. package/bin/control/ModelPoolService.js.map +1 -1
  100. package/bin/control/PluginApiRoutes.js +5 -5
  101. package/bin/control/PluginApiRoutes.js.map +1 -1
  102. package/bin/control/gateway/AgentActions.d.ts.map +1 -1
  103. package/bin/control/gateway/AgentActions.js +18 -3
  104. package/bin/control/gateway/AgentActions.js.map +1 -1
  105. package/bin/control/gateway/AgentCatalog.js +2 -2
  106. package/bin/control/gateway/AgentCatalog.js.map +1 -1
  107. package/bin/control/instant/InstantApiRoutes.d.ts +3 -3
  108. package/bin/control/instant/InstantApiRoutes.d.ts.map +1 -1
  109. package/bin/control/instant/InstantApiRoutes.js +5 -5
  110. package/bin/control/instant/InstantApiRoutes.js.map +1 -1
  111. package/bin/control/instant/{InstantSessionService.d.ts → InstantSessionRunner.d.ts} +7 -7
  112. package/bin/control/instant/InstantSessionRunner.d.ts.map +1 -0
  113. package/bin/control/instant/{InstantSessionService.js → InstantSessionRunner.js} +4 -4
  114. package/bin/control/instant/InstantSessionRunner.js.map +1 -0
  115. package/bin/http/auth/RoutePolicy.js +7 -7
  116. package/bin/http/auth/RoutePolicy.js.map +1 -1
  117. package/bin/model/service/ModelPoolService.d.ts +145 -0
  118. package/bin/model/service/ModelPoolService.d.ts.map +1 -0
  119. package/bin/model/service/ModelPoolService.js +424 -0
  120. package/bin/model/service/ModelPoolService.js.map +1 -0
  121. package/bin/process/daemon/Api.d.ts +2 -2
  122. package/bin/process/daemon/Api.js +1 -1
  123. package/bin/process/registry/AgentHostRuntime.d.ts +1 -1
  124. package/bin/process/registry/AgentHostRuntime.d.ts.map +1 -1
  125. package/bin/process/registry/AgentHostRuntime.js +85 -4
  126. package/bin/process/registry/AgentHostRuntime.js.map +1 -1
  127. package/package.json +2 -2
  128. package/src/cli/Index.ts +4 -6
  129. package/src/cli/agent/AgentChat.ts +1 -1
  130. package/src/cli/agent/AgentHistory.ts +6 -1
  131. package/src/cli/agent/AgentManager.ts +3 -3
  132. package/src/cli/agent/Init.ts +6 -6
  133. package/src/cli/agent/Restart.ts +1 -1
  134. package/src/cli/agent/Run.ts +6 -7
  135. package/src/cli/agent/Start.ts +1 -1
  136. package/src/cli/control-plane/ControlPlaneCommand.ts +28 -1
  137. package/src/cli/control-plane/ControlPlanePublicManager.ts +280 -0
  138. package/src/cli/control-plane/ControlPlanePublicMode.ts +141 -0
  139. package/src/cli/control-plane/ControlPlaneRuntime.ts +8 -6
  140. package/src/cli/control-plane/ControlPlaneStatus.ts +22 -8
  141. package/src/cli/model/ModelManageCommand.ts +23 -19
  142. package/src/cli/model/ModelManager.ts +419 -76
  143. package/src/cli/model/ModelManagerTypes.ts +82 -0
  144. package/src/cli/model/ModelSupport.ts +1 -1
  145. package/src/cli/shared/Chat.ts +2 -2
  146. package/src/cli/shared/ChatManager.ts +27 -27
  147. package/src/cli/shared/Config.ts +1 -1
  148. package/src/cli/{service/ServiceActionCommands.ts → shared/ManagedPluginActionCommands.ts} +75 -75
  149. package/src/cli/{service/ServiceCommandRemote.ts → shared/ManagedPluginRemote.ts} +47 -47
  150. package/src/cli/{service/ServiceScheduleCommand.ts → shared/PluginScheduleCommand.ts} +49 -49
  151. package/src/cli/{service/ServiceCommandSupport.ts → shared/PluginTargetSupport.ts} +14 -14
  152. package/src/cli/shared/Plugins.ts +195 -35
  153. package/src/cli/shared/PortHints.ts +1 -1
  154. package/src/config/DowncitySchema.ts +2 -8
  155. package/src/config/Paths.ts +55 -14
  156. package/src/control/AgentStatusApiRoutes.ts +35 -35
  157. package/src/control/ChannelAccountApiRoutes.ts +6 -6
  158. package/src/control/ControlGateway.ts +2 -2
  159. package/src/control/ModelApiRoutes.ts +1 -1
  160. package/src/control/ModelPoolService.ts +4 -390
  161. package/src/control/PluginApiRoutes.ts +5 -5
  162. package/src/control/gateway/AgentActions.ts +20 -5
  163. package/src/control/gateway/AgentCatalog.ts +2 -2
  164. package/src/control/instant/InstantApiRoutes.ts +8 -8
  165. package/src/control/instant/{InstantSessionService.ts → InstantSessionRunner.ts} +7 -7
  166. package/src/http/auth/RoutePolicy.ts +7 -7
  167. package/src/model/service/ModelPoolService.ts +525 -0
  168. package/src/process/daemon/Api.ts +2 -2
  169. package/src/process/registry/AgentHostRuntime.ts +95 -5
  170. package/bin/cli/service/ServiceActionCommands.d.ts +0 -14
  171. package/bin/cli/service/ServiceActionCommands.d.ts.map +0 -1
  172. package/bin/cli/service/ServiceActionCommands.js.map +0 -1
  173. package/bin/cli/service/ServiceCommandRemote.d.ts +0 -30
  174. package/bin/cli/service/ServiceCommandRemote.d.ts.map +0 -1
  175. package/bin/cli/service/ServiceCommandRemote.js.map +0 -1
  176. package/bin/cli/service/ServiceCommandSupport.d.ts.map +0 -1
  177. package/bin/cli/service/ServiceCommandSupport.js.map +0 -1
  178. package/bin/cli/service/ServiceScheduleCommand.d.ts +0 -36
  179. package/bin/cli/service/ServiceScheduleCommand.d.ts.map +0 -1
  180. package/bin/cli/service/ServiceScheduleCommand.js.map +0 -1
  181. package/bin/cli/service/Services.d.ts +0 -14
  182. package/bin/cli/service/Services.d.ts.map +0 -1
  183. package/bin/cli/service/Services.js +0 -154
  184. package/bin/cli/service/Services.js.map +0 -1
  185. package/bin/control/instant/InstantSessionService.d.ts.map +0 -1
  186. package/bin/control/instant/InstantSessionService.js.map +0 -1
  187. package/bin/process/registry/PluginRuntime.d.ts +0 -24
  188. package/bin/process/registry/PluginRuntime.d.ts.map +0 -1
  189. package/bin/process/registry/PluginRuntime.js +0 -31
  190. package/bin/process/registry/PluginRuntime.js.map +0 -1
  191. package/src/cli/service/Services.ts +0 -189
  192. package/src/process/registry/PluginRuntime.ts +0 -42
@@ -4,19 +4,44 @@
4
4
  * 关键点(中文)
5
5
  * - 裸 `city model` 在交互式终端里进入这里,而不是直接丢给静态 help。
6
6
  * - 保留原有脚本化子命令不变,只把高频的人类操作收敛成轻量 manager。
7
- * - 只覆盖查看、测试、暂停、绑定、创建这些高频动作,不在这里堆复杂编辑流。
7
+ * - 现在补齐查看、编辑、删除、测试、暂停、绑定、创建这几类高频动作。
8
8
  */
9
9
  import prompts from "prompts";
10
- import { generateText } from "ai";
11
10
  import { PlatformStore } from "../../platform/store/index.js";
12
- import { createRuntimeModel } from "../../model/runtime/CreateRuntimeModel.js";
13
- import { toSafeProviderView } from "./ModelCommandShared.js";
11
+ import { ModelPoolService } from "../../model/service/ModelPoolService.js";
12
+ import { getSupportedProviderTypes, toSafeProviderView, } from "./ModelCommandShared.js";
14
13
  import { discoverProviderModels, resolveProjectRoot, setProjectPrimaryModel, } from "./ModelSupport.js";
15
14
  import { runInteractiveModelCreateFlow } from "./ModelCreateCommand.js";
16
15
  import { emitCliBlock } from "../shared/CliReporter.js";
17
16
  function isInteractiveTerminal() {
18
17
  return process.stdin.isTTY === true && process.stdout.isTTY === true;
19
18
  }
19
+ function parseOptionalNumberInput(input) {
20
+ const value = String(input || "").trim();
21
+ if (!value)
22
+ return undefined;
23
+ const parsed = Number(value);
24
+ if (!Number.isFinite(parsed) || Number.isNaN(parsed)) {
25
+ throw new Error(`Invalid number: ${value}`);
26
+ }
27
+ return parsed;
28
+ }
29
+ function parseOptionalPositiveIntegerInput(input) {
30
+ const value = String(input || "").trim();
31
+ if (!value)
32
+ return undefined;
33
+ const parsed = Number.parseInt(value, 10);
34
+ if (!Number.isFinite(parsed) || Number.isNaN(parsed) || !Number.isInteger(parsed) || parsed <= 0) {
35
+ throw new Error(`Invalid positive integer: ${value}`);
36
+ }
37
+ return parsed;
38
+ }
39
+ function formatManagerAgentReference(reference) {
40
+ const agentName = String(reference.agentName || "").trim();
41
+ if (agentName)
42
+ return `${agentName} (${reference.projectRoot})`;
43
+ return reference.projectRoot;
44
+ }
20
45
  async function loadProviderSummaries() {
21
46
  const store = new PlatformStore();
22
47
  try {
@@ -144,11 +169,21 @@ async function promptProviderAction(providerId) {
144
169
  description: "展示脱敏后的 provider 配置和引用数量",
145
170
  value: "details",
146
171
  },
172
+ {
173
+ title: "编辑配置",
174
+ description: "修改 provider 类型、baseUrl、apiKey",
175
+ value: "edit",
176
+ },
147
177
  {
148
178
  title: "测试并发现模型",
149
179
  description: "验证连通性,并可批量导入发现结果",
150
180
  value: "discover",
151
181
  },
182
+ {
183
+ title: "删除 provider",
184
+ description: "仅当没有 model 引用时允许删除",
185
+ value: "remove",
186
+ },
152
187
  {
153
188
  title: "返回",
154
189
  description: "回到上一级菜单",
@@ -170,6 +205,11 @@ async function promptModelAction(modelId) {
170
205
  description: "展示当前 model 绑定与运行参数",
171
206
  value: "details",
172
207
  },
208
+ {
209
+ title: "编辑配置",
210
+ description: "修改 provider、模型名与推理参数",
211
+ value: "edit",
212
+ },
173
213
  {
174
214
  title: "暂停 / 恢复",
175
215
  description: "切换当前 model 的 pause 状态",
@@ -185,6 +225,11 @@ async function promptModelAction(modelId) {
185
225
  description: "写入 downcity.json.execution.modelId",
186
226
  value: "use",
187
227
  },
228
+ {
229
+ title: "删除 model",
230
+ description: "仅当没有 agent 项目引用时允许删除",
231
+ value: "remove",
232
+ },
188
233
  {
189
234
  title: "返回",
190
235
  description: "回到上一级菜单",
@@ -196,42 +241,150 @@ async function promptModelAction(modelId) {
196
241
  return response.action || null;
197
242
  }
198
243
  async function printProviderDetails(providerId) {
199
- const store = new PlatformStore();
200
- try {
201
- const provider = await store.getProvider(providerId);
202
- if (!provider) {
203
- emitCliBlock({
204
- tone: "error",
205
- title: "Provider not found",
206
- note: providerId,
207
- });
208
- return;
209
- }
210
- const models = store.listModels().filter((model) => model.providerId === providerId);
211
- const safeProvider = toSafeProviderView(provider);
212
- emitCliBlock({
213
- tone: "info",
214
- title: `Provider ${providerId}`,
215
- summary: provider.type,
216
- facts: [
244
+ const service = new ModelPoolService();
245
+ const usage = await service.getProviderUsage(providerId);
246
+ const safeProvider = toSafeProviderView(usage.provider);
247
+ emitCliBlock({
248
+ tone: "info",
249
+ title: `Provider ${providerId}`,
250
+ summary: usage.provider.type,
251
+ facts: [
252
+ {
253
+ label: "baseUrl",
254
+ value: safeProvider.baseUrl || "default",
255
+ },
256
+ {
257
+ label: "apiKey",
258
+ value: safeProvider.apiKeyMasked || "not set",
259
+ },
260
+ {
261
+ label: "models",
262
+ value: String(usage.models.length),
263
+ },
264
+ ],
265
+ });
266
+ }
267
+ async function editProvider(providerId) {
268
+ const service = new ModelPoolService();
269
+ const usage = await service.getProviderUsage(providerId);
270
+ const provider = usage.provider;
271
+ const providerTypes = getSupportedProviderTypes();
272
+ const currentTypeIndex = Math.max(providerTypes.findIndex((item) => item === provider.type), 0);
273
+ const apiKeyModeInitial = String(provider.apiKey || "").trim() ? 0 : 1;
274
+ const response = (await prompts([
275
+ {
276
+ type: "select",
277
+ name: "providerType",
278
+ message: `编辑 provider · ${providerId} · 类型`,
279
+ choices: providerTypes.map((item) => ({ title: item, value: item })),
280
+ initial: currentTypeIndex,
281
+ },
282
+ {
283
+ type: "text",
284
+ name: "baseUrl",
285
+ message: "Base URL(可选,留空表示清空)",
286
+ initial: provider.baseUrl || "",
287
+ },
288
+ {
289
+ type: "select",
290
+ name: "apiKeyMode",
291
+ message: "API Key 处理方式",
292
+ choices: [
217
293
  {
218
- label: "baseUrl",
219
- value: safeProvider.baseUrl || "default",
294
+ title: "保持当前值",
295
+ value: "keep",
220
296
  },
221
297
  {
222
- label: "apiKey",
223
- value: safeProvider.apiKeyMasked || "not set",
298
+ title: "替换为新值",
299
+ value: "replace",
224
300
  },
301
+ {
302
+ title: "清空 API Key",
303
+ value: "clear",
304
+ },
305
+ ],
306
+ initial: apiKeyModeInitial,
307
+ },
308
+ {
309
+ type: (prev) => (prev === "replace" ? "text" : null),
310
+ name: "apiKey",
311
+ message: "新的 API Key",
312
+ validate: (value) => String(value || "").trim().length > 0 ? true : "apiKey 不能为空",
313
+ },
314
+ ]));
315
+ if (response.providerType === undefined || response.baseUrl === undefined || response.apiKeyMode === undefined) {
316
+ emitCliBlock({
317
+ tone: "info",
318
+ title: "Provider edit cancelled",
319
+ });
320
+ return;
321
+ }
322
+ const baseUrl = String(response.baseUrl || "").trim();
323
+ const payload = await service.upsertProvider({
324
+ id: providerId,
325
+ type: response.providerType,
326
+ baseUrl: baseUrl || undefined,
327
+ clearBaseUrl: baseUrl.length === 0,
328
+ apiKey: response.apiKeyMode === "replace" ? String(response.apiKey || "").trim() : undefined,
329
+ clearApiKey: response.apiKeyMode === "clear",
330
+ });
331
+ emitCliBlock({
332
+ tone: "success",
333
+ title: `Provider ${providerId}`,
334
+ summary: "updated",
335
+ facts: [
336
+ {
337
+ label: "type",
338
+ value: payload.provider.type,
339
+ },
340
+ {
341
+ label: "baseUrl",
342
+ value: payload.provider.baseUrl || "default",
343
+ },
344
+ {
345
+ label: "apiKey",
346
+ value: payload.provider.apiKeyMasked || "not set",
347
+ },
348
+ ],
349
+ });
350
+ }
351
+ async function removeProviderFromManager(providerId) {
352
+ const service = new ModelPoolService();
353
+ const usage = await service.getProviderUsage(providerId);
354
+ if (usage.models.length > 0) {
355
+ emitCliBlock({
356
+ tone: "error",
357
+ title: `Provider ${providerId}`,
358
+ summary: "remove blocked",
359
+ facts: [
225
360
  {
226
361
  label: "models",
227
- value: String(models.length),
362
+ value: usage.models.map((model) => model.id).join(", "),
228
363
  },
229
364
  ],
230
365
  });
366
+ return false;
231
367
  }
232
- finally {
233
- store.close();
368
+ const response = (await prompts({
369
+ type: "confirm",
370
+ name: "confirmed",
371
+ message: `确认删除 provider "${providerId}"?`,
372
+ initial: false,
373
+ }));
374
+ if (response.confirmed !== true) {
375
+ emitCliBlock({
376
+ tone: "info",
377
+ title: "Provider remove cancelled",
378
+ });
379
+ return false;
234
380
  }
381
+ await service.removeProvider(providerId);
382
+ emitCliBlock({
383
+ tone: "success",
384
+ title: `Provider ${providerId}`,
385
+ summary: "removed",
386
+ });
387
+ return true;
235
388
  }
236
389
  async function discoverProviderAndImport(providerId) {
237
390
  const store = new PlatformStore();
@@ -345,37 +498,148 @@ async function discoverProviderAndImport(providerId) {
345
498
  }
346
499
  }
347
500
  async function printModelDetails(modelId) {
501
+ const service = new ModelPoolService();
502
+ const usage = await service.getModelUsage(modelId);
503
+ const model = usage.model;
504
+ emitCliBlock({
505
+ tone: model.isPaused ? "warning" : "info",
506
+ title: `Model ${modelId}`,
507
+ summary: model.isPaused ? "paused" : "active",
508
+ facts: [
509
+ {
510
+ label: "provider",
511
+ value: model.providerId,
512
+ },
513
+ {
514
+ label: "name",
515
+ value: model.name,
516
+ },
517
+ {
518
+ label: "temperature",
519
+ value: model.temperature === undefined ? "default" : String(model.temperature),
520
+ },
521
+ {
522
+ label: "maxTokens",
523
+ value: model.maxTokens === undefined ? "default" : String(model.maxTokens),
524
+ },
525
+ {
526
+ label: "references",
527
+ value: usage.references.length === 0
528
+ ? "none"
529
+ : usage.references.map((reference) => formatManagerAgentReference(reference)).join(", "),
530
+ },
531
+ ],
532
+ });
533
+ }
534
+ async function editModel(modelId) {
535
+ const service = new ModelPoolService();
536
+ const usage = await service.getModelUsage(modelId);
537
+ const current = usage.model;
348
538
  const store = new PlatformStore();
349
539
  try {
350
- const model = store.getModel(modelId);
351
- if (!model) {
540
+ const providers = await store.listProviders();
541
+ if (providers.length === 0) {
352
542
  emitCliBlock({
353
543
  tone: "error",
354
- title: "Model not found",
355
- note: modelId,
544
+ title: "No providers found",
545
+ note: "请先创建 provider。",
356
546
  });
357
547
  return;
358
548
  }
549
+ const currentProviderIndex = Math.max(providers.findIndex((provider) => provider.id === current.providerId), 0);
550
+ const response = (await prompts([
551
+ {
552
+ type: "select",
553
+ name: "providerId",
554
+ message: `编辑 model · ${modelId} · Provider`,
555
+ choices: providers.map((provider) => ({
556
+ title: `${provider.id} (${provider.type})`,
557
+ value: provider.id,
558
+ })),
559
+ initial: currentProviderIndex,
560
+ },
561
+ {
562
+ type: "text",
563
+ name: "name",
564
+ message: "上游模型名",
565
+ initial: current.name,
566
+ validate: (value) => String(value || "").trim().length > 0 ? true : "模型名不能为空",
567
+ },
568
+ {
569
+ type: "text",
570
+ name: "temperature",
571
+ message: "temperature(可选,留空表示清空)",
572
+ initial: current.temperature === undefined ? "" : String(current.temperature),
573
+ },
574
+ {
575
+ type: "text",
576
+ name: "maxTokens",
577
+ message: "maxTokens(可选,留空表示清空)",
578
+ initial: current.maxTokens === undefined ? "" : String(current.maxTokens),
579
+ },
580
+ {
581
+ type: "text",
582
+ name: "topP",
583
+ message: "topP(可选,留空表示清空)",
584
+ initial: current.topP === undefined ? "" : String(current.topP),
585
+ },
586
+ {
587
+ type: "text",
588
+ name: "frequencyPenalty",
589
+ message: "frequencyPenalty(可选,留空表示清空)",
590
+ initial: current.frequencyPenalty === undefined ? "" : String(current.frequencyPenalty),
591
+ },
592
+ {
593
+ type: "text",
594
+ name: "presencePenalty",
595
+ message: "presencePenalty(可选,留空表示清空)",
596
+ initial: current.presencePenalty === undefined ? "" : String(current.presencePenalty),
597
+ },
598
+ {
599
+ type: "text",
600
+ name: "anthropicVersion",
601
+ message: "anthropicVersion(可选,留空表示清空)",
602
+ initial: current.anthropicVersion || "",
603
+ },
604
+ ]));
605
+ if (response.providerId === undefined ||
606
+ response.name === undefined ||
607
+ response.temperature === undefined ||
608
+ response.maxTokens === undefined ||
609
+ response.topP === undefined ||
610
+ response.frequencyPenalty === undefined ||
611
+ response.presencePenalty === undefined ||
612
+ response.anthropicVersion === undefined) {
613
+ emitCliBlock({
614
+ tone: "info",
615
+ title: "Model edit cancelled",
616
+ });
617
+ return;
618
+ }
619
+ await service.upsertModel({
620
+ id: modelId,
621
+ providerId: response.providerId,
622
+ name: String(response.name || "").trim(),
623
+ temperature: parseOptionalNumberInput(response.temperature),
624
+ maxTokens: parseOptionalPositiveIntegerInput(response.maxTokens),
625
+ topP: parseOptionalNumberInput(response.topP),
626
+ frequencyPenalty: parseOptionalNumberInput(response.frequencyPenalty),
627
+ presencePenalty: parseOptionalNumberInput(response.presencePenalty),
628
+ anthropicVersion: String(response.anthropicVersion || "").trim() || undefined,
629
+ isPaused: current.isPaused,
630
+ });
359
631
  emitCliBlock({
360
- tone: model.isPaused ? "warning" : "info",
632
+ tone: "success",
361
633
  title: `Model ${modelId}`,
362
- summary: model.isPaused ? "paused" : "active",
634
+ summary: "updated",
363
635
  facts: [
364
636
  {
365
637
  label: "provider",
366
- value: model.providerId,
638
+ value: response.providerId,
367
639
  },
368
640
  {
369
641
  label: "name",
370
- value: model.name,
371
- },
372
- {
373
- label: "temperature",
374
- value: model.temperature === undefined ? "default" : String(model.temperature),
375
- },
376
- {
377
- label: "maxTokens",
378
- value: model.maxTokens === undefined ? "default" : String(model.maxTokens),
642
+ value: String(response.name || "").trim(),
379
643
  },
380
644
  ],
381
645
  });
@@ -384,35 +648,60 @@ async function printModelDetails(modelId) {
384
648
  store.close();
385
649
  }
386
650
  }
387
- async function toggleModelPauseState(modelId) {
388
- const store = new PlatformStore();
389
- try {
390
- const model = store.getModel(modelId);
391
- if (!model) {
392
- emitCliBlock({
393
- tone: "error",
394
- title: "Model not found",
395
- note: modelId,
396
- });
397
- return;
398
- }
399
- const nextPaused = model.isPaused !== true;
400
- store.setModelPaused(modelId, nextPaused);
651
+ async function removeModelFromManager(modelId) {
652
+ const service = new ModelPoolService();
653
+ const usage = await service.getModelUsage(modelId);
654
+ if (usage.references.length > 0) {
401
655
  emitCliBlock({
402
- tone: "success",
656
+ tone: "error",
403
657
  title: `Model ${modelId}`,
404
- summary: nextPaused ? "paused" : "active",
658
+ summary: "remove blocked",
405
659
  facts: [
406
660
  {
407
- label: "provider",
408
- value: model.providerId,
661
+ label: "agents",
662
+ value: usage.references.map((reference) => formatManagerAgentReference(reference)).join(", "),
409
663
  },
410
664
  ],
411
665
  });
666
+ return false;
412
667
  }
413
- finally {
414
- store.close();
668
+ const response = (await prompts({
669
+ type: "confirm",
670
+ name: "confirmed",
671
+ message: `确认删除 model "${modelId}"?`,
672
+ initial: false,
673
+ }));
674
+ if (response.confirmed !== true) {
675
+ emitCliBlock({
676
+ tone: "info",
677
+ title: "Model remove cancelled",
678
+ });
679
+ return false;
415
680
  }
681
+ await service.removeModel(modelId);
682
+ emitCliBlock({
683
+ tone: "success",
684
+ title: `Model ${modelId}`,
685
+ summary: "removed",
686
+ });
687
+ return true;
688
+ }
689
+ async function toggleModelPauseState(modelId) {
690
+ const service = new ModelPoolService();
691
+ const usage = await service.getModelUsage(modelId);
692
+ const nextPaused = usage.model.isPaused !== true;
693
+ await service.setModelPaused(modelId, nextPaused);
694
+ emitCliBlock({
695
+ tone: "success",
696
+ title: `Model ${modelId}`,
697
+ summary: nextPaused ? "paused" : "active",
698
+ facts: [
699
+ {
700
+ label: "provider",
701
+ value: usage.model.providerId,
702
+ },
703
+ ],
704
+ });
416
705
  }
417
706
  async function testModelCall(modelId) {
418
707
  const promptInput = (await prompts({
@@ -429,17 +718,8 @@ async function testModelCall(modelId) {
429
718
  return;
430
719
  }
431
720
  const promptText = String(promptInput.prompt || "").trim() || "Reply with exactly: OK";
432
- const runtimeModel = await createRuntimeModel({
433
- config: {
434
- name: "console-model-test",
435
- version: "1.0.0",
436
- execution: { type: "api", modelId },
437
- },
438
- });
439
- const result = await generateText({
440
- model: runtimeModel,
441
- prompt: promptText,
442
- });
721
+ const service = new ModelPoolService();
722
+ const result = await service.testModel(modelId, promptText);
443
723
  emitCliBlock({
444
724
  tone: "success",
445
725
  title: `Model ${modelId}`,
@@ -511,8 +791,19 @@ async function runProviderManager() {
511
791
  await printProviderDetails(providerId);
512
792
  continue;
513
793
  }
794
+ if (action === "edit") {
795
+ await editProvider(providerId);
796
+ continue;
797
+ }
514
798
  if (action === "discover") {
515
799
  await discoverProviderAndImport(providerId);
800
+ continue;
801
+ }
802
+ if (action === "remove") {
803
+ const removed = await removeProviderFromManager(providerId);
804
+ if (removed)
805
+ return;
806
+ continue;
516
807
  }
517
808
  }
518
809
  }
@@ -535,6 +826,10 @@ async function runModelManager() {
535
826
  await printModelDetails(modelId);
536
827
  continue;
537
828
  }
829
+ if (action === "edit") {
830
+ await editModel(modelId);
831
+ continue;
832
+ }
538
833
  if (action === "togglePause") {
539
834
  await toggleModelPauseState(modelId);
540
835
  continue;
@@ -545,6 +840,13 @@ async function runModelManager() {
545
840
  }
546
841
  if (action === "use") {
547
842
  await bindModelToProject(modelId);
843
+ continue;
844
+ }
845
+ if (action === "remove") {
846
+ const removed = await removeModelFromManager(modelId);
847
+ if (removed)
848
+ return;
849
+ continue;
548
850
  }
549
851
  }
550
852
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ModelManager.js","sourceRoot":"","sources":["../../../src/cli/model/ModelManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModelManager.js","sourceRoot":"","sources":["../../../src/cli/model/ModelManager.ts"],"names":[],"mappings":"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"}