pi-web-ui 0.68.0 → 0.68.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.
Files changed (35) hide show
  1. package/bin/pi-web-ui.mjs +1876 -1876
  2. package/dist/server/agent-service.js +450 -68
  3. package/dist/server/attachments.js +3 -3
  4. package/dist/server/client-state.js +4 -2
  5. package/dist/server/dsh/dsh-agent-service.js +15 -1
  6. package/dist/server/dsh/runtime/cordis.yml +1 -1
  7. package/dist/server/dsh/runtime/goal-rpc.mjs +645 -645
  8. package/dist/server/dsh/runtime/launcher.mjs +164 -164
  9. package/dist/server/dsh/runtime/override.patch.yml +71 -71
  10. package/dist/server/dsh/runtime/runtime-root.mjs +92 -86
  11. package/dist/server/index.js +68 -2
  12. package/dist/server/locales.js +156 -0
  13. package/dist/server/plugins.js +63 -0
  14. package/dist/server/prompt-composer.js +34 -0
  15. package/dist/server/serialize.js +24 -0
  16. package/dist/server/settings-service.js +9 -0
  17. package/dist/server/update-check.js +49 -50
  18. package/dist/server/vision-bridge.js +9 -9
  19. package/extensions/webui.ts +190 -190
  20. package/package.json +6 -2
  21. package/plugins/catalog.json +9 -0
  22. package/web/dist/assets/TerminalPanel-BQ5NTB9Y.js +6 -0
  23. package/web/dist/assets/TerminalPanel-DOrYoP_4.css +32 -0
  24. package/web/dist/assets/index-C_I-6Zul.css +10 -0
  25. package/web/dist/assets/index-Ck5pa3XK.js +333 -0
  26. package/web/dist/assets/markdown-DOsihKaR.js +51 -0
  27. package/web/dist/assets/{react-C9ovnpIm.js → react-DIP6JKYk.js} +2 -2
  28. package/web/dist/assets/xterm-B96xOxS9.js +38 -0
  29. package/web/dist/index.html +4 -4
  30. package/web/dist/assets/TerminalPanel-6GBZ9nXN.css +0 -32
  31. package/web/dist/assets/TerminalPanel-CTY_LN4U.js +0 -6
  32. package/web/dist/assets/index-Dc6t3GTo.css +0 -10
  33. package/web/dist/assets/index-fwF-jmiV.js +0 -332
  34. package/web/dist/assets/markdown-DRBrS2Nf.js +0 -51
  35. package/web/dist/assets/xterm-D1D2FVe3.js +0 -38
@@ -454,9 +454,9 @@ export async function buildAttachmentMessages(ctx, attachments) {
454
454
  content: [
455
455
  {
456
456
  type: "text",
457
- text: `
458
- <vision-bridge>
459
- ${transcript}
457
+ text: `
458
+ <vision-bridge>
459
+ ${transcript}
460
460
  </vision-bridge>`,
461
461
  },
462
462
  ...(pathImg
@@ -200,10 +200,11 @@ export class ClientStateStore {
200
200
  promptOverrides,
201
201
  disabledSkills: stored?.disabledSkills ?? [],
202
202
  disabledExtensions: stored?.disabledExtensions ?? [],
203
- terminalToolsEnabled: stored?.terminalToolsEnabled ?? true,
203
+ terminalToolsEnabled: stored?.terminalToolsEnabled ?? false,
204
204
  terminalBash: stored?.terminalBash ?? false,
205
205
  terminalBashIdleMs: stored?.terminalBashIdleMs ?? 15_000,
206
206
  editSoftEnabled: stored?.editSoftEnabled ?? false,
207
+ questionnaireEnabled: stored?.questionnaireEnabled ?? true,
207
208
  thinkingWrap: stored?.thinkingWrap ?? false,
208
209
  toolsWrap: stored?.toolsWrap ?? true,
209
210
  visionBridgeEnabled: stored?.visionBridgeEnabled ?? true,
@@ -230,10 +231,11 @@ export class ClientStateStore {
230
231
  promptOverrides: { ...(settings.promptOverrides ?? cur.promptOverrides) },
231
232
  disabledSkills: settings.disabledSkills ?? cur.disabledSkills ?? [],
232
233
  disabledExtensions: settings.disabledExtensions ?? cur.disabledExtensions ?? [],
233
- terminalToolsEnabled: settings.terminalToolsEnabled ?? cur.terminalToolsEnabled ?? true,
234
+ terminalToolsEnabled: settings.terminalToolsEnabled ?? cur.terminalToolsEnabled ?? false,
234
235
  terminalBash: settings.terminalBash ?? cur.terminalBash ?? false,
235
236
  terminalBashIdleMs: settings.terminalBashIdleMs ?? cur.terminalBashIdleMs ?? 15_000,
236
237
  editSoftEnabled: settings.editSoftEnabled ?? cur.editSoftEnabled ?? false,
238
+ questionnaireEnabled: settings.questionnaireEnabled ?? cur.questionnaireEnabled ?? true,
237
239
  thinkingWrap: settings.thinkingWrap ?? cur.thinkingWrap ?? false,
238
240
  toolsWrap: settings.toolsWrap ?? cur.toolsWrap ?? true,
239
241
  visionBridgeEnabled: settings.visionBridgeEnabled ?? cur.visionBridgeEnabled ?? true,
@@ -104,10 +104,11 @@ const DEFAULT_SETTINGS = {
104
104
  customSystemPrompt: "",
105
105
  disabledSkills: [],
106
106
  disabledExtensions: [],
107
- terminalToolsEnabled: true,
107
+ terminalToolsEnabled: false,
108
108
  terminalBash: false,
109
109
  terminalBashIdleMs: 15_000,
110
110
  editSoftEnabled: false,
111
+ questionnaireEnabled: true,
111
112
  thinkingWrap: false,
112
113
  toolsWrap: true,
113
114
  disabledPlugins: [],
@@ -221,6 +222,7 @@ export class DshClientSession {
221
222
  terminalBash: savedSettings.terminalBash,
222
223
  terminalBashIdleMs: savedSettings.terminalBashIdleMs,
223
224
  editSoftEnabled: savedSettings.editSoftEnabled,
225
+ questionnaireEnabled: savedSettings.questionnaireEnabled ?? true,
224
226
  thinkingWrap: savedSettings.thinkingWrap,
225
227
  toolsWrap: savedSettings.toolsWrap,
226
228
  disabledPlugins: savedSettings.disabledPlugins ?? [],
@@ -443,6 +445,11 @@ export class DshClientSession {
443
445
  else if (method === "question.pending") {
444
446
  // 模型 ask_user_question → 转发给浏览器对话框(deadline = 服务端超时时间戳)。
445
447
  const params0 = params;
448
+ // 问卷开关(默认开):关 → 不弹框,立即取消让模型得知已禁用。
449
+ if (this.settings.questionnaireEnabled === false) {
450
+ void this.answerQuestion(params0.id, [], true);
451
+ return;
452
+ }
446
453
  this.emit({
447
454
  type: "question_pending",
448
455
  id: params0.id,
@@ -461,6 +468,7 @@ export class DshClientSession {
461
468
  options: q.options.map((o) => ({
462
469
  label: String(o.label ?? ""),
463
470
  ...(typeof o.description === "string" ? { description: o.description } : {}),
471
+ ...(typeof o.preview === "string" ? { preview: o.preview } : {}),
464
472
  })),
465
473
  }
466
474
  : {}),
@@ -2060,6 +2068,7 @@ export class DshClientSession {
2060
2068
  terminalBash: this.settings.terminalBash,
2061
2069
  terminalBashIdleMs: this.settings.terminalBashIdleMs,
2062
2070
  editSoftEnabled: this.settings.editSoftEnabled,
2071
+ questionnaireEnabled: this.settings.questionnaireEnabled,
2063
2072
  thinkingWrap: this.settings.thinkingWrap,
2064
2073
  toolsWrap: this.settings.toolsWrap,
2065
2074
  visionBridgeEnabled: false,
@@ -2073,6 +2082,8 @@ export class DshClientSession {
2073
2082
  promptOverrides: {},
2074
2083
  effectiveSystemPrompt: this.settings.customSystemPrompt,
2075
2084
  promptSourceDefaults: {},
2085
+ // DSH 引擎不接标准 pi 的 customTool 工具 schema(走 goal-rpc),此处给空。
2086
+ toolsSchema: "",
2076
2087
  visionBridgeDefaultPrompt: "",
2077
2088
  visionModels: [],
2078
2089
  skills: this.skillsCache,
@@ -2108,6 +2119,8 @@ export class DshClientSession {
2108
2119
  this.settings.terminalBashIdleMs = partial.terminalBashIdleMs;
2109
2120
  if (partial.editSoftEnabled !== undefined)
2110
2121
  this.settings.editSoftEnabled = partial.editSoftEnabled;
2122
+ if (partial.questionnaireEnabled !== undefined)
2123
+ this.settings.questionnaireEnabled = partial.questionnaireEnabled;
2111
2124
  if (partial.thinkingWrap !== undefined)
2112
2125
  this.settings.thinkingWrap = partial.thinkingWrap;
2113
2126
  if (partial.toolsWrap !== undefined)
@@ -2135,6 +2148,7 @@ export class DshClientSession {
2135
2148
  terminalBash: this.settings.terminalBash,
2136
2149
  terminalBashIdleMs: this.settings.terminalBashIdleMs,
2137
2150
  editSoftEnabled: this.settings.editSoftEnabled,
2151
+ questionnaireEnabled: this.settings.questionnaireEnabled,
2138
2152
  thinkingWrap: this.settings.thinkingWrap,
2139
2153
  toolsWrap: this.settings.toolsWrap,
2140
2154
  disabledPlugins: this.settings.disabledPlugins,
@@ -1 +1 @@
1
- []
1
+ []