DSH / PLUGIN / CLIENT-UI

dsh-client-ui-directory-picker-browse

v0.1.0-rc.5deepseek-ai / deepseek-harness47f943859b

DSH 已内置插件UI 与客户端插件内置源码Web UI
运行时构成
HOSTCLIENTUITOOLDATAFLOW

概览

dsh-client-ui-directory-picker-browse

源码级技术说明应用内目录浏览界面:浏览式选取交互的浏览器半边。它通过 ui-workspace 的两个 directory-flow 洞(conversation.hero.workspace.directoryFlowsidebar.workspaces.directoryFlow)装入「选择工作区目录」对话框,经 ctx.workspaces 驱动本地 Host 的 host.listDirectoryhost.createDirectory 原语。它的 node 对侧是 dsh-host-directory-picker-browse;挂载本包即用一行 cordis.yml 把界面与该后端组合起来,因此没有任何客户端代码按能力种类分支。与 -native 界面不同,本对话框不需要本地操作系统选择框,因此也服务于进程内与远程浏览器部署。展开完整技术说明收起技术说明
应用内目录浏览界面:浏览式选取交互的浏览器半边。它通过 ui-workspace 的两个 directory-flow 洞(conversation.hero.workspace.directoryFlowsidebar.workspaces.directoryFlow)装入「选择工作区目录」对话框,经 ctx.workspaces 驱动本地 Host 的 host.listDirectoryhost.createDirectory 原语。它的 node 对侧是 dsh-host-directory-picker-browse;挂载本包即用一行 cordis.yml 把界面与该后端组合起来,因此没有任何客户端代码按能力种类分支。与 -native 界面不同,本对话框不需要本地操作系统选择框,因此也服务于进程内与远程浏览器部署。
BUILT-IN / ATOMIC
已随 DSH 提供,无需单独安装

这是 Harness 已内置的原子模块,不是可独立激活的 Profile 层。

能力

它贡献了什么

HostCordis loadableZero-config
Client / UIWeb UI0 contributions
Model tools0None declared
Profile stateabsentDSH 已内置

README / ZH

插件文档

@deepseek-ai/dsh-client-ui-directory-picker-browse

English | 中文

应用内目录浏览界面:浏览式选取交互的浏览器半边。它通过 ui-workspace 的两个 directory-flow 洞(conversation.hero.workspace.directoryFlowsidebar.workspaces.directoryFlow)装入「选择工作区目录」对话框,经 ctx.workspaces 驱动本地 Host 的 host.listDirectoryhost.createDirectory 原语。它的 node 对侧是 dsh-host-directory-picker-browse;挂载本包即用一行 cordis.yml 把界面与该后端组合起来,因此没有任何客户端代码按能力种类分支。与 -native 界面不同,本对话框不需要本地操作系统选择框,因此也服务于进程内与远程浏览器部署。

对话框是 680×500 的 Miller 分栏视图(在较矮或较窄的视口中限制尺寸):头部承载标题、选中路径面包屑和可点击编辑的路径区;下方在未选中行时是一整栏层级,选中后该行均分为「层级 | 选中文件夹的子项」两栏。导航落地是选择锚定且安静的——面包屑跳转或提交路径被扫描期间仍渲染旧视图,目标目录与父目录两段导航在同一帧完成——因此回退时,只要尚未到达显示根目录,就会始终保持两栏,且不会闪过中间帧。新建文件夹打开一个嵌套创建对话框,目标为选中的文件夹,并选中它创建出来的那个;打开采纳选中的文件夹,没有选中时回落到当前层级。Host 标记的隐藏条目默认不显示,直到页脚开关将其揭开——那只是客户端过滤。

确认一个目录即为选中的路径,关闭对话框即为取消。浏览类失败——不可读的目标、创建冲突——都留在对话框自己的提示区内,因此本占位者从不驱动 owner 的 onError 分支;工作区创建的错误界面仍由 owner 持有。两处注册通过嵌套的 slots.inject() 安装,因为任一声明方条目都可能稍后激活或替换其声明;对话框文案注册在本包自己的 locale 命名空间下,两份字典作为一个单元落地,因此激活失败不会占住该命名空间的其中一种语言。

node 半边是一个空 apply:它的存在只为让插件出现在 host 的 cordis.yml 与 Loader 中,浏览器半边经 exports["./client"] 出货,并通过 dsh.client 清单声明被发现。

模型体验

无,因为目录浏览器属于浏览器界面;本包中的任何内容都不会进入模型请求。

KV Cache 影响

无;本包既不组装也不发送 provider 请求。

已知限制与暂缓事项

  • 无搜索、无多选、无重命名或删除 —— 对话框只负责列出与创建目录;到达目标靠导航、编辑路径,或用前缀过滤最后一栏。
  • 隐藏条目的过滤在客户端 —— Host 始终列出隐藏条目并加标记,因此开关只改变对话框渲染什么。

LIMITATIONS

已知限制

- **无搜索、无多选、无重命名或删除** —— 对话框只负责列出与创建目录;到达目标靠导航、编辑路径,或用前缀过滤最后一栏。 - **隐藏条目的过滤在客户端** —— Host 始终列出隐藏条目并加标记,因此开关只改变对话框渲染什么。