DeepSeek Harness 插件

dsh-file-panel-left

DSH web plugin: a VSCode-like left file panel (file explorer / editor / preview), isolated per conversation session. Exposes a service for other plugins to register sidebar tabs and file viewers.(英文原文)

跳到安装方式

来源信息

GitHub 仓库
ssjob123/dsh-file-panel-left
最近更新
2026年8月21日
分类
记忆
GitHub stars
1
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-21

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/ssjob123/dsh-file-panel-left
插件名:dsh-file-panel-left
作者:ssjob123

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器4 个文件
README.zh-CN.md来源说明 · 只读预览
README 语言

English | 简体中文

dsh-file-panel-left

DSH Web 的「纯文件工作台」侧边栏插件 —— 文件资源管理器、编辑器与预览器一体,左树右内容,文件浏览、编辑、引用与对话联动在一个面板里完成。

基于社区插件 dsh-better-sidebar(作者 omdsh-dev仓库,MIT 许可)精简定制,只保留文件相关能力(文件树 / 编辑器 / 预览 / @引用 / 聊天文件打开),删除了终端、浏览器、Git、任务管理等与文件无关的功能。原名 dsh_left_bar,2026 年改名并独立发布。

功能特性

纯文件工作台定位

  • 左树右内容分栏:文件树常驻左侧(搜索 / 刷新 / @引用),右侧内容区展示打开的文件;未打开文件时显示占位提示
  • 已删除终端、浏览器、Git、任务管理、标签栏、下载与插件市场等非文件功能,聚焦文件浏览与编辑

文件树

  • 懒加载目录(逐层读取),大目录不卡顿
  • 软链接支持:识别链接目标类型,失效链接明确标记为「失效的软链接」
  • 支持 UNC 网络路径
  • 按文件名全局搜索(300ms 防抖,可中止),结果过多时提示截断
  • 刷新按钮;树头「+」与文件夹行尾 hover「+」新建文件(内联输入,Enter 创建 / Esc 取消,创建后不自动打开)
  • 单击打开文件;树内空白处点选可选中目录(作为新建文件的目标),选中态高亮
  • 右键复制相对 / 绝对路径

CodeMirror 6 编辑器

  • 20+ 种语言语法高亮:JS/TS/JSX、JSON、Python、HTML、CSS、Markdown、XML、YAML、SQL、Java、C/C++、C#、Kotlin、Swift、Rust、Go、PHP、Shell、TOML、INI、nginx、Dockerfile、properties 等(含自定义 INI 高亮)
  • Ctrl/Cmd+F 搜索面板、括号配对高亮、代码折叠、自动缩进、活动行高亮、Alt+拖拽列选
  • JSON/JSONC 一键格式化(Ctrl/Cmd+Shift+F)
  • Ctrl/Cmd+S 手动保存;同时内置每秒轮询的自动保存(有未保存修改才写盘)

内置 6 种文件查看器

  • 图片 / PDF / Markdown / HTML / 代码(兜底)/ 二进制提示
  • Markdown 预览 / 编辑双模式,预览支持 Mermaid 图表渲染
  • HTML 预览在沙箱 iframe 中渲染(无法读取界面数据与本地文件),提供「刷新预览」按钮
  • 超大文件截断显示(仅展示前 512KB);不支持的二进制类型给出明确提示

@引用

  • 在编辑器选中代码,松开鼠标后弹出「添加到对话」,向草稿插入 @相对路径 L12-L25 纯引用(不携带选中文本,省 token;单行选区为 @路径 L12,反查失败时回退为裸 @路径
  • 行号真实可靠:编辑模式直接取 CodeMirror 行号;预览模式经两级反查保证准确,宁可回退为裸引用也不给错行号
  • 草稿中以蓝色胶囊展示,完整引用文本保留在剪贴板与草稿中,模型仍能读到 @路径 Lxx
  • 随插件分发 file-line-reading skill,指导 AI 按引用行号只读必要内容

右键菜单

  • 复制相对地址 / 复制绝对地址 / 重命名 / 删除
  • 重命名带同名预检与非法字符校验;删除弹窗确认后移入系统回收站(Windows / macOS),会话根目录不可删除

智能布局

  • 折叠 / 展开按钮:任何展开动作(按钮、聊天打开文件、打开文件)都恢复为视口 65% 的可读宽度
  • 内容区「关闭」按钮(X):收起展示页并把面板宽度收窄到只剩目录树,再次点选文件即恢复 65% 宽度
  • 面板宽度与树列宽度均可拖拽(树列 240–480px,默认 280px),会话内持久化

聊天联动

  • 聊天中的文件链接(工具行、本次产出列表、文件提及)一律在侧边栏打开,不再调用系统默认应用
  • 「本次产出」行拦截:工具产生的文件以卡片形式展示,点击即在侧边栏打开

扩展与本地化

  • 通过 ctx.betterSidebar 服务,外部插件可注册侧边栏标签页与文件查看器
  • 界面文案中英双语,跟随 DSH 语言设置实时切换
  • 会话隔离:每个会话独立的工作目录与面板状态;布局偏好持久化

平台适配

  • Windows 标题栏兼容模式(为无边框窗口右上角的原生标题栏预留空间)
  • 无 settings 服务的部署自动降级:偏好设置写入 ~/.dsh/dsh-file-panel-left-prefs.json

安装

> 环境要求:Node.js ≥ 20、DSH Web(含 dsh 命令行)。peer 依赖(React 18、Cordis 与 @deepseek-ai/dsh-* 系列)由 DSH 运行时提供,无需手动安装。

正式发布版(npm)

dsh plugin --profile web add dsh-file-panel-left
  • 一条命令完成安装与挂载:包内声明的 bundle patch(cordis.patch.yml)会让 CLI 自动把插件加入 profile 的 bundle 栈,无需手改任何配置文件
  • 安装完成后重启 DSH 并硬刷新浏览器(Ctrl+Shift+R / Cmd+Shift+R)即可看到侧边栏
  • 指定版本:dsh plugin --profile web add dsh-file-panel-left@<version>
  • 卸载:dsh plugin --profile web remove dsh-file-panel-left
  • 若 profile 里之前手动挂载过本插件(cordis.patch.yml 中的挂载行),改用 CLI 安装前请先移除旧行,避免双挂载(出现两个侧边栏)

本地开发安装(file: 依赖)

在 profile 目录(如 ~/.dsh/profiles/web)的 package.json 中添加本地依赖:

"dependencies": {
  "dsh-file-panel-left": "file:<本地路径>/dsh-file-panel-left"
}

在 profile 的 cordis.patch.yml 中手动挂载(与 CLI 自动挂载二选一,不要重复):

- insert:
    - id: dsh-file-panel-left
      name: 'dsh-file-panel-left'

然后安装:

cd ~/.dsh/profiles/web
pnpm install

注意:pnpm 的 file: 依赖是拷贝而非软链。每次修改插件源码后,需要删除 profile 中 node_modules/dsh-file-panel-left 的旧拷贝再重新安装,否则加载的仍是旧版本:

Remove-Item -LiteralPath "$env:USERPROFILE\.dsh\profiles\web\node_modules\dsh-file-panel-left" -Recurse -Force
cd $env:USERPROFILE\.dsh\profiles\web; pnpm install

使用说明

  • 文件树:单击文件打开;树头或文件夹行尾的「+」新建文件(Enter 创建 / Esc 取消);顶部搜索框按文件名过滤;右键行可复制路径 / 重命名 / 删除
  • 编辑器:打开代码或配置文件即进入 CodeMirror 编辑器;Ctrl/Cmd+S 保存,修改后每秒自动保存;Ctrl/Cmd+F 搜索;代码 / 配置文件带折叠、括号配对、列选等 IDE 能力;JSON 文件有格式化按钮(Ctrl/Cmd+Shift+F
  • 预览:Markdown 文件可在「预览 / 编辑」间切换,预览渲染 Mermaid 图;HTML 文件默认在沙箱 iframe 中渲染,工具条可刷新;图片 / PDF 直接预览;不支持的二进制类型显示提示
  • 右键菜单:复制相对地址、复制绝对地址、重命名(重名会提示)、删除(确认后移入系统回收站)
  • @引用:在编辑器里选中代码,松开鼠标后点击弹出的「添加到对话」,草稿中即插入 @相对路径 L12-L25 蓝色胶囊;或使用树上的「@文件」按钮快速引用整个文件

配置

插件没有设置页面,行为全部为内置默认值,刻意保持简单:

  • 展开面板 = 视口宽度的 65%(可拖拽微调,会话内记住)
  • 自动保存:每 1 秒轮询,有未保存修改才写盘,不可关闭
  • 聊天文件打开拦截:恒开启(工具行 / 本次产出 / 文件提及都会在侧边栏打开),不提供开关
  • 删除:确认后移入系统回收站(Windows 10/11 与 macOS)
  • HTML 预览:默认启用沙箱(不读取界面数据与本地文件)
  • 偏好设置(标题栏兼容等)通过 settings 服务持久化;无 settings 服务的部署自动降级为本地文件

平台支持

平台支持情况
Windows 10 / 11完整支持:删除移入系统回收站(基于 PowerShell 的 Microsoft.VisualBasic.FileIO,零额外依赖);标题栏兼容模式可用
macOS完整支持:删除移入废纸篓(基于 osascript 调用 Finder,零额外依赖);标题栏兼容模式不适用
Linux浏览 / 编辑 / 预览、@引用等全部文件功能可用;删除为永久删除(Linux 无系统回收站,删除前需二次确认,删除后无法恢复)

已知限制

  • 文件按扩展名 + 首部 NUL 字节探测分类:UTF-16 / UTF-32 编码的文本会被判定为二进制(首部含 0x00 字节),显示二进制提示而非编辑器——如需查看请转存为 UTF-8。按编码探测需要先读完整文件,得不偿失。

开发

pnpm install
pnpm build        # tsc 类型检查产物 + tsdown 打包,输出 lib/
pnpm typecheck    # 仅类型检查(tsc --noEmit)

迭代流程:pnpm build → 强制同步到 profile(见「本地开发安装」)→ host 端改动重启 DSH、client 端改动硬刷新浏览器 → 浏览器中验证。

技术栈与架构

  • Host(Node):Cordis 插件,提供文件树 / 读取 / 写入 / 搜索 / 回收站删除 / 重命名等 API 路由;偏好持久化(settings 服务或本地文件降级)
  • Client(浏览器):React 18 + CSS Modules;文件树、左树右内容分栏、查看器注册表
  • 编辑器:CodeMirror 6,语言包与扩展按需加载
  • 按需分块:Mermaid、编辑器等重模块以懒加载 chunk 提供,首次打开对应文件时才加载
  • 服务化基座ctx.betterSidebar 服务供外部插件注册标签页与文件查看器
  • i18n:接入 DSH 语言服务,中英双语、实时切换
  • 会话隔离:每个会话独立工作目录与面板状态,偏好持久化到 localStorage(键 dsh_left_bar:v1

许可

[MIT](./LICENSE)

致谢

本项目由社区插件 dsh-better-sidebar(作者 omdsh-devDSH-better-sidebar,MIT 许可)精简定制而来(原项目名 dsh_left_bar,2026 年更名),感谢上游的设计与实现;上游版权声明保留于 [LICENSE](./LICENSE)。