kaijia323/dsh-ymc-sidebar
kaijia323★ 0TypeScript最后同步: 2026-08-20
DSH Web Client 的 VSCode 风格文件树侧栏插件:虚拟化懒加载文件树,支持文本 / Markdown / 图片预览。
README 摘要
dsh-ymc-sidebar DSH Web Client 的 VSCode 风格文件树侧栏。作为 root 的兄弟节点挂载在 document.body 上,通过 CSS layout push 让 DSH 原生界面让出右侧空间;不占用 DSH 原生 details slot,因此 blank 会话也能打开。特性: - 以当前会话工作区目录(session cwd)为根展示文件树 - 目录按需懒加载,树与代码视图都做了虚拟滚动 - 默认不显示内容预览区;点击文件后,在右栏下方预览内容(上方为文件树) - 支持多文件 tabs:可同时打开多个文件、横向滚动、点击 × 关闭 - 支持文本/代码(带行号与基础语法高亮)、Markdown 渲染 / 源码切换、常见图片预览 - 不预置目录忽略规则,文件系统里有什么就展示什么( node modules 等大目录靠懒加载 + 虚拟化抗压) 架构 插件分两半: - Host half( src/index.ts ) :注入 fs 与 connection ,在 /dsh-ymc-sidebar 注册一个仅 loopback 可访问的 Connection RPC channel,提供 meta / list / read 三个端点。 - Browser half( src/client.tsx ) :注入 sessions 、 workspaces 、 connection ,在 document.body 上创建自己的 React root 并挂载右侧栏。右侧栏是 root 的兄弟节点,不注册任何 DSH slot: - 打开时通过 --dsh-ymc-sidebar-width 让 root 让出宽度,形成“真占位”的 VSCode 式侧栏,而不是 overlay; - 面板本身可拖拽调整宽度(280–640px),宽度与开关状态按 localStorage 持久化; - 不依赖 ctx.layout.openDetails() ,所以 blank / 无消息会话也能打开。 不修改 DSH 源码,也不替换 DSH 原生 details 面板;原生 details 是否打开与本插件互不影响。 源码按职责拆分,入口文件只保留插件注册逻辑: - src/index.ts :Host 插件入口;RPC、文件系统、配置等逻辑在 src/host/ ( config / fs / handlers / rpc / result / utils )。 - src/client.tsx :Browser 插件入口;React 组件、状态与 API 封装在 src/client/ ( api / tree / preview / sidebar-shell / styles 等)。 - src/client-model.ts :与…
在 GitHub 查看完整 README →分类
Enhancement suite for Gemini, AI Studio, Claude & ChatGPT — plus a prompt manager for any web UI, DeepSeek Harness included. / 面向 Gemini、AI Studio、Claude 与 ChatGPT 的增强套件;提示词管理器可用于任意 Web UI,含 DeepSeek Harness。
★ 19,772
zhu1090093659/dsh-web-uiPlugin and skin collection for DeepSeek Harness (DSH) Web UI - task board, git graph, right-side panel, remote mobile UI, pet, live token stats, and skin center.
★ 5,470
omdsh-dev/DSH-better-sidebar开放的侧边栏底座,支持三方拓展注册新侧边栏页面。内置文件渲染编辑/终端/侧边对话/Git/子代理页面 | Open sidebar foundation, supports third-party extensions to register new sidebar pages. Built-in file rendering/editing, terminal, side chat, Git, and sub-agent pages.
★ 2,596