@qwen-code/web-shell 0.25.4-preview.1 → 0.26.0-nightly.20261023.5a0be33432
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-DDGm1BwT.js → PierreFilePreview-DoUYeaAC.js} +1 -1
- package/dist/{SpreadsheetPreview-Bo3dF5jL.js → SpreadsheetPreview-Ozgw7gyf.js} +2 -2
- package/dist/{WorkspaceFileBrowser-K5x5fG6c.js → WorkspaceFileBrowser-BKeFy6PK.js} +1008 -1041
- package/dist/{agents-route-hV5r9VDG.js → agents-route-D8D6jBvQ.js} +2 -2
- package/dist/daemon-react-sdk.js +1 -1
- package/dist/{index-CU9u4ISL.js → index-BInj1IN7.js} +61692 -56488
- package/dist/index.js +3 -3
- package/dist/sw.js +1 -1
- package/dist/transcript.js +7933 -7990
- package/dist/types/App.d.ts +7 -1
- package/dist/types/ManagedStandaloneApp.d.ts +9 -0
- package/dist/types/components/ChatEditor.d.ts +8 -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/ModelRefreshControl.d.ts +3 -0
- package/dist/types/components/SessionPrBadge.d.ts +7 -2
- package/dist/types/components/SplitView.d.ts +4 -1
- package/dist/types/components/UnavailableModelTooltip.d.ts +12 -0
- package/dist/types/components/WorkspaceSelector.d.ts +3 -1
- package/dist/types/components/artifacts/ArtifactPanel.d.ts +4 -1
- package/dist/types/components/artifacts/SideTaskPanel.d.ts +4 -1
- package/dist/types/components/artifacts/TrajectoryDetail.d.ts +34 -0
- package/dist/types/components/artifacts/TrajectoryExecutions.d.ts +6 -8
- package/dist/types/components/artifacts/TrajectoryOverview.d.ts +2 -0
- package/dist/types/components/artifacts/TrajectorySummaryBar.d.ts +35 -0
- package/dist/types/components/artifacts/TrajectoryToolbar.d.ts +24 -0
- package/dist/types/components/artifacts/TurnCallsPanel.d.ts +5 -0
- package/dist/types/components/artifacts/tool-call-content.d.ts +34 -0
- package/dist/types/components/dialogs/AddWorkspaceDialog.d.ts +5 -1
- package/dist/types/components/dialogs/ScheduledTasksDialog.d.ts +5 -1
- package/dist/types/components/dialogs/SessionRenameDialog.d.ts +10 -0
- package/dist/types/components/dialogs/WorkspaceAddStatusDialog.d.ts +3 -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 +23 -4
- package/dist/types/components/managed/ManagedTaskPanel.d.ts +3 -1
- package/dist/types/components/managed/ManagedWorkspaceNavigation.d.ts +16 -0
- package/dist/types/components/managed/WorkspaceBindingCreator.d.ts +17 -2
- package/dist/types/components/managed/generated/managed-agent-api.d.ts +827 -78
- package/dist/types/components/managed/java-managed-agent-client.d.ts +73 -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 +95 -13
- package/dist/types/components/managed/managed-creation-skills.d.ts +7 -0
- 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 +3 -0
- 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-session-rename.d.ts +13 -0
- package/dist/types/components/managed/use-managed-session.d.ts +1 -0
- package/dist/types/components/managed/use-managed-skills.d.ts +9 -2
- 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/McpApp.d.ts +4 -0
- package/dist/types/components/plugins/PluginManagerPage.d.ts +8 -1
- package/dist/types/components/sidebar/SessionDetailsTooltip.d.ts +2 -1
- package/dist/types/components/sidebar/WebShellSidebar.d.ts +9 -1
- package/dist/types/components/sidebar/WorkspaceMenu.d.ts +2 -0
- package/dist/types/components/sidebar/WorkspaceSection.d.ts +2 -1
- package/dist/types/components/sidebar/workspaceOrder.d.ts +12 -0
- package/dist/types/components/ui/tabs.d.ts +1 -1
- package/dist/types/components/workspaces/WorkspaceExecutionSelect.d.ts +6 -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/desktop-relay/desktop-relay-client.d.ts +1 -1
- 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/mcpAppHostContext.d.ts +10 -1
- package/dist/types/settings.d.ts +2 -0
- package/dist/types/trajectory/summarizeTrajectory.d.ts +5 -0
- package/dist/types/trajectory/trajectory-status.d.ts +51 -0
- package/dist/types/trajectory/useTrajectoryWindow.d.ts +2 -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-CfhBFIym.js → useDaemonMidTurnInjected-BUXyeZuZ.js} +4290 -4029
- package/package.json +1 -1
- package/dist/types/components/artifacts/TrajectoryFilters.d.ts +0 -15
- package/dist/types/components/artifacts/TrajectoryInspector.d.ts +0 -25
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@ Qwen Code Web Shell 是面向浏览器的 daemon 会话终端 UI,可以作为
|
|
|
5
5
|
|
|
6
6
|
## Managed 工作区与模型
|
|
7
7
|
|
|
8
|
-
完整 Web Shell 在配置 `managedAgentProvider`
|
|
8
|
+
完整 Web Shell 在配置 `managedAgentProvider` 后,在同一个项目列表中同时显示本地和托管工作区,不再使用本地/托管 tab。名称旁的标志显示所属服务,工作区的新建会话使用统一的书写图标;顶部“新任务”继承当前会话或草稿的服务。新任务的工作区菜单可双向选择两类服务已有的工作区,保留原身份和独立草稿,提交前不创建工作区或会话。添加工作区时可明确选择本地(daemon)或托管(Managed Agent),切换表单或取消不会改变当前会话。托管模式复用标准欢迎界面、输入框、对话和工具卡片、审批、停止按钮及侧栏,后台任务继续运行。未配置 provider 时保持原首页。Java Vite 演示入口 `?managedProvider=java` 默认托管,`managed=0` 可明确选择本地,`managed=1&managedSession=...` 深链继续有效;直接打开本地会话链接时保持本地。完整行为与边界见[统一工作区导航设计](../../docs/design/2026-10-21-unified-workspace-navigation.zh-CN.md)。
|
|
9
9
|
|
|
10
10
|
已有 Managed 会话的工作区、相对目录、Agent 预设和环境状态在会话上下文中查看。模型和工作区仍由 Java 授权,界面复用不改变后端工具范围或审批策略。导出的 `ManagedAgentWebShell` 独立入口保持兼容。
|
|
11
11
|
|
|
@@ -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
|
|
|
@@ -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 {
|
|
13
|
+
import { O as jo } from "./index-BInj1IN7.js";
|
|
14
14
|
const Xt = {
|
|
15
15
|
c: () => import("./c-eeMepfLm.js"),
|
|
16
16
|
cpp: () => import("./cpp-C0xArK63.js"),
|