dsh-plugin-recent-files: Retrieving Recently Opened File Artifacts in the DSH Sidebar

前言

在 DeepSeek Harness 里跑一轮对话,右侧栏往往会多出好几份文件产物:out/report.html、docs/方案.md、根目录截图等。想再打开某一份时,常见做法是回滚聊天记录找产物卡片,或在右侧文件树里一层层点。社区插件 dsh-plugin-recent-files(维护者 msongw-design)只做一件事:记住你在右侧栏打开过的 dsh-resource://file/session/... 地址,按时间列在左侧栏,点一下即可切回对应会话并重新打开该文件。

这是什么

dsh-plugin-recent-files 是分类为「客户端」的 DSH 插件,当前版本 0.1.0,许可证 MIT。它在左侧栏「自动化任务」下方增加 最近浏览 入口,面板里展示最近打开的文件产物列表。仓库:https://github.com/msongw-design/dsh-plugin-recent-files;社区目录页:https://www.skillhub.cn/plugins/msongw-design/dsh-plugin-recent-files。

核心功能

侧栏顺序与 README 一致:Plugins(order: 0)→ 自动化任务(10)→ 最近浏览(20)。

面板每行显示文件类型图标、文件名、所在目录、相对时间(例如「3 分钟前」);右上角有 清空;悬停单条可移除。

点击条目时,会先切换到该文件所属会话,再在右侧栏打开;这次打开会把该条重新置顶。

列表最多保留 50 条,最新在前,按文件地址去重。同一路径在不同会话下算两条记录,与右侧栏标签的地址模型一致。

实现上包裹右侧栏控制器的 openResource 与 openResourceIn:前者覆盖对话里的产物卡片、路径链接、工具行行号引用等;后者覆盖标签页内动作(例如文件树某一行)。数据持久化在 localStorage 键 dsh.recent-files.v1,字段含 address、sessionId、path、at。

插件在 DSH 0.2.0-rc.2 开发与首次验证,0.2.1-rc.3 已确认 sidebar.panellist、main 槽位及 @deepseek-ai/dsh-client-ui-primitives 等 API 仍可用;仅注册这两个槽位,不依赖未公开内部模块。

安装与启用

方式一:Plugins 页(推荐)

  1. 左侧栏点 Plugins
  2. 点 Add plugin
  3. 填写 Git 地址 https://github.com/msongw-design/dsh-plugin-recent-files,或本仓库克隆后的本地绝对路径
  4. 安装完成后在 Installed 组里启用

方式二:写进 profile

在 profile 目录(例如 ~/.dsh/profiles/desktop)中安装包:

pnpm add /path/to/dsh-plugin-recent-files

将包名加入 package.json 的 dsh.profile.bundles:

{
  "dsh": {
    "profile": {
      "bundles": ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "dsh-plugin-recent-files"]
    }
  }
}

重启应用;profile 带 HMR 时通常刷新页面即可。

典型用法

安装并启用后无需额外配置。在对话中点击文件产物卡片、路径链接,或在右侧文件树打开文件,对应条目会出现在 最近浏览 面板。需要快速回到刚才看过的某份产物时,在侧栏点该条目即可;若条目已过时,可悬停移除或点 清空。

开发者在仓库根目录可用冒烟测试验证行为:

node test/smoke.mjs

该脚本使用假的 window.__ModuleLoader__ 与 Cordis ctx,配合真实 React,覆盖注册、打开捕获、存储去重、持久化与页面渲染等断言。

适用场景与注意

适合经常在 DSH 里切换、复查多份会话产物的开发者。下列边界来自 README,安装前宜心中有数:

  • 只记录右侧栏内的打开动作;通过 Open In… 用系统默认应用打开的不计入
  • 列表全局共享,不按会话分组;点击时会切换会话
  • 只存地址,不校验文件是否仍存在;会话归档导致切换失败时会被忽略,地址仍可解析

DSH 生态强调「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。插件随当前 DSH 客户端进程运行,安装前应自行查看源码与 MIT 许可证,确认符合你的安全与合规要求。

结尾

dsh-plugin-recent-files 用侧栏一条列表补上了「刚才打开过哪些文件」的缺口,改动面小、职责单一。若要安装或读实现细节,见社区目录 msongw-design/dsh-plugin-recent-files 与 GitHub 仓库 msongw-design/dsh-plugin-recent-files。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye