@qwen-code/web-shell 0.26.0 → 0.26.1
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 +88 -34
- package/dist/{PierreFilePreview-BKwQRLBv.js → PierreFilePreview-BSn2Dh41.js} +1 -1
- package/dist/{SpreadsheetPreview-gWWUaRgJ.js → SpreadsheetPreview-Cs6SPlHq.js} +2 -2
- package/dist/{WorkspaceFileBrowser-BLwOb5Br.js → WorkspaceFileBrowser-Du2JJJeH.js} +2 -2
- package/dist/{agents-route-Pu5E-8GT.js → agents-route-Dk7VmGeH.js} +2 -2
- package/dist/daemon-react-sdk.js +1 -1
- package/dist/{index-BSBUK1JZ.js → index-C7o_tVb8.js} +60955 -56828
- package/dist/index.js +3 -3
- package/dist/sw.js +1 -1
- package/dist/transcript.js +6903 -6937
- package/dist/types/App.d.ts +7 -1
- package/dist/types/ManagedStandaloneApp.d.ts +9 -0
- package/dist/types/components/ChatEditor.d.ts +5 -2
- package/dist/types/components/ChatPane.d.ts +4 -1
- package/dist/types/components/ContextCompressionFeedback.d.ts +2 -2
- package/dist/types/components/ContextUsagePopover.d.ts +2 -2
- package/dist/types/components/SessionPrBadge.d.ts +5 -3
- package/dist/types/components/SplitView.d.ts +4 -1
- package/dist/types/components/UnavailableModelTooltip.d.ts +12 -0
- package/dist/types/components/artifacts/ArtifactPanel.d.ts +4 -1
- package/dist/types/components/artifacts/SideTaskPanel.d.ts +4 -1
- package/dist/types/components/dialogs/ScheduledTasksDialog.d.ts +5 -1
- package/dist/types/components/dialogs/scheduledTasksSchedule.d.ts +1 -0
- package/dist/types/components/managed/ManagedArchivedSessions.d.ts +17 -0
- package/dist/types/components/managed/ManagedChildSessionView.d.ts +8 -0
- package/dist/types/components/managed/ManagedMcpManagerPage.d.ts +8 -0
- package/dist/types/components/managed/ManagedRecoveryPanel.d.ts +9 -0
- package/dist/types/components/managed/ManagedSessionActions.d.ts +19 -0
- package/dist/types/components/managed/ManagedSessionNavigationRow.d.ts +9 -0
- package/dist/types/components/managed/ManagedSessionsPage.d.ts +4 -2
- package/dist/types/components/managed/ManagedTaskPanel.d.ts +3 -1
- package/dist/types/components/managed/ManagedWorkspaceNavigation.d.ts +3 -1
- package/dist/types/components/managed/WorkspaceBindingCreator.d.ts +3 -1
- package/dist/types/components/managed/generated/managed-agent-api.d.ts +594 -34
- package/dist/types/components/managed/java-managed-agent-client.d.ts +67 -3
- package/dist/types/components/managed/java-managed-agent-event-projector.d.ts +1 -2
- package/dist/types/components/managed/java-managed-agent-provider.d.ts +2 -6
- package/dist/types/components/managed/managed-agent-provider.d.ts +75 -13
- package/dist/types/components/managed/managed-lifecycle-messages.d.ts +80 -0
- package/dist/types/components/managed/managed-lifecycle-messages.transcript-stub.d.ts +2 -0
- package/dist/types/components/managed/managed-mcp-command-storage.d.ts +16 -0
- package/dist/types/components/managed/managed-mcp-management-types.d.ts +8 -0
- package/dist/types/components/managed/managed-mcp-messages.d.ts +4 -0
- package/dist/types/components/managed/managed-mcp-messages.transcript-stub.d.ts +2 -0
- package/dist/types/components/managed/managed-recovery-handoff.d.ts +17 -0
- package/dist/types/components/managed/managed-recovery-messages.d.ts +31 -0
- package/dist/types/components/managed/managed-session-export.d.ts +21 -0
- package/dist/types/components/managed/use-managed-actions.d.ts +2 -1
- package/dist/types/components/managed/use-managed-context-compression.d.ts +23 -0
- package/dist/types/components/managed/use-managed-mcp-management.d.ts +25 -0
- package/dist/types/components/managed/use-managed-mcp.d.ts +1 -1
- package/dist/types/components/managed/use-managed-recovery.d.ts +14 -0
- package/dist/types/components/managed/use-managed-session-lifecycle.d.ts +26 -0
- package/dist/types/components/managed/use-managed-tasks.d.ts +3 -0
- package/dist/types/components/managed/use-managed-turn-cancel.d.ts +9 -0
- package/dist/types/components/mcp/McpDetails.d.ts +30 -0
- package/dist/types/components/messages/SettingsMessage.d.ts +7 -1
- package/dist/types/components/plugins/PluginManagerPage.d.ts +3 -1
- package/dist/types/components/sidebar/RecentSessions.d.ts +23 -0
- package/dist/types/components/sidebar/SessionDetailsTooltip.d.ts +2 -1
- package/dist/types/components/sidebar/StandaloneRecents.d.ts +1 -1
- package/dist/types/components/sidebar/WebShellSidebar.d.ts +10 -3
- package/dist/types/components/sidebar/WorkspaceMenu.d.ts +3 -0
- package/dist/types/components/sidebar/workspaceOrder.d.ts +12 -0
- package/dist/types/customization.d.ts +1 -0
- package/dist/types/daemon/index.d.ts +1 -1
- package/dist/types/daemon/workspace/index.d.ts +1 -1
- package/dist/types/daemon/workspace/types.d.ts +25 -0
- package/dist/types/daemon-react-sdk.d.ts +2 -0
- package/dist/types/hooks/composer-draft-attachments.d.ts +21 -0
- package/dist/types/hooks/composer-draft-session.d.ts +39 -0
- package/dist/types/hooks/useComposerCore.d.ts +1 -0
- package/dist/types/hooks/useContextUsageControls.d.ts +8 -3
- package/dist/types/index.d.ts +2 -1
- package/dist/types/main.d.ts +3 -1
- package/dist/types/settings.d.ts +4 -0
- package/dist/types/unavailableModels.d.ts +24 -0
- package/dist/types/utils/composerModels.d.ts +18 -0
- package/dist/types/utils/indexeddb.d.ts +17 -0
- package/dist/{useDaemonMidTurnInjected-BoG_wM2a.js → useDaemonMidTurnInjected-DGp6d4J1.js} +1455 -1224
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -370,6 +370,12 @@ WebShell 提供两种接入形态:
|
|
|
370
370
|
|
|
371
371
|
### 1. 独立接入(自带 Provider)
|
|
372
372
|
|
|
373
|
+
加载状态文案遵循有效设置 `ui.accessibility.enableLoadingPhrases`。设为
|
|
374
|
+
`false` 时隐藏内置和宿主自定义文案,保留加载动画、计时和取消提示。设为
|
|
375
|
+
`true` 或未配置时,可以通过 `loadingPhrases={() => ['自定义文案']}` 定制文案,
|
|
376
|
+
或返回空数组隐藏文案;该属性适用于 `WebShell` 和 `WebShellWithProviders`。
|
|
377
|
+
设置行的展示别名为 `setting:loading-phrases`。
|
|
378
|
+
|
|
373
379
|
适合只需要嵌入一个终端视图的场景。组件内部自建
|
|
374
380
|
`DaemonWorkspaceProvider` + `DaemonSessionProvider`。
|
|
375
381
|
|
|
@@ -548,20 +554,22 @@ Web Shell 时生效。配置变化不会自动改变当前会话模式;当前
|
|
|
548
554
|
|
|
549
555
|
包含 `WebShell` 的所有 Props,加上 Provider 配置:
|
|
550
556
|
|
|
551
|
-
| 属性
|
|
552
|
-
|
|
|
553
|
-
| `urlNavigation`
|
|
554
|
-
| `browserNotifications`
|
|
555
|
-
| `baseUrl`
|
|
556
|
-
| `token`
|
|
557
|
-
| `sessionId`
|
|
558
|
-
| `workspaceId`
|
|
559
|
-
| `workspaceCwd`
|
|
560
|
-
| `sessionContext`
|
|
561
|
-
| `lockWorkspaceCwd`
|
|
562
|
-
| `restartSseOnPrompt`
|
|
563
|
-
| `settings`
|
|
564
|
-
| `modelManagement`
|
|
557
|
+
| 属性 | 类型 | 说明 |
|
|
558
|
+
| ------------------------------ | -------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
559
|
+
| `urlNavigation` | `WebShellUrlNavigationOptions` | 可选 URL 管理,含 `basePath`;默认关闭。详见 [URL 导航](#url-导航可选)。 |
|
|
560
|
+
| `browserNotifications` | `WebShellBrowserNotificationsOptions` | 可选接入通知;`appName` 默认 QwenCode,`iconUrl` 默认内联 PNG(支持 CDN),`defaultEnabled` 默认 false;已保存偏好优先;不传时停用,不重建会话 |
|
|
561
|
+
| `baseUrl` | `string` | daemon API 地址,未传时使用 `window.location.origin` |
|
|
562
|
+
| `token` | `string` | daemon API Bearer token |
|
|
563
|
+
| `sessionId` | `string` | 要连接的 session id;未传或 `undefined` 时保持空页面 |
|
|
564
|
+
| `workspaceId` | `string` | 已注册工作区 id,主要用于定位已有 session;不会注册或锁定工作区 |
|
|
565
|
+
| `workspaceCwd` | `string` | 已注册工作区路径,语义同 `workspaceId`;不会注册或锁定工作区,且优先于 `workspaceId` |
|
|
566
|
+
| `sessionContext` | `DaemonProductSessionContext` | 显式产品上下文;standalone 或 Live 上下文不能同时传 `workspaceId`、`workspaceCwd` 或 `lockWorkspaceCwd` |
|
|
567
|
+
| `lockWorkspaceCwd` | `string` | 锁定到指定工作区路径;未注册时自动持久注册,并隐藏其他工作区及添加、移除和选择入口 |
|
|
568
|
+
| `restartSseOnPrompt` | `boolean` | 每次 prompt 被 daemon 接收后重建存活 SSE 流;流断开时提交 prompt 总会立即重建(与此开关无关);默认关闭 |
|
|
569
|
+
| `settings` | `WebShellSettingsOptions` | 可选。控制原生 `/settings` 页面的呈现;见 [原生设置呈现](#原生设置呈现)。 |
|
|
570
|
+
| `modelManagement` | `WebShellModelManagementOptions` | 可选。控制 WebShell 内模型新增/删除交互,默认均允许;见 [模型增删交互](#模型增删交互)。 |
|
|
571
|
+
| `unavailableModels` | `readonly WebShellUnavailableModel[]` | 可选。在输入框模型选择器中追加禁用模型;见 [不可用模型目录](#不可用模型目录)。 |
|
|
572
|
+
| `mountUnavailableModelTooltip` | `WebShellUnavailableModelTooltipMount` | 可选。为禁用模型挂载自定义提示层,Solid/原生 DOM 宿主可写入传入的 `HTMLElement`。 |
|
|
565
573
|
|
|
566
574
|
### Workspace 会话创建超时
|
|
567
575
|
|
|
@@ -599,25 +607,27 @@ daemon 参数的完整含义和配置方式见
|
|
|
599
607
|
|
|
600
608
|
### WebShell
|
|
601
609
|
|
|
602
|
-
| 属性
|
|
603
|
-
|
|
|
604
|
-
| `onSessionIdChange`
|
|
605
|
-
| `onRefreshModels`
|
|
606
|
-
| `onSessionCreated`
|
|
607
|
-
| `theme`
|
|
608
|
-
| `onThemeChange`
|
|
609
|
-
| `onThemeResolved`
|
|
610
|
-
| `language`
|
|
611
|
-
| `onLanguageChange`
|
|
612
|
-
| `onLanguageResolved`
|
|
613
|
-
| `brand`
|
|
614
|
-
| `onBrandResolved`
|
|
615
|
-
| `onSlashCommand`
|
|
616
|
-
| `onSessionArtifactsChange`
|
|
617
|
-
| `onAssistantTurnSettled`
|
|
618
|
-
| `settings`
|
|
619
|
-
| `showToolCalls`
|
|
620
|
-
| `modelManagement`
|
|
610
|
+
| 属性 | 类型 | 说明 |
|
|
611
|
+
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
612
|
+
| `onSessionIdChange` | `(sessionId: string \| undefined, workspaceId?: string, workspaceCwd?: string, sessionContext?: DaemonProductSessionContext) => void` | 当前 session、工作区或显式产品上下文变化时触发;standalone 和 Live 通过第四个参数上报 |
|
|
613
|
+
| `onRefreshModels` | `({ workspaceCwd: string, sessionId?: string }) => void \| Promise<void>` | 用户刷新模型选择器时先调用;宿主可拉取并保存平台目录。未提供或返回空值都会继续重载 Qwen 模型目录并回读当前列表;拒绝则保留旧列表并显示错误。不会自动切换模型或通知其他页面。 |
|
|
614
|
+
| `onSessionCreated` | `(sessionId: string) => Promise<void> \| void` | 新 session 创建后触发;完成前会阻塞 session 初始化和 prompt 提交,最长等待 30 秒 |
|
|
615
|
+
| `theme` | `'dark' \| 'light'` | UI 主题,默认 `dark` |
|
|
616
|
+
| `onThemeChange` | `(theme: WebShellTheme) => void` | `/theme` 命令切换主题后触发 |
|
|
617
|
+
| `onThemeResolved` | `(theme: WebShellTheme) => void` | 未提供 `theme` 且 shell 从 daemon 设置解析出主题时触发;仅供宿主同步文档外观,不应持久化为宿主偏好 |
|
|
618
|
+
| `language` | `'en' \| 'zh-CN' \| 'zh' \| 'zh-cn'` | UI 语言 |
|
|
619
|
+
| `onLanguageChange` | `(language: WebShellLanguage) => void` | `/language ui` 切换 UI 语言后触发 |
|
|
620
|
+
| `onLanguageResolved` | `(language: WebShellLanguage) => void` | 未提供 `language` 时,有效 UI 语言在未成为宿主偏好时触发,包括设置解析、乐观切换与回滚;仅供同步文档外观 |
|
|
621
|
+
| `brand` | `WebShellBrand` | 产品品牌(名称与 Logo,`logo` 为 React 节点);提供时整体取代 daemon 解析出的品牌,见下方「品牌(白标)」 |
|
|
622
|
+
| `onBrandResolved` | `(brand: WebShellResolvedBrand) => void` | 品牌解析完成后触发,载荷只含 `name` 与 `logoDataUri`(不含 `logo` 节点),供宿主应用到自己的文档;shell 自身从不写 `document.title` 或 favicon |
|
|
623
|
+
| `onSlashCommand` | `(command: WebShellSlashCommand) => boolean \| void` | 斜杠命令进入默认处理前触发;返回 `true` 时由宿主接管并跳过默认行为 |
|
|
624
|
+
| `onSessionArtifactsChange` | `(change: WebShellSessionArtifactsChange) => void` | Session Artifact 初始恢复或变化后返回当前完整快照与 turn 投影 |
|
|
625
|
+
| `onAssistantTurnSettled` | `(event: WebShellAssistantTurnSettledEvent) => void` | daemon 权威终态提交后触发;多个 provider 可能重复上报,宿主按 `(sessionId, promptId)` 去重 |
|
|
626
|
+
| `settings` | `WebShellSettingsOptions` | 可选。控制原生 `/settings` 页面的呈现;见 [原生设置呈现](#原生设置呈现)。 |
|
|
627
|
+
| `showToolCalls` | `boolean` | 是否展示用户消息旁的工具调用入口;默认 `false`,独立页面设置为 `true`。 |
|
|
628
|
+
| `modelManagement` | `WebShellModelManagementOptions` | 可选。控制 WebShell 内模型新增/删除交互,默认均允许;见 [模型增删交互](#模型增删交互)。 |
|
|
629
|
+
| `unavailableModels` | `readonly WebShellUnavailableModel[]` | 可选。在输入框模型选择器中追加禁用模型;见 [不可用模型目录](#不可用模型目录)。 |
|
|
630
|
+
| `mountUnavailableModelTooltip` | `WebShellUnavailableModelTooltipMount` | 可选。为禁用模型挂载自定义提示层,Solid/原生 DOM 宿主可写入传入的 `HTMLElement`。 |
|
|
621
631
|
|
|
622
632
|
移动访问二维码入口由 `header.showMobileAccess?: boolean` 控制,默认隐藏,适用于主聊天和分屏页头。独立入口 `main.tsx` 显式设为 `true`,保留本地 Qwen Code 用户的入口。
|
|
623
633
|
|
|
@@ -825,7 +835,7 @@ Live 和频道右侧标题都为「设置」,左栏标题与首页品牌名共
|
|
|
825
835
|
/>
|
|
826
836
|
```
|
|
827
837
|
|
|
828
|
-
`WebShellSettingsOptions.includeItems` 与 `excludeItems` 接受 `WebShellSettingItemId` 值。可导入 `WEB_SHELL_SETTING_ITEM_IDS` 获取受支持的只读列表。这些 ID 是经过整理的别名,而不是 daemon 的配置路径:`setting:language`
|
|
838
|
+
`WebShellSettingsOptions.includeItems` 与 `excludeItems` 接受 `WebShellSettingItemId` 值。可导入 `WEB_SHELL_SETTING_ITEM_IDS` 获取受支持的只读列表。这些 ID 是经过整理的别名,而不是 daemon 的配置路径:`setting:language` 对应语言控件(界面语言),`setting:output-language` 对应模型输出语言(用户作用域,仅用户标签页显示),`setting:fast-model` 对应快速模型选择器。即使内部 schema 路径变化,别名也保持稳定。未知的运行时 ID 不匹配任何条目;配置白名单后,尚无公开别名的字段也会隐藏。
|
|
829
839
|
|
|
830
840
|
前端内置块有自己的 ID:`builtin:chat-width`、`builtin:browser-notifications`、`builtin:live-setup`、`builtin:local-control`、`builtin:connections` 和 `builtin:model-management`。`builtin:connections` 区块仅在 standalone 构建中渲染,而 standalone 入口不接收 `settings` 呈现配置,因此该 ID 目前对嵌入方没有作用。模型管理块与普通 Model 字段独立过滤;仅排除普通 Model 字段时,模型列表与选择仍然可用;配置白名单时需包含 `builtin:model-management` 才会显示该块。浏览器通知与聊天宽度相互独立。既有的能力和隐藏限制仍然适用,白名单不能强制显示不可用的控件,也不会改变排序。
|
|
831
841
|
|
|
@@ -858,6 +868,50 @@ Live 和频道右侧标题都为「设置」,左栏标题与首页品牌名共
|
|
|
858
868
|
|
|
859
869
|
这仅用于界面防误操作,不是安全权限。daemon API、CLI、配置文件写入和外部模型下发不受影响;`settings.excludeItems` 的呈现策略仍独立生效。
|
|
860
870
|
|
|
871
|
+
## 不可用模型目录
|
|
872
|
+
|
|
873
|
+
宿主可以把产品目录里当前不可用的模型追加到输入框选择器,显示为禁用行。这不是鉴权,也不会改 daemon 模型列表。`/model`、设置页和页脚 `availableModels` 保持原行为。与 daemon 已有模型 id 冲突时,可用模型优先。
|
|
874
|
+
|
|
875
|
+
纯文本提示:
|
|
876
|
+
|
|
877
|
+
```tsx
|
|
878
|
+
<WebShellWithProviders
|
|
879
|
+
unavailableModels={[
|
|
880
|
+
{ id: 'gpt-5', label: 'GPT-5', tooltip: '当前套餐不可用' },
|
|
881
|
+
]}
|
|
882
|
+
/>
|
|
883
|
+
```
|
|
884
|
+
|
|
885
|
+
提示层由 Web Shell 渲染为卡片:模型名作为标题,`tooltip` 作为说明。需要按钮(例如引导授权)时,使用 `mountUnavailableModelTooltip`;宿主只填标题下方的内容。公开载荷只有纯数据和一个 `HTMLElement`,Solid 或原生 DOM 宿主不必构造 React 元素:
|
|
886
|
+
|
|
887
|
+
```js
|
|
888
|
+
import { render } from 'solid-js/web';
|
|
889
|
+
import { createSignal } from 'solid-js';
|
|
890
|
+
|
|
891
|
+
function mountUnavailableModelTooltip(container, info) {
|
|
892
|
+
const [model, setModel] = createSignal(info.model);
|
|
893
|
+
const dispose = render(
|
|
894
|
+
() => (
|
|
895
|
+
<div>
|
|
896
|
+
<p>当前账号未授权该模型。</p>
|
|
897
|
+
<button type="button" onClick={() => authorize(model().id)}>
|
|
898
|
+
去授权
|
|
899
|
+
</button>
|
|
900
|
+
</div>
|
|
901
|
+
),
|
|
902
|
+
container,
|
|
903
|
+
);
|
|
904
|
+
return {
|
|
905
|
+
update(next) {
|
|
906
|
+
setModel(next.model);
|
|
907
|
+
},
|
|
908
|
+
dispose,
|
|
909
|
+
};
|
|
910
|
+
}
|
|
911
|
+
```
|
|
912
|
+
|
|
913
|
+
mount 成功则使用宿主内容;省略、返回 `null`/`undefined` 或同步失败则回退到 `model.tooltip`。mount 函数应保持引用稳定,并在 `dispose` 中拆除自己的视图。设计见 [English](../../docs/design/web-shell-unavailable-models.md) / [简体中文](../../docs/design/web-shell-unavailable-models.zh-CN.md)。
|
|
914
|
+
|
|
861
915
|
## Markdown 图表接入
|
|
862
916
|
|
|
863
917
|
`WebShell` 已内置 `markdown-chart` renderer 和 ECharts 运行时。宿主只需将
|
|
@@ -10,7 +10,7 @@ var j = (e, t, n) => (wn(e, t, "read from private field"), n ? n.call(e) : t.get
|
|
|
10
10
|
var Ui = (e, t, n) => Bo(zo(e), n, t);
|
|
11
11
|
import { jsx as Wo } from "react/jsx-runtime";
|
|
12
12
|
import { useRef as Lt, useEffect as zi } from "react";
|
|
13
|
-
import { O as jo } from "./index-
|
|
13
|
+
import { O as jo } from "./index-C7o_tVb8.js";
|
|
14
14
|
const Xt = {
|
|
15
15
|
c: () => import("./c-eeMepfLm.js"),
|
|
16
16
|
cpp: () => import("./cpp-C0xArK63.js"),
|