baosfeng/my-dsh-plugins--plugins-dsh-file-activity5

dsh-file-activity

DSH 侧边栏文件活动插件:按 LRU 记录文件读取/新增/修改事件(最近访问),按绝对路径树形统计(文件统计),点击文件浮窗预览(代码高亮/Markdown/图片/PDF)。DSH web plugin: file activity tracker — LRU recent-access list plus per-file read/create/modify counts in a folder tree, with floating preview.

包名
dsh-file-activity
版本
0.5.8
最近更新
2026年9月12日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:baosfeng/my-dsh-plugins#cc837f22ecaa841de7d263346073dc44c55d50ee&path:plugins/dsh-file-activity

使用

  • 侧边栏 + 菜单 → 文件活动(或会话开始自动打开)。
  • 点击任意文件行 → 弹出浮窗预览:浮窗内复用侧边栏内置的 file viewer 渲染(代码语法高亮 / Markdown 富文本 / 图片 / PDF / HTML),不打开侧边栏编辑器标签,也不自建预览实现;点击浮窗外任意处或按 Esc 即可关闭,大文件可在浮窗内滚动。
  • 顶部「刷新」手动重载,「清空」删除当前会话全部记录。

浮窗预览(复用内置渲染)

点击文件(最近访问 / 文件统计中的任意文件行)会打开一个悬浮预览窗,窗口内容由侧边栏内置的文件查看器(file viewer)渲染 —— 通过 ctx.betterSidebar.matchFileViewer(path) 拿到匹配的 viewer,取其 component 挂载,并按 viewer 的 fetchStrategy 取内容(fsRead 文本 / mediaUrl 媒体 / custom 自定义)。浮窗为轻量交互:点击浮窗外任意处、按 Esc 或点标题栏右上 × 都能关闭;浮窗主体是可滚动区域,长文件或大图在窗内滚动查看。

  • 代码(后台为侧边栏内置 CodeMirror 编辑器):语法高亮 + 行号;支持 预览/编辑 切换与保存。
  • Markdown.md / .markdown):渲染后的富文本预览,可切换 预览/编辑 模式。
  • 图片(png / jpg / jpeg / gif / webp / svg / bmp / ico / avif):通过媒体路由渲染。
  • PDF:浏览器原生 PDF 查看器(浮窗内嵌,工具栏提供下载)。
  • HTML:沙箱化渲染预览,内容撑满整个浮窗主体(iframe 随浮窗尺寸自适应、内部滚动,与代码/Markdown/图片预览体验一致,issue #111)。
  • 其余文件按内置 viewer 的 matchFileViewer 回退匹配(如 binary-download 下载未知二进制)。

💡 工作区外文件也能预览:文件活动记录的是 agent 实际触碰过的文件,路径可能在会话工作区之外(如 /tmp 临时文件)。侧边栏自带的媒体路由只允许工作区内文件,因此图片/PDF 的字节由插件自身的 /file-activity/file 路由提供——它按会话记录授权(只放行本会话记录过的路径,未记录的路径一律 403),fence 与侧边栏一致。Markdown/代码/HTML 文本则仍走侧边栏 fs.read(不被工作区限制)。

配置

「设置 → 侧边卡片 → 文件活动」卡片齿轮:会话开始时自动打开(默认开)。