@qwen-code/web-shell 0.26.3-preview.0 → 0.26.4
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 +110 -9
- package/dist/{PierreFilePreview-DK0Qg591.js → PierreFilePreview-CVoJL-kD.js} +1 -1
- package/dist/{SpreadsheetPreview-nx5JXOUL.js → SpreadsheetPreview-CPSqOai5.js} +2 -2
- package/dist/{WorkspaceFileBrowser-D5vot7Ow.js → WorkspaceFileBrowser-IuQcqNWd.js} +2 -2
- package/dist/agents-route-BBfOMyJ5.js +1552 -0
- package/dist/daemon-react-sdk.js +1 -1
- package/dist/{index-bGRCmaBo.js → index-DyFoZ0bq.js} +59574 -59029
- package/dist/index.js +3 -3
- package/dist/sw.js +1 -1
- package/dist/transcript.js +9243 -9071
- package/dist/types/App.d.ts +8 -4
- package/dist/types/adapters/messageTypes.d.ts +7 -0
- package/dist/types/components/ChatEditor.d.ts +2 -0
- package/dist/types/components/DaemonConnectionBanner.d.ts +1 -0
- package/dist/types/components/SessionOverviewPanel.d.ts +6 -3
- package/dist/types/components/composer/AddMenu.d.ts +2 -1
- package/dist/types/components/dialogs/AddWorkspaceDialog.d.ts +7 -3
- package/dist/types/components/dialogs/DialogShell.d.ts +5 -2
- package/dist/types/components/local-control-api.d.ts +2 -1
- package/dist/types/components/managed/ManagedSessionWorktrees.d.ts +12 -0
- package/dist/types/components/managed/ManagedWorktreePopover.d.ts +9 -0
- package/dist/types/components/managed/generated/managed-agent-api.d.ts +249 -8
- package/dist/types/components/managed/java-managed-agent-client.d.ts +8 -9
- package/dist/types/components/managed/managed-agent-provider.d.ts +40 -9
- package/dist/types/components/managed/managed-worktree-messages.d.ts +41 -0
- package/dist/types/components/managed/use-managed-file-upload.d.ts +3 -5
- package/dist/types/components/messages/McpApp.d.ts +4 -0
- package/dist/types/components/messages/SettingsMessage.d.ts +2 -1
- package/dist/types/components/sidebar/SessionDetailsTooltip.d.ts +3 -2
- package/dist/types/components/sidebar/WebShellSidebar.d.ts +5 -3
- package/dist/types/components/ui/alert.d.ts +1 -1
- package/dist/types/components/ui/badge.d.ts +1 -1
- package/dist/types/components/ui/button.d.ts +2 -2
- package/dist/types/components/workspace-agents/agent-events.d.ts +1 -1
- package/dist/types/components/workspace-agents/session-agents-api.d.ts +2 -1
- package/dist/types/components/workspace-agents/threads-api.d.ts +2 -1
- package/dist/types/components/workspace-agents/useAgentChatEntry.d.ts +3 -1
- package/dist/types/customization.d.ts +5 -0
- package/dist/types/daemon/availability-context.d.ts +4 -0
- package/dist/types/daemon/availability.d.ts +43 -0
- package/dist/types/daemon/availability.test-fixtures.d.ts +12 -0
- package/dist/types/daemon/rest-request.d.ts +8 -0
- package/dist/types/desktop-relay/desktop-relay-client.d.ts +1 -1
- package/dist/types/hooks/useMcpAppMessages.d.ts +17 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/live/useLiveVoiceSetup.d.ts +1 -1
- package/dist/types/local-files/bridge-client.d.ts +5 -0
- package/dist/types/mcp-app/messages.d.ts +4 -2
- package/dist/types/mcpAppHostContext.d.ts +25 -3
- package/dist/types/session-catalog/session-catalog-store.d.ts +2 -0
- package/dist/types/settings.d.ts +1 -1
- package/dist/types/utils/planMode.d.ts +1 -1
- package/dist/{useDaemonMidTurnInjected-DPmdVYAB.js → useDaemonMidTurnInjected-BpWZTnoN.js} +8272 -6961
- package/package.json +1 -1
- package/dist/agents-route-CoDAxwQK.js +0 -1546
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
|
|
|
@@ -13,7 +13,7 @@ Qwen Code Web Shell 是面向浏览器的 daemon 会话终端 UI,可以作为
|
|
|
13
13
|
|
|
14
14
|
Java 新建页直接复用标准 Web Shell 的欢迎标题、输入框、原生模型菜单和工作区底栏。选择工作区、相对目录和模型后输入任务并发送,一次请求创建会话与首个 Turn;响应丢失保留冻结请求,已创建后的读回重试不会再次发送输入。旧 provider 的空创建能力保持兼容。更换工作区需新建会话;支持模型切换的会话可在空闲时选择服务端允许的模型,绑定工作区内切换目录仍使用已有修订校验流程。对话复用标准消息列表及输入框布局,保留 Managed 审批、取消、结果与未确认请求重试;不提供 daemon 附件、文件引用或斜杠命令。
|
|
15
15
|
|
|
16
|
-
工作区查询返回 `capabilities.approvalModeSelection: true`
|
|
16
|
+
工作区查询返回 `capabilities.approvalModeSelection: true` 时,新会话按所选 Agent 查询审批策略,并复用输入框的策略菜单。Shell profile 支持 Ask Approval 与 Auto Edit,纯文件 profile 还可提供 Full Access;托管模式不提供 Classifier Approval 或 Plan。已保存的 AgentDefinition 只提供自身固定策略。选项加载失败或无效时暂停创建;更换模型会重新读取选项并保留草稿和工作区。明确选择的策略与会话创建请求一起固定保存,刷新后的重试沿用原策略;旧待确认请求继续省略策略。已有会话显示服务端保存的策略并禁用修改,需要新建会话才能更换。未宣告能力的旧服务端保留原行为。
|
|
17
17
|
|
|
18
18
|
已有工作区托管会话的输入框优先显示服务端已确认的模型选择,其次显示最近成功主模型请求的实际模型;没有这些数据时只显示 Agent 身份。会话摘要返回 `capabilities.modelChange: true` 时,模型菜单从 `/session-models/query` 读取服务端允许列表,空闲时通过 `/session-models/change` 在同一会话内切换,后续消息使用新模型。活跃任务、审批、目录切换或未确认请求期间暂停切换。请求发送前保存会话、目标模型、修订和幂等键;响应不确定或刷新后继续确认原请求,读回后才更新选择,对话与草稿保留。旧服务端和不支持的会话保持只读模型控件。上下文浮层复用原生环形控件,显示最近成功请求的 prompt token 数、同一模型配置的窗口及剩余容量;切换后等待新模型观测,缺少有效计数时明确显示未知,不能用累计计费量推测。该浮层仅提供当前占用,不显示尚无托管接口支持的手动压缩或分类明细操作。本地模式保持原有模型切换与上下文功能。
|
|
19
19
|
|
|
@@ -71,11 +71,11 @@ Pierre 目录树,点击文件后左侧显示内容、右侧保留目录树。M
|
|
|
71
71
|
嵌入式宿主通过 `rightPanel={{ items: ['files', 'review', 'sideTask'] }}` 启用。
|
|
72
72
|
此入口需要有效、可信且无歧义的 daemon 工作区归属。
|
|
73
73
|
|
|
74
|
-
|
|
74
|
+
新建会话页的内置 `header` 只提供工作区级入口:右侧面板开关、启用时的
|
|
75
75
|
Local Control,以及多主机位置。面板开关遵循 `header.items`,并在工作区确定后
|
|
76
76
|
才显示;`rightPanel.items` 此时仅保留 `files`、`terminal` 和 `webPreview`,
|
|
77
77
|
`review`、`sideTask`、`trajectory` 要等首条消息创建会话后才出现。
|
|
78
|
-
自定义 `renderChatHeader`
|
|
78
|
+
自定义 `renderChatHeader` 的宿主在新建会话页仍不调用该渲染器。
|
|
79
79
|
输入框没有显示工作区选择器时,精简 header 保留只读工作区图标。
|
|
80
80
|
面板跟随输入框选择的工作区;各工作区草稿独立保存,刷新和会话切换后可恢复,
|
|
81
81
|
首条消息创建会话时迁移面板并删除草稿。草稿与会话各保留最近 20 份面板存档,
|
|
@@ -124,7 +124,7 @@ Artifact 发布的网页链接会在对应轮次留下产物卡片;开启网
|
|
|
124
124
|
内容的记录不能自动还原;任意开发网站也不会自动打包成离线网页。
|
|
125
125
|
|
|
126
126
|
嵌入式接入方通过 `rightPanel={{ items: ['review', 'sideTask', 'webPreview'] }}`
|
|
127
|
-
|
|
127
|
+
开启入口。新建会话页也可使用此入口;网页预览的草稿按输入框已选工作区保存,
|
|
128
128
|
首条消息创建会话后随面板迁移。宿主 CSP 需要允许预览来源的 `frame-src`,同时用
|
|
129
129
|
`frame-ancestors` 限制宿主页面只能被受信任的宿主嵌入,不能允许开发页面
|
|
130
130
|
反过来嵌入宿主。预览容器会限制直接子页面跳转,但开发应用自己的后代
|
|
@@ -573,6 +573,69 @@ Web Shell 时生效。配置变化不会自动改变当前会话模式;当前
|
|
|
573
573
|
| `unavailableModels` | `readonly WebShellUnavailableModel[]` | 可选。在输入框模型选择器中追加禁用模型;见 [不可用模型目录](#不可用模型目录)。 |
|
|
574
574
|
| `mountUnavailableModelTooltip` | `WebShellUnavailableModelTooltipMount` | 可选。为禁用模型挂载自定义提示层,Solid/原生 DOM 宿主可写入传入的 `HTMLElement`。 |
|
|
575
575
|
|
|
576
|
+
### 宿主目录选择
|
|
577
|
+
|
|
578
|
+
`WebShell` 和 `WebShellWithProviders` 均接受可选的
|
|
579
|
+
`onPickWorkspaceDirectory`,其公开类型 `WebShellWorkspaceDirectoryPicker` 为
|
|
580
|
+
`(opts?: { signal?: AbortSignal }) => Promise<string | undefined>`。
|
|
581
|
+
宿主返回当前已连接 daemon 文件系统中已存在目录的绝对路径;用户取消时返回
|
|
582
|
+
`undefined`,也可以抛出 `AbortError`。浏览器本机的目录句柄不能作为返回值。
|
|
583
|
+
|
|
584
|
+
```tsx
|
|
585
|
+
import {
|
|
586
|
+
WebShellWithProviders,
|
|
587
|
+
type WebShellWorkspaceDirectoryPicker,
|
|
588
|
+
} from '@qwen-code/web-shell';
|
|
589
|
+
|
|
590
|
+
const onPickWorkspaceDirectory: WebShellWorkspaceDirectoryPicker = (opts) =>
|
|
591
|
+
openHostDirectoryPicker({ daemonOrigin, signal: opts?.signal });
|
|
592
|
+
|
|
593
|
+
<WebShellWithProviders
|
|
594
|
+
baseUrl={daemonOrigin}
|
|
595
|
+
onPickWorkspaceDirectory={onPickWorkspaceDirectory}
|
|
596
|
+
/>;
|
|
597
|
+
```
|
|
598
|
+
|
|
599
|
+
示例中的 `openHostDirectoryPicker` 由宿主实现,并与 `daemonOrigin` 指向同一台
|
|
600
|
+
计算机。配置回调后,现有 Add Workspace 对话框的 Browse 按钮优先调用它;
|
|
601
|
+
headless 或跨源 daemon 无需声明 `native_directory_picker`。
|
|
602
|
+
回调只服务于当前已连接目标,并要求 workspace 的 `status === 'connected'`;
|
|
603
|
+
状态不满足时不显示 Browse,已配置宿主回调时也不会回退到原生选择器。
|
|
604
|
+
不能用它为 Folder source 中另一台计算机选择路径。
|
|
605
|
+
返回路径只回填输入框,不会自动注册;用户仍通过 Add 完成现有注册、刷新和选中流程,
|
|
606
|
+
持久化能力检查和 trust 语义保持不变。选择进行中时 Add 按钮不可用,表单提交也会被
|
|
607
|
+
阻止,避免注册选择前的旧路径。
|
|
608
|
+
|
|
609
|
+
Git URL 来源的父目录 Browse 操作也使用此回调。宿主仍返回已存在的目录,
|
|
610
|
+
对话框将父目录与 URL 中的仓库名组合为克隆目标;选择本身不会启动克隆或注册,
|
|
611
|
+
仍需用户单独提交。它与本地目录选择共用取消、迟到结果保护、忙碌状态和焦点交接。
|
|
612
|
+
|
|
613
|
+
宿主选择器进行中时,Add Workspace 临时释放模态限制,允许点击和聚焦 Web Shell
|
|
614
|
+
portal 外的宿主 UI;完成或取消后恢复。宿主负责自己的选择器可访问性、焦点管理和
|
|
615
|
+
层叠顺序。原生选择器保留原来的模态行为;这不增加公开的模态配置选项。
|
|
616
|
+
|
|
617
|
+
模态切换仍会重新挂载内容,不保证 DOM 节点身份;对话框保存并恢复正文滚动偏移。
|
|
618
|
+
浏览器观测确认重挂会重播入场动画;交接期间的动画抑制暂缓处理。
|
|
619
|
+
已获得焦点的宿主 UI 保持优先,否则经兼容 shadow root 的检查后,将焦点停放在 Add
|
|
620
|
+
面板。完成或取消后,以 `preventScroll` 将焦点返回新的 Browse 按钮;按钮不可用时
|
|
621
|
+
返回面板。选择期间面板设置 `aria-busy`,Browse 显示“正在选择目录…”。
|
|
622
|
+
并发打开其他 `DialogShell` 后,下层恢复时的 Radix 层级与 `aria-hidden` 排序仍未
|
|
623
|
+
解决;传统滚动条引起的水平布局偏移尚未验证。
|
|
624
|
+
|
|
625
|
+
Escape 仍沿用 Add Workspace 的关闭行为:宿主使用普通冒泡 Escape 处理器时,
|
|
626
|
+
`DialogShell` 的 document 捕获处理会先关闭 Add 并取消选择器。宿主显式 Cancel
|
|
627
|
+
返回 `undefined` 则保留 Add;只取消宿主选择器的独立 Escape 归属仍待评审。
|
|
628
|
+
|
|
629
|
+
每次选择都会传入独立的 signal。对话框关闭、卸载、目标或连接变化、宿主/原生选择
|
|
630
|
+
方式切换、请求被后续选择替换时会触发 abort,宿主应据此关闭自己的 UI 并取消相关请求。即使宿主忽略 abort,
|
|
631
|
+
旧请求迟到的结果或错误也不会修改当前对话框。普通渲染中重建回调引用不会取消当前选择。
|
|
632
|
+
返回 `undefined`、`AbortError` 或其他错误均不会自动调用原生选择器;真实错误使用
|
|
633
|
+
现有错误提示。未配置回调时,保留原生选择器的能力、目标和同源检查及手动输入行为。
|
|
634
|
+
客户端取消不保证关闭服务端原生 OS 对话框。
|
|
635
|
+
|
|
636
|
+
API 位置、签名和宿主优先级是本次实现的选择,仍待维护者评审,详见
|
|
637
|
+
[设计文档](../../docs/design/web-shell-host-directory-picker.zh-CN.md)。
|
|
638
|
+
|
|
576
639
|
### Workspace 会话创建超时
|
|
577
640
|
|
|
578
641
|
Workspace 创建由 SDK 分别约束能力查询和创建请求。能力查询沿用 SDK 的通用 30 秒
|
|
@@ -613,6 +676,7 @@ daemon 参数的完整含义和配置方式见
|
|
|
613
676
|
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
614
677
|
| `onSessionIdChange` | `(sessionId: string \| undefined, workspaceId?: string, workspaceCwd?: string, sessionContext?: DaemonProductSessionContext) => void` | 当前 session、工作区或显式产品上下文变化时触发;standalone 和 Live 通过第四个参数上报 |
|
|
615
678
|
| `onRefreshModels` | `({ workspaceCwd: string, sessionId?: string }) => void \| Promise<void>` | 用户刷新模型选择器时先调用;宿主可拉取并保存平台目录。未提供或返回空值都会继续重载 Qwen 模型目录并回读当前列表;拒绝则保留旧列表并显示错误。不会自动切换模型或通知其他页面。 |
|
|
679
|
+
| `onPickWorkspaceDirectory` | `WebShellWorkspaceDirectoryPicker` | 可选。接入宿主的 daemon 目录选择器,优先于原生选择器;见 [宿主目录选择](#宿主目录选择)。 |
|
|
616
680
|
| `onSessionCreated` | `(sessionId: string) => Promise<void> \| void` | 新 session 创建后触发;完成前会阻塞 session 初始化和 prompt 提交,最长等待 30 秒 |
|
|
617
681
|
| `theme` | `'dark' \| 'light'` | UI 主题,默认 `dark` |
|
|
618
682
|
| `onThemeChange` | `(theme: WebShellTheme) => void` | `/theme` 命令切换主题后触发 |
|
|
@@ -626,6 +690,7 @@ daemon 参数的完整含义和配置方式见
|
|
|
626
690
|
| `onSessionArtifactsChange` | `(change: WebShellSessionArtifactsChange) => void` | Session Artifact 初始恢复或变化后返回当前完整快照与 turn 投影 |
|
|
627
691
|
| `onAssistantTurnSettled` | `(event: WebShellAssistantTurnSettledEvent) => void` | daemon 权威终态提交后触发;多个 provider 可能重复上报,宿主按 `(sessionId, promptId)` 去重 |
|
|
628
692
|
| `settings` | `WebShellSettingsOptions` | 可选。控制原生 `/settings` 页面的呈现;见 [原生设置呈现](#原生设置呈现)。 |
|
|
693
|
+
| `composerVariant` | `'default' \| 'simple'` | 输入框展示模式;默认 `default`,`simple` 使用胶囊形简洁输入框,适用于主聊天、分屏和侧任务。 |
|
|
629
694
|
| `showToolCalls` | `boolean` | 是否展示用户消息旁的工具调用入口;默认 `false`,独立页面设置为 `true`。 |
|
|
630
695
|
| `modelManagement` | `WebShellModelManagementOptions` | 可选。控制 WebShell 内模型新增/删除交互,默认均允许;见 [模型增删交互](#模型增删交互)。 |
|
|
631
696
|
| `unavailableModels` | `readonly WebShellUnavailableModel[]` | 可选。在输入框模型选择器中追加禁用模型;见 [不可用模型目录](#不可用模型目录)。 |
|
|
@@ -702,6 +767,40 @@ load/catch-up 结束;同 Session 短暂断线保留去重基线并主动对账
|
|
|
702
767
|
隐藏后,Sidebar 的会话目录固定查询 `sourceType: "default"`;独立 WebShell 和未配置
|
|
703
768
|
该选项的宿主仍默认展示来源切换。
|
|
704
769
|
|
|
770
|
+
### 简洁输入框
|
|
771
|
+
|
|
772
|
+
通过 `composerVariant="simple"` 启用胶囊形输入框,适用于 `WebShell` 和
|
|
773
|
+
`WebShellWithProviders`:
|
|
774
|
+
|
|
775
|
+
```tsx
|
|
776
|
+
<WebShellWithProviders composerVariant="simple" />
|
|
777
|
+
<WebShell composerVariant="simple" />
|
|
778
|
+
```
|
|
779
|
+
|
|
780
|
+
`WebShell` 仍需放在现有 daemon providers 中。省略该属性或传入 `"default"`
|
|
781
|
+
时使用原有输入框;该选项不增加 daemon 配置或持久化设置。
|
|
782
|
+
|
|
783
|
+
简洁模式在左侧保留 + 菜单,中间为编辑区,右侧显示当前主要操作:有内容时发送,
|
|
784
|
+
语音可用且输入为空时显示已有语音入口,运行中保留停止操作。语音不受支持或不可用
|
|
785
|
+
时,简洁布局右侧显示发送按钮,空内容的闲置状态下禁用,不提供麦克风占位入口。
|
|
786
|
+
长文本和附件可展开,继续使用已有文本编辑、输入法、附件和提交行为;简洁加号使用
|
|
787
|
+
中性灰。简洁录音/转写时,语音控件占据胶囊整行以容纳波形、计时和停止操作,暂时
|
|
788
|
+
隐藏编辑区、加号、模式和提交控件但不卸载编辑器,结束后恢复。高级/默认录音展示
|
|
789
|
+
保持原样。
|
|
790
|
+
触屏设备可通过语音/发送左侧的设置图标直接“切换至高级模式”,原地使用现有完整
|
|
791
|
+
移动端输入框,再通过原语音控件前的返回图标“切换至简洁模式”,顺序为返回 →
|
|
792
|
+
麦克风 → 发送,让麦克风紧挨发送。高级模式除返回
|
|
793
|
+
按钮外保持原有布局、工具栏、语音/发送行为和图标尺寸,不应用简洁模式的麦克风
|
|
794
|
+
放大或语音/发送互斥。切换保留文字、附件和编辑器节点,不打开菜单或全屏对话框,
|
|
795
|
+
也不修改 iOS 原生编辑菜单;默认模式及桌面端不新增此切换按钮。
|
|
796
|
+
|
|
797
|
+
简洁 + 菜单仅提供照片、拍照、添加文件附件、上传至工作区、引用文件、扩展、MCP、
|
|
798
|
+
技能八类入口,并遵守平台及能力检查。命令、历史、shell 模式、Plan、实时语音及次要
|
|
799
|
+
工具栏控件不放入简洁菜单,工作区、权限模式、模型、上下文和宿主控件在高级模式按
|
|
800
|
+
原方式展示。桌面菜单使用下拉形式,触屏使用抽屉。已有 `composerToolbarActions`
|
|
801
|
+
等配置继续决定默认和高级模式的可选操作,`composerPlaceholders` 占位文字覆盖继续
|
|
802
|
+
生效。
|
|
803
|
+
|
|
705
804
|
### 品牌(白标)
|
|
706
805
|
|
|
707
806
|
独立部署(`qwen serve` 打开的 Web Shell)用 `settings.json` 换名换 Logo,嵌入宿主用
|
|
@@ -775,7 +874,7 @@ daemon 不净化它读到的文件。该配置只从 User / System / SystemDefau
|
|
|
775
874
|
|
|
776
875
|
## 左侧导航与嵌入布局
|
|
777
876
|
|
|
778
|
-
**Breaking change(不兼容变更)**:省略 `sidebar`
|
|
877
|
+
**Breaking change(不兼容变更)**:省略 `sidebar` 从隐藏侧栏改为展示首页;省略导航/底部菜单列表从默认全部改为仅新建会话/收起。旧宿主若要保持隐藏,传 `sidebar={false}`;若要保留原菜单,显式填写 `primaryNav.items` 和 `footer.items`。窄屏品牌默认显示,需隐藏时设置 `branding.hideWhenCompact: true`。
|
|
779
878
|
|
|
780
879
|
侧栏采用自动布局,不需要配置 `layout`。宿主不传 `sidebar`、传 `true` 或空配置时,
|
|
781
880
|
默认仅首页:展示 300px 二级栏,不展示一级图标栏。显式配置其他可用导航项后,
|
|
@@ -786,7 +885,7 @@ daemon 不净化它读到的文件。该配置只从 User / System / SystemDefau
|
|
|
786
885
|
未配置列表不再默认开放所有功能;宿主原有显式列表及 renderer 继续生效。
|
|
787
886
|
|
|
788
887
|
双栏模式下,桌面端左侧包含常驻图标栏和可收起的首页栏。
|
|
789
|
-
|
|
888
|
+
首页保留新建会话、置顶和工作区会话;
|
|
790
889
|
主要功能入口直接显示在图标栏;底部只保留「更多」与「展开/收起」,
|
|
791
890
|
版本号、设置、主题及其他已启用底部操作收进「更多」,关闭菜单不中断更新检查或本地文件连接。
|
|
792
891
|
仅首页时收起/展开按钮放在二级底部,收起保留原有 56px 窄条与悬浮会话面板。存在一级栏时按钮只放一级底部,所有二级栏均无此按钮;收起后二级完全隐藏,仅剩 56px 一级栏。点击首页或一级展开按钮恢复会话栏,点击功能图标打开对应的现有页面。
|
|
@@ -798,7 +897,7 @@ daemon 不净化它读到的文件。该配置只从 User / System / SystemDefau
|
|
|
798
897
|
单栏默认 300px。已有保存宽度优先,保存值仍表示侧栏总宽度,展开时至少为单栏 220px、双栏 276px;不对已有值直接增加 56px。分屏入口和分屏自动折叠使用容器宽度 1024px,分屏侧栏空间阈值为容器 1200px。
|
|
799
898
|
环境面板的停靠断点不计入图标栏的 56px(由消息区让出这部分宽度),因此面板停靠的窗口宽度阈值与仅首页侧栏一致——例如 1440px 窗口仍可停靠。
|
|
800
899
|
|
|
801
|
-
|
|
900
|
+
双栏的「频道」入口同时展示按工作区文件夹分组的频道会话和右侧设置页;频道归档在「设置 → 归档会话」内切换到「频道」查看。
|
|
802
901
|
文件夹保留展开收起、搜索与会话操作;工作区管理、添加及文件夹行操作仅在首页展示。
|
|
803
902
|
点击会话后右侧切为详情,再点击一级「频道」图标可重新打开管理页;左栏标题下显示分隔线,
|
|
804
903
|
不再提供齿轮入口,右侧标题为「设置」,双栏频道设置页不显示返回按钮。
|
|
@@ -839,7 +938,9 @@ Live 和频道右侧标题都为「设置」,左栏标题与首页品牌名共
|
|
|
839
938
|
|
|
840
939
|
`WebShellSettingsOptions.includeItems` 与 `excludeItems` 接受 `WebShellSettingItemId` 值。可导入 `WEB_SHELL_SETTING_ITEM_IDS` 获取受支持的只读列表。这些 ID 是经过整理的别名,而不是 daemon 的配置路径:`setting:language` 对应语言控件(界面语言),`setting:output-language` 对应模型输出语言(用户作用域,仅用户标签页显示),`setting:fast-model` 对应快速模型选择器。即使内部 schema 路径变化,别名也保持稳定。未知的运行时 ID 不匹配任何条目;配置白名单后,尚无公开别名的字段也会隐藏。
|
|
841
940
|
|
|
842
|
-
前端内置块有自己的 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` 才会显示该块。浏览器通知与聊天宽度相互独立。既有的能力和隐藏限制仍然适用,白名单不能强制显示不可用的控件,也不会改变排序。
|
|
941
|
+
前端内置块有自己的 ID:`builtin:chat-width`、`builtin:browser-notifications`、`builtin:live-setup`、`builtin:local-control`、`builtin:connections`、`builtin:archived-sessions` 和 `builtin:model-management`。`builtin:connections` 区块仅在 standalone 构建中渲染,而 standalone 入口不接收 `settings` 呈现配置,因此该 ID 目前对嵌入方没有作用。模型管理块与普通 Model 字段独立过滤;仅排除普通 Model 字段时,模型列表与选择仍然可用;配置白名单时需包含 `builtin:model-management` 才会显示该块。浏览器通知与聊天宽度相互独立。既有的能力和隐藏限制仍然适用,白名单不能强制显示不可用的控件,也不会改变排序。
|
|
942
|
+
|
|
943
|
+
归档会话管理位于 **设置 → 归档会话**,直接展示现有归档列表及工作区分组;侧边栏不再常驻“已归档”区块。只有进入该分类时才加载归档,离开后停止相关订阅。该分类沿用原有侧边栏归档功能的能力限制,禁用侧边栏的嵌入宿主不展示此分类;可通过 `builtin:archived-sessions` 控制其设置入口。嵌入宿主需在 `sidebar.footer.items` 中提供 `settings`,使用设置白名单时需加入 `builtin:archived-sessions`;既有白名单升级后不会自动加入该入口,隐藏设置入口或排除此分类会隐藏归档管理界面,底层归档 API 不受影响。支持来源元数据时,归档页内可独立切换任务/频道,不改变侧边栏活跃会话的筛选。
|
|
843
944
|
|
|
844
945
|
- 未传 `includeItems` 时保持现有展示逻辑,仅应用 `excludeItems`;新增的上游设置默认仍然可见。
|
|
845
946
|
- `includeItems: []` 隐藏全部原生设置条目;它与未传入白名单不同。
|
|
@@ -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-DyFoZ0bq.js";
|
|
14
14
|
const Xt = {
|
|
15
15
|
c: () => import("./c-eeMepfLm.js"),
|
|
16
16
|
cpp: () => import("./cpp-C0xArK63.js"),
|