Files
deepseek-harness/packages/host/README.zh.md
creatixchu 4822622cb7 feat(host,client): ship the in-app directory browser as the browse package's client half
directory-picker-browse becomes dual-face: its browser half fills
ui-workspace's two directory-flow holes with the Select Workspace Directory
dialog (figma Harness 813-23126 family — Miller two-column view, breadcrumb
with click-to-edit path zone, nested New-folder dialog), driving the node
half's host.listDirectory/host.createDirectory and owning its locale
namespace (directory-browser, zh default / en). The dialog moves here from
ui-workspace wholesale — the trigger surfaces keep only the flow-hole owner
conversation.

apps/cli flips its one directory-picker row -native -> -browse, swapping the
host backend and the client interaction together; picking now works for
remote deployments out of the box. The keyless workspace-flow snapshot boots
the browse bundle and drives menu -> dialog -> Documents -> project -> Open
against the fixture tree.
2026-07-28 22:22:14 +08:00

1.7 KiB
Raw Blame History

host/ — web GUI 宿主半侧

English | 中文

dsh web GUI 的宿主侧:所有客户端形态共用的 API 网关,以及承载它的纯 HTTP 服务器。浏览器侧位于 client/;组合后的应用是 apps/cli,它负责服务 apps/web。全部为产品包。

角色 ctx 键
apiproxy/ 共享 API 网关:零 Node 依赖的 TS 协议契约(src/api/、fetch 载体对(宿主侧 toFetchHandler、客户端侧 AbstractApiClient),以及基于 ctx.agentsctx.workspace 的宿主实现 ctx.apiProxy
webserver/ 纯 HTTP 路由注册载体:激活即监听的 node:http 服务器;路由以命名的 exactprefix 处理器注册 ctx.httpServer
directory-picker/ 工作区目录选择 seam网关的 picker RPC 委托的可辨识 nativebrowse 能力 ctx.directoryPicker
directory-picker-native/ 双面原生交互OS 选择器后端osascriptPowerShellZenity+KDialog仅宿主屏幕可用+ 填入 ui-workspace 目录流 slot 的 browser half (注册 ctx.directoryPicker
directory-picker-browse/ 双面浏览交互:基于 Node 标准库的列举/创建原语(可远程)+ 渲染应用内选择工作区目录对话框的 browser half (注册 ctx.directoryPicker

apiproxy 在设计上与传输方式无关——它不注册任何路由;载体自行包装 ctx.apiProxy。HTTP 载体路由(连同其 /api 浏览器信任栅栏)由 client/connection 的 node 半侧挂载,这正是该包住在 client 组的原因:它拥有这条线的两端。