@qwen-code/web-shell 0.25.3-preview.0 → 0.25.4-preview.0
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/NOTICES.txt +1240 -0
- package/README.md +73 -27
- package/dist/{PierreFilePreview-DAD1C1oX.js → PierreFilePreview-vbxsbBX2.js} +1 -1
- package/dist/{SpreadsheetPreview-DShn9rcb.js → SpreadsheetPreview-yFPFfgME.js} +2 -2
- package/dist/{WorkspaceFileBrowser-zWgE76sn.js → WorkspaceFileBrowser-DGQbVeSD.js} +656 -656
- package/dist/{agents-route-CYSCpPDR.js → agents-route-D6wGe0cs.js} +2 -2
- package/dist/daemon-react-sdk.js +1 -1
- package/dist/docx-preview-BucJeYCm.js +5570 -0
- package/dist/{index-CWxIoEi_.js → index-ChD_Ub2E.js} +59450 -56243
- package/dist/index.js +3 -3
- package/dist/sw.js +1 -1
- package/dist/transcript.js +11721 -11050
- package/dist/types/App.d.ts +7 -2
- package/dist/types/adapters/messageTypes.d.ts +3 -0
- package/dist/types/adapters/transcriptToMessages.d.ts +3 -1
- package/dist/types/components/ChatEditor.d.ts +5 -0
- package/dist/types/components/MessageDeletionToolbar.d.ts +4 -0
- package/dist/types/components/MessageItem.d.ts +2 -0
- package/dist/types/components/MessageList.d.ts +2 -0
- package/dist/types/components/MessageTimestamp.d.ts +5 -2
- package/dist/types/components/ModelRefreshControl.d.ts +5 -0
- package/dist/types/components/artifacts/CodeReviewArtifactDetail.d.ts +5 -0
- package/dist/types/components/artifacts/DocxPreview.d.ts +8 -0
- package/dist/types/components/artifacts/TrajectoryExecutions.d.ts +9 -1
- package/dist/types/components/artifacts/TrajectoryInspector.d.ts +2 -1
- package/dist/types/components/artifacts/artifactUtils.d.ts +7 -0
- package/dist/types/components/artifacts/token-usage-messages.d.ts +9 -0
- package/dist/types/components/artifacts/token-usage-messages.transcript-stub.d.ts +7 -0
- package/dist/types/components/channels/channel-platform.d.ts +1 -1
- package/dist/types/components/dialogs/AddWorkspaceDialog.d.ts +3 -1
- package/dist/types/components/dialogs/ApprovalModeDialog.d.ts +3 -1
- package/dist/types/components/dialogs/ModelDialog.d.ts +3 -1
- package/dist/types/components/managed/RemoteWorkspaceRegistration.d.ts +9 -0
- package/dist/types/components/managed/generated/managed-agent-api.d.ts +692 -19
- package/dist/types/components/managed/java-managed-agent-client.d.ts +42 -0
- package/dist/types/components/managed/managed-agent-provider.d.ts +44 -0
- package/dist/types/components/managed/managed-input.d.ts +7 -0
- package/dist/types/components/managed/managed-pending-storage.d.ts +2 -0
- package/dist/types/components/managed/managed-session-messages.d.ts +1 -0
- package/dist/types/components/managed/managed-workspace-messages.d.ts +7 -0
- package/dist/types/components/managed/managed-workspace-messages.transcript-stub.d.ts +7 -0
- package/dist/types/components/managed/use-managed-approval-change.d.ts +2 -1
- package/dist/types/components/managed/use-managed-file-references.d.ts +19 -0
- package/dist/types/components/managed/use-managed-skills.d.ts +12 -0
- package/dist/types/components/managed/use-managed-tasks.d.ts +1 -0
- package/dist/types/components/message-deletion-messages.d.ts +7 -0
- package/dist/types/components/message-deletion-messages.transcript-stub.d.ts +7 -0
- package/dist/types/components/messages/TasksStatusMessage.d.ts +6 -0
- package/dist/types/components/messages/toolFormatting.d.ts +1 -0
- package/dist/types/components/messages/tools/ToolDetailsContext.d.ts +13 -0
- package/dist/types/customization.d.ts +4 -1
- package/dist/types/daemon/session/actions.d.ts +10 -2
- package/dist/types/daemon/session/types.d.ts +6 -1
- package/dist/types/hooks/useApprovalModes.d.ts +2 -0
- package/dist/types/hooks/useAtMentionSources.d.ts +5 -0
- package/dist/types/hooks/useComposerCore.d.ts +2 -0
- package/dist/types/hooks/useInputHistory.d.ts +0 -4
- package/dist/types/hooks/useMessageDeletion.d.ts +33 -0
- package/dist/types/hooks/useModelRefresh.d.ts +6 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/transcript.d.ts +2 -2
- package/dist/types/utils/composerTag.d.ts +1 -0
- package/dist/types/utils/dom.d.ts +1 -0
- package/dist/types/utils/message-deletion.d.ts +20 -0
- package/dist/types/utils/planMode.d.ts +4 -0
- package/dist/types/utils/plural.d.ts +7 -0
- package/dist/types/voice/voice-workspace-target.d.ts +2 -0
- package/dist/{useDaemonMidTurnInjected-Cf5L3VKm.js → useDaemonMidTurnInjected-CfhBFIym.js} +5788 -5298
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -502,6 +502,46 @@ const projection = projectChatRecordsToDaemonTranscript(records);
|
|
|
502
502
|
- 已完成的 assistant 消息支持复制;具备持久化 checkpoint 时还支持分支。
|
|
503
503
|
- 终态 turn error 支持复制显示的错误文本。重试入口保持独立,错误轮次不支持分支。
|
|
504
504
|
|
|
505
|
+
## 审批模式白名单
|
|
506
|
+
|
|
507
|
+
`settings.json` 可限制 Web Shell 提供的执行审批模式:
|
|
508
|
+
|
|
509
|
+
```json
|
|
510
|
+
{
|
|
511
|
+
"ui": {
|
|
512
|
+
"allowedApprovalModes": ["default", "auto"]
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
```
|
|
516
|
+
|
|
517
|
+
嵌入宿主可通过同名 Prop 配置,适用于 `WebShell` 和 `WebShellWithProviders`:
|
|
518
|
+
|
|
519
|
+
```tsx
|
|
520
|
+
<WebShellWithProviders
|
|
521
|
+
{...connectionProps}
|
|
522
|
+
allowedApprovalModes={['default', 'auto']}
|
|
523
|
+
/>
|
|
524
|
+
```
|
|
525
|
+
|
|
526
|
+
宿主显式传入时优先于设置,包括空数组。不配置时仍显示全部四种模式:
|
|
527
|
+
`default`、`auto-edit`、`auto`、`yolo`。不同设置作用域的列表使用替换合并,
|
|
528
|
+
不拼接;该键仅在用户、系统等操作者作用域生效,仓库工作区设置中的值会被忽略并警告。
|
|
529
|
+
支持导入 `WebShellApprovalMode` 类型。
|
|
530
|
+
|
|
531
|
+
主会话、分屏和侧边会话均受控:宿主 Prop 在各会话生效;未传时,各会话读取所属
|
|
532
|
+
工作区的设置接口(生效值仅来自操作者作用域)。下拉菜单、审批弹窗、快捷键循环和自定义页脚使用同一列表,保留内置顺序,
|
|
533
|
+
忽略重复值、未知值和 `plan`。空数组禁用下拉入口,弹窗无选项,快捷键不切换;
|
|
534
|
+
仅有一个且已处于该模式时,快捷键也不重复切换。非数组的错误设置回退到默认列表。
|
|
535
|
+
|
|
536
|
+
宿主 Prop 变化会更新打开的菜单和弹窗;settings.json 的编辑在下次加载
|
|
537
|
+
Web Shell 时生效。配置变化不会自动改变当前会话模式;当前模式被隐藏时,
|
|
538
|
+
入口仍显示真实模式,下一次快捷键切换到列表第一项。Plan 开关独立,不受白名单影响。
|
|
539
|
+
直接通过 Web Shell 斜杠命令选择隐藏模式也不会切换。
|
|
540
|
+
|
|
541
|
+
这是界面选项配置,不是后端权限约束,其他客户端和 daemon API 仍可切换模式。
|
|
542
|
+
该设置不在浏览器设置编辑器显示,请编辑配置文件;设置加载前使用默认列表,
|
|
543
|
+
独立会话无法读取工作区设置时可使用宿主 Prop。
|
|
544
|
+
|
|
505
545
|
## Props
|
|
506
546
|
|
|
507
547
|
### WebShellWithProviders
|
|
@@ -525,21 +565,26 @@ const projection = projectChatRecordsToDaemonTranscript(records);
|
|
|
525
565
|
|
|
526
566
|
### Workspace 会话创建超时
|
|
527
567
|
|
|
528
|
-
Workspace 创建由 SDK
|
|
529
|
-
|
|
530
|
-
|
|
568
|
+
Workspace 创建由 SDK 分别约束能力查询和创建请求。能力查询沿用 SDK 的通用 30 秒
|
|
569
|
+
请求预算;创建请求按 daemon 通告的会话预算 `limits.sessionRestoreTimeoutMs` 加 10 秒余量,
|
|
570
|
+
低于 30 秒时按 30 秒计,尚未读到能力时使用 70 秒。WebShell 再按同一通告预算推导
|
|
571
|
+
创建动作的总上限:一次 30 秒能力预检 + 一次创建请求 + 15 秒余量,默认会话预算
|
|
572
|
+
60 秒下为 115 秒。冷缓存或缓存过期时,能力查询 20 秒、创建请求 15 秒可以在约
|
|
573
|
+
35 秒后成功,无需调整配置。
|
|
531
574
|
此规则也适用于已有会话时创建新会话;SDK standalone 创建保持原有超时行为。
|
|
532
575
|
并发能力刷新可能取代原预检并延长请求链;即使每个请求都未超过自身截止时间,
|
|
533
|
-
|
|
576
|
+
创建动作仍可能先触及该总上限。
|
|
534
577
|
|
|
535
|
-
| 配置/机制 | 默认值
|
|
536
|
-
| --------------------------- |
|
|
537
|
-
| WebShell workspace 创建动作 | `
|
|
538
|
-
| `onSessionCreated` 回调 | `30000` ms
|
|
578
|
+
| 配置/机制 | 默认值 | 作用与边界 |
|
|
579
|
+
| --------------------------- | -------------------------------- | ---------------------------------------------------------------------------------------------------------- |
|
|
580
|
+
| WebShell workspace 创建动作 | 由通告预算推导,默认 `115000` ms | 兜底限制不响应 SDK 取消信号的传输;超时后成功返回的会话会被 detach。上限按 JavaScript 定时器的最大值截断。 |
|
|
581
|
+
| `onSessionCreated` 回调 | `30000` ms | 创建完成后才开始计时的独立宿主回调限制;没有公开的超时配置属性。 |
|
|
539
582
|
|
|
540
583
|
WebShell Provider 不透传 SDK 的
|
|
541
584
|
[`fetchTimeoutMs`](../../docs/developers/daemon/13-sdk-daemon-client.md#configuration),
|
|
542
|
-
|
|
585
|
+
能力预检使用 SDK 的通用请求预算;创建与 worktree reset 请求,以及上面的创建动作上限,
|
|
586
|
+
都随 daemon 通告的会话预算增长。提高 `--initialize-timeout-ms` 会提高该通告预算,
|
|
587
|
+
但不改变能力预检的 30 秒超时;显式设置的 `--session-restore-timeout-ms` 优先。
|
|
543
588
|
load/resume 使用独立预算;服务端优先级、客户端覆盖顺序、能力缓存前提和缺失时的回退值见
|
|
544
589
|
[restore 超时契约](../../docs/design/2026-08-07-safe-session-restore-timeout.md#timeout-contract),
|
|
545
590
|
SDK 和 WebShell 的 restore 余量见
|
|
@@ -554,24 +599,25 @@ daemon 参数的完整含义和配置方式见
|
|
|
554
599
|
|
|
555
600
|
### WebShell
|
|
556
601
|
|
|
557
|
-
| 属性 | 类型 | 说明
|
|
558
|
-
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
|
|
559
|
-
| `onSessionIdChange` | `(sessionId: string \| undefined, workspaceId?: string, workspaceCwd?: string, sessionContext?: DaemonProductSessionContext) => void` | 当前 session、工作区或显式产品上下文变化时触发;standalone 和 Live 通过第四个参数上报
|
|
560
|
-
| `
|
|
561
|
-
| `
|
|
562
|
-
| `
|
|
563
|
-
| `
|
|
564
|
-
| `
|
|
565
|
-
| `
|
|
566
|
-
| `
|
|
567
|
-
| `
|
|
568
|
-
| `
|
|
569
|
-
| `
|
|
570
|
-
| `
|
|
571
|
-
| `
|
|
572
|
-
| `
|
|
573
|
-
| `
|
|
574
|
-
| `
|
|
602
|
+
| 属性 | 类型 | 说明 |
|
|
603
|
+
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
604
|
+
| `onSessionIdChange` | `(sessionId: string \| undefined, workspaceId?: string, workspaceCwd?: string, sessionContext?: DaemonProductSessionContext) => void` | 当前 session、工作区或显式产品上下文变化时触发;standalone 和 Live 通过第四个参数上报 |
|
|
605
|
+
| `onRefreshModels` | `({ workspaceCwd: string, sessionId?: string }) => void \| Promise<void>` | 用户刷新模型选择器时先调用;宿主可拉取并保存平台目录。未提供或返回空值都会继续重载 Qwen 模型目录并回读当前列表;拒绝则保留旧列表并显示错误。不会自动切换模型或通知其他页面。 |
|
|
606
|
+
| `onSessionCreated` | `(sessionId: string) => Promise<void> \| void` | 新 session 创建后触发;完成前会阻塞 session 初始化和 prompt 提交,最长等待 30 秒 |
|
|
607
|
+
| `theme` | `'dark' \| 'light'` | UI 主题,默认 `dark` |
|
|
608
|
+
| `onThemeChange` | `(theme: WebShellTheme) => void` | `/theme` 命令切换主题后触发 |
|
|
609
|
+
| `onThemeResolved` | `(theme: WebShellTheme) => void` | 未提供 `theme` 且 shell 从 daemon 设置解析出主题时触发;仅供宿主同步文档外观,不应持久化为宿主偏好 |
|
|
610
|
+
| `language` | `'en' \| 'zh-CN' \| 'zh' \| 'zh-cn'` | UI 语言 |
|
|
611
|
+
| `onLanguageChange` | `(language: WebShellLanguage) => void` | `/language ui` 切换 UI 语言后触发 |
|
|
612
|
+
| `onLanguageResolved` | `(language: WebShellLanguage) => void` | 未提供 `language` 时,有效 UI 语言在未成为宿主偏好时触发,包括设置解析、乐观切换与回滚;仅供同步文档外观 |
|
|
613
|
+
| `brand` | `WebShellBrand` | 产品品牌(名称与 Logo,`logo` 为 React 节点);提供时整体取代 daemon 解析出的品牌,见下方「品牌(白标)」 |
|
|
614
|
+
| `onBrandResolved` | `(brand: WebShellResolvedBrand) => void` | 品牌解析完成后触发,载荷只含 `name` 与 `logoDataUri`(不含 `logo` 节点),供宿主应用到自己的文档;shell 自身从不写 `document.title` 或 favicon |
|
|
615
|
+
| `onSlashCommand` | `(command: WebShellSlashCommand) => boolean \| void` | 斜杠命令进入默认处理前触发;返回 `true` 时由宿主接管并跳过默认行为 |
|
|
616
|
+
| `onSessionArtifactsChange` | `(change: WebShellSessionArtifactsChange) => void` | Session Artifact 初始恢复或变化后返回当前完整快照与 turn 投影 |
|
|
617
|
+
| `onAssistantTurnSettled` | `(event: WebShellAssistantTurnSettledEvent) => void` | daemon 权威终态提交后触发;多个 provider 可能重复上报,宿主按 `(sessionId, promptId)` 去重 |
|
|
618
|
+
| `settings` | `WebShellSettingsOptions` | 可选。控制原生 `/settings` 页面的呈现;见 [原生设置呈现](#原生设置呈现)。 |
|
|
619
|
+
| `showToolCalls` | `boolean` | 是否展示用户消息旁的工具调用入口;默认 `false`,独立页面设置为 `true`。 |
|
|
620
|
+
| `modelManagement` | `WebShellModelManagementOptions` | 可选。控制 WebShell 内模型新增/删除交互,默认均允许;见 [模型增删交互](#模型增删交互)。 |
|
|
575
621
|
|
|
576
622
|
移动访问二维码入口由 `header.showMobileAccess?: boolean` 控制,默认隐藏,适用于主聊天和分屏页头。独立入口 `main.tsx` 显式设为 `true`,保留本地 Qwen Code 用户的入口。
|
|
577
623
|
|
|
@@ -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 { P as jo } from "./index-
|
|
13
|
+
import { P as jo } from "./index-ChD_Ub2E.js";
|
|
14
14
|
const Xt = {
|
|
15
15
|
c: () => import("./c-eeMepfLm.js"),
|
|
16
16
|
cpp: () => import("./cpp-C0xArK63.js"),
|