DAG总览 / 组目录 / G06 客户端 UI 包

dsh-client-ui-deliverables · @deepseek-ai/dsh-client-ui-deliverables

Layer 17G06L2 web-app
目录:ACP 协议API 网关与控制器附件启动与插件管理客户端运行时客户端 UI 包上下文压缩上下文注入核心运行时凭据与授权交付物文档处理实验特性宿主扩展反馈通道文件系统目标与计划工具守卫Hooks 扩展宿主服务交互命令作业调度LLM 适配LSP 集成MCP 协议规划模式Agent 预设代码执行运行时运行时诊断沙箱定时调度SDK 与协议会话核心会话检索设置Shell 执行技能溢出存储SSH 远程执行存储子代理子进程终端待办类型契约框架 vendorWeb 访问Webhook工作流工作区
依赖链 · 上游(该插件依赖的前驱):
依赖链 · 下游(依赖该插件的节点):
同一拓扑层(Layer 17,层次遍历层序):
↑ Layer 16(11 插件)Layer 17↓ Layer 18(1 插件)

插件信息

包名@deepseek-ai/dsh-client-ui-deliverables
分组G06 · 客户端 UI 包
拓扑层Layer 17(层次遍历:被依赖方先于依赖方)
源码路径packages/client/ui-deliverables
来源层L2 web-app bundle(base 之上装配)

① 实现逻辑

浏览器半把交付物三面装进既有洞:在 'conversation.chat.turnTail' 注册 DeliverablesTail(变更文件卡与交付卡,子槽 deliverables.file.actions)(src/client/index.ts:61-81),在 'tool.call.toolview' 以 key 'present' 注册 PresentRow (src/client/index.ts:82-84),再在 sidebarRight 注册 changes-review tab 类型、在 'sidebar.right.pane.tab' 注册 ReviewTab(子槽 deliverables.review.file.actions)(src/client/index.ts:86-100)。最后 ctx.provide('chatFileMentions') 提供终版回复中对产出/交付文件的 inline-code 提及链接 (src/client/index.ts:101-112)。宿主半在 system-prompt 注册 Web 文件引用指引节,并由 present-open 提供已声明文件的鉴权 native open (src/index.ts:29-36)。

内部结构动态 DAG(深色主题:橙色=上游依赖 · 绿色=下游依赖 · 棕色=外部seam · 蓝=本插件)
本插件 上游依赖 下游依赖 外部 seam

② 注册/提供(provides)

③ 依赖(depends_on · 上游前驱)

dsh-api-remotesE1
引入 ctx.remote 与事件声明
src/client/index.ts:13 import @deepseek-ai/dsh-api-remotes/client
dsh-api-session-controllerE2
解析会话与其工作目录以做原生打开
src/present-open.ts:23 ctx.sessionController
dsh-api-workspace-filesE2
读取工作区文件内容
src/present-open.ts:119 ctx.workspaceFiles
dsh-client-connectionE1+E2
原生打开请求经连接层发送
src/client/index.ts:14 + src/present-open.ts:21 ctx.connection
dsh-client-localeE1+E2
注册 deliverables 字典
src/client/index.ts:16 + src/client/index.ts:60 ctx.locale.register(NS)
dsh-client-ui-chatE1+E2
依赖 Chat 声明的 conversation.chat.turnTail 与 assistant-actions 槽
src/client/Deliverables.tsx:3 ChatFileMentions 类型 + src/client/index.ts:15 import ChatFileMentions
dsh-client-ui-conversationE2
注册交付物 ConversationNode 定义
src/client/index.ts:17 + src/client/index.ts:59 ctx.uiConversation.events.register
dsh-client-ui-dockkitE1
review tab 的 TabId 类型
src/client/review-store.ts:8 import type TabId from @deepseek-ai/dsh-client-ui-dockkit
dsh-client-ui-primitivesE1
卡片与 diff 视图基础组件
src/client/Deliverables.tsx:4 + src/client/FileDiff.tsx:4-5
dsh-client-ui-rendererE1
引入 slots 服务声明
src/client/index.ts:18 merge
dsh-client-ui-settingsE2
开发者工具开关控制 diff 展示
src/client/index.ts:20 + src/client/index.ts:70 ctx.configForms.developerTools
dsh-client-ui-sidebar-rightE2
打开 changes-review 资源 tab
src/client/index.ts:19 + src/client/index.ts:77 ctx.sidebarRight.openResource
dsh-client-ui-toolE2
present 工具行视图
src/client/PresentRow.tsx:4 + src/client/index.ts:82 ctx.slots.inject('tool.call.toolview')
dsh-llmE1
presented 结果的消息类型
src/presented.ts:4 import @deepseek-ai/dsh-llm
dsh-sandbox-policyE2
native open 前校验沙箱策略
src/present-open.ts:121 ctx.sandboxPolicy
dsh-sessionE1
会话标识与事件类型
src/changes.ts:2 import SessionId + src/client/turn-deliverables.ts:7
dsh-system-promptE1+E2
注册 Web 文件引用指引节
src/index.ts:9 import @deepseek-ai/dsh-system-prompt + src/index.ts:31 ctx.systemPrompt.section
dsh-tool-presentE1
present 工具结果数据
src/client/turn-deliverables.ts:11 + src/presented.ts:2
dsh-workspace-changesE1
工作区变更记录/差异类型
src/changes.ts:3 import @deepseek-ai/dsh-workspace-changes/types + src/index.ts:10

④ 被依赖(dependents · 下游消费者)

dsh-client-ui-open-in-app
使用 deliverables 声明的文件动作槽
src/client/FileRouteAction.tsx:3 import type + src/client/index.ts:116/index.ts:119 slots.inject