YangAtC/dsh-filetree

YangAtC★ 0JavaScript最后同步: 2026-08-18

在 GitHub 打开

README 摘要

@yangatc/dsh-filetree DSH(DeepSeek Harness)文件树侧边栏插件:右侧栏展示当前工作区文件树,双击文件在主窗口「文件预览」tab 内预览(代码语法高亮 / 图片 / 大文件提示),支持多文件二级 tab 栏与关闭按钮。 - 右侧边栏文件树 :受主题控制、半透明、emoji 文件图标、可折叠目录 - 双击预览 :文本/代码(常见语言语法高亮)、图片、大文件提示 - 主窗口「文件预览」tab :内部二级 tab 栏(文件名 + 关闭按钮 X),固定在顶部不随滚动 - 多文件 tab :可同时打开多个文件,二级 tab 切换/关闭 - 自动切换 :双击文件后自动跳到「文件预览」tab 注:因 DSH 框架对动态/持久插件的 tab 排序限制,「文件预览」主 tab 会排在对话之前(无法放到轨迹后面)。这是框架安全机制,无法通过插件 API 绕过。 原理 DSH 的 Web 端是 Cordis 组合。本插件是 持久化的 profile 插件 (不是一次性动态插件): - Host 半区 ( lib/index.js ,运行在 DSH Node 进程): - 通过 ctx.connection.rpc.handle('/filetree', ...) 注册私有 RPC 通道,提供 list / read 两个端点 - list :递归构建工作区文件树(忽略 node modules 、 .git 等目录,深度上限 6) - read :读取文件内容(文本 / 图片 base64 / 大文件提示) - 使用 Node 原生 node:fs/promises ,无需额外依赖 - Client 半区 ( lib/client.js ,运行在浏览器): - 在 details 插槽注册右侧文件树侧边栏 - 在 conversation.view 插槽注册「文件预览」tab - 通过 ctx.connection.rpc.call('/filetree', ...) 与 Host 通信 安装 方式 A:npm 安装(推荐) 在 $DSH HOME/profiles/web/cordis.patch.yml 的 patches 里追加一行: DSH 会热重载(或重启 DSH 生效),浏览器刷新后即可使用。 方式 B:便携拷贝 把整个项目( lib/ 、 package.json )拷到: 然后同样在 cordis.patch.yml 加 - insert: '@yangatc/dsh-filetree' 行。 $DSH HOME 默认是 /.dsh (Windows: C:\Users\ \.dsh )。 使用 1. 打开网页版 DSH → 右侧栏应显示当前工作区的文件树 2. 单击目录展开/折叠,双击文件打开预览 3. 预览显示在主窗口「文…

在 GitHub 查看完整 README →
工具/开发dsh-pluginfile-treefile-viewer

分类