client/
September 4, 2026 · View on GitHub
English | 中文
概述
client/ 组运行 dsh web GUI 的浏览器侧:它启动 web 外壳、加载浏览器侧插件模块、维持浏览器与宿主之间的 RPC 与事件投递,并提供渲染应用所需的共享客户端服务与 UI 功能插件。UI 功能通过 slot 系统组合——每个插件填充已声明的扩展 slot,携带类型化 props 与 store,由外壳渲染组装后的整棵树。本组所有包均为产品包,名为 @deepseek-ai/dsh-client-<name>;服务于页面的宿主半侧位于 host/。编写规则见 AGENTS.md,模块图、slot 模型与对象层的说明见下方相关文档。
目录
包
内核包负责启动与服务于页面,UI 功能包负责呈现页面。各包的 README 拥有自己的约定与配置。
| 包 | 职责 | ctx 键 |
|---|---|---|
web/ | 启动浏览器外壳 | — |
modules/ | 加载浏览器侧客户端模块 | ctx.clientModules / ctx.modules |
connection/ | 维护浏览器与宿主之间的 RPC 通信与事件投递 | ctx.connection |
store/ | 提供不依赖 React 的 observable 与 snapshot-store 原语 | — |
hmr/ | 在开发期间刷新客户端插件 | — |
locale/ | 提供本地化偏好与消息词典 | ctx.locale |
test-runtime/ | 为客户端功能包提供共享的仓库测试支持 | — |
ui-renderer/ | 将 slot 数据绑定到 React,并挂载组装完成的应用 | ctx.uiRenderer |
ui-slots/ | 定义 UI 功能注册与组合扩展 slot 的方式 | — |
ui-session/ | 把 Session Controller 状态适配为标准 Slot source 与 hook | — |
ui-theme/ | 应用所选颜色主题 | — |
ui-primitives/ | 提供共享 React 控件、图标与内容渲染器 | — |
ui-attachment/ | 注册输入框与消息图片的附件呈现 | — |
ui-layout/ | 排列应用的主要区域 | — |
ui-sidebar/ | 展示工作区与会话导航 | — |
ui-brand-official/ | 用官方名称与标记填充通用浏览器品牌 slot | — |
ui-workspace/ | 提供工作区选择与创建界面 | — |
ui-conversation/ | 展示当前对话及其输入界面 | — |
ui-chat/ | 投影并渲染 Chat 对话 target | — |
ui-approval/ | 展示批准请求并返回用户决策 | — |
ui-tool/ | 编排工具调用树与按工具键控的视图 | — |
ui-workflow-run/ | 把持久工作流运行回放为嵌套对话折叠项 | — |
ui-goal/ | 展示与管理当前目标 | — |
ui-trajectory/ | 提供 agent(智能体)活动的其他视图 | — |
ui-commands/ | 提供会话感知的命令发现与分发 | — |
ui-input-trigger/ | 协调内联命令与引用建议 | — |
ui-skill/ | 向内联建议添加 skill(技能)引用 | — |
ui-reference/ | 统一的 Web @file / @session 引用 source | — |
ui-subagent/ | 提供 subagent(子智能体)导航、子级 transcript(文本记录)状态与内联引用 | — |
ui-schedule/ | 在只读标题栏目录中列出当前 Session 的活动提醒 | — |
ui-jobs/ | 在会话标题栏列出当前会话的后台任务 | — |
ui-model-selection/ | 在对话界面中提供模型选择 | — |
ui-permission-presets/ | 配置默认权限并切换当前会话的访问模式 | — |
ui-plan/ | 展示生效中的 plan mode 状态及其退出控件 | — |
ui-settings-plugins/ | 拥有“插件”设置分区、其标签页扩展点与可配置的宿主平面插件卡片 | — |
ui-user-questions/ | 展示 agent 请求的交互式问题 | — |
ui-agent-preset/ | 选择会话的 agent 预设并编写预设组合 | — |
ui-settings/ | 承载设置界面及其扩展区域 | — |
ui-settings-general/ | 提供常规设置分区 | — |
ui-settings-models/ | 提供模型提供方配置与 DeepSeek 引导 | — |
ui-settings-plugin-inventory/ | 向“插件”设置贡献只读的 Host Loader 清单标签页 | — |
ui-deliverables/ | 生成已产出文件的轮次尾部与可点击的最终响应文件引用 | — |
ui-message-feedback/ | 向助手消息操作条贡献逐消息反馈控件 | — |
ui-directory-picker-browse/ | 面向工作区目录流程的应用内目录浏览界面 | — |
ui-directory-picker-native/ | 驱动宿主 OS 选择器的原生目录选择界面 | — |
相关文档
先从子系统参考与两份拥有跨包组合决策的 Agent Note 读起,再看服务于本页的宿主半侧。
- 客户端模块子系统——web 插件表:
dsh.client声明、启动图协议与 bundle 路由。 - slot 系统标准——权威 slot 模型:注册、props 份额与 store。
- web 客户端架构 Agent Note——加载链、对象层与客户端服务。
- 宿主组地图——服务于本浏览器半侧的宿主半侧。
开发备注
维护者的工作上下文——点击展开
无。