前言¶
在 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 页(推荐)¶
- 左侧栏点 Plugins
- 点 Add plugin
- 填写 Git 地址
https://github.com/msongw-design/dsh-plugin-recent-files,或本仓库克隆后的本地绝对路径 - 安装完成后在 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。