dsh-session-files

DSH PLUGIN会话与消息

仓库 RDYRD/dsh-session-files · npm dsh-session-files

会话与消息 未标注验证等级 安全审查:未标注 可信度:未标注 可安装插件
安装这个插件

DSH 侧边栏插件,列出当前会话产出的所有文件,支持预览、定位、复制路径与回收站删除。

一句话选型结论

按资料字段整理

dsh-session-files 是会话与消息类的 DSH 可安装插件,未做沙盒验证,暂无安全审查结论,列出 5 项功能,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类会话与消息 收录类型可安装插件 验证等级未标注验证等级 安全审查未标注
验证等级 UNKNOWN 未标注验证等级
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-11-12 创建于 2026-10-26
README 9.5 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:RDYRD/dsh-session-files
  1. 1
    确认版本与运行环境

    Node.js 要求 >=20;版本不匹配时安装会报错。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求>=20来自仓库 package.json 的 engines 字段
前置依赖dsh-better-sidebar@>=0.28.0需要同时安装的同级依赖
npm 包名dsh-session-files可用 npm view 查看包信息

能做什么

5 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-session-files:在 DeepSeek Harness 侧边栏盘点会话产物

  • 交付物与过程产物分组
  • 侧栏内预览图片视频PDF
  • 一键定位对话中的交付卡片
  • 删除移入可恢复回收站
  • 切换查看历史会话产物

上游标签

deepseek-harnessdshdsh-plugin

验证等级与安全审查

未标注验证等级
自动化流程结论,不是人工审核
验证等级未标注验证等级上游未给出验证结论,安装前请自行确认
安全审查未标注静态分析结论,未标注不代表已通过审查
仓库健康度未标注按仓库活跃度与最近更新时间给出
可信度未标注综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。
  • 列出了 5 项功能,能直接看出它解决什么问题。

先想清楚的地方

  • 安全审查还没结论,装之前先看仓库改了什么、要什么权限。
  • 需要同时装好同级依赖,漏装会启动失败。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在会话与消息场景里给 DSH 补能力的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-session-files当前 未做沙盒验证 未标注 0 未标注 有
dsh-desktop L3 · 安装规范通过 低风险 3.0 万 未标注 无
openpets L4 · 沙盒安装通过 低风险 1,274 未标注 有
deeptide L4 · 沙盒安装通过 低风险 1,104 0.1.1-rc.2 有
jingyun-dsh L3 · 安装规范通过 低风险 1,004 未标注 有
study-mate 未做沙盒验证 未标注 856 未标注 无

仓库档案

会话与消息
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方RDYRD仓库 dsh-session-files · 默认分支 main
分类会话与消息session
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 0收录时的数值,非实时
创建 / 更新2026-10-26 · 2026-11-12最后推送 2026-11-12
本站收录2026-11-13首次进入本站目录的时间

README 全文

9.5 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-session-files

侧边栏里的「本会话产物」标签页:把当前对话产出过哪些文件列出来,带完整路径,可打开、复制路径、移入回收站。

解决的痛点:DSH 的会话记录里其实已经写下了每一个产物(deliverables/presented 是 present 工具声明过的交付物,tool/call 是每次写入型工具调用的参数),但没有任何界面把它读出来。想找上一次生成的图片或 blend 文件,只能靠聊天记录往上翻。

功能

  • 两个分组
  • 交付物:agent 用 present 明确声明过的文件,带当时的描述、第几轮交付;同一个文件被重复交付会合并成一条,保留最新描述并记下所有轮次
  • 过程产物:写入型工具(write/edit/blender_export/godot_export_project/office_export_pdf 等)碰过的文件,可折叠
  • 完整绝对路径:点「路径」按钮复制到剪贴板;下方显示目录与大小
  • 点开就在侧栏内预览:点整行,预览层在标签页内部铺满(不弹全屏窗口,也不遮挡旁边的对话)——图片按原比例缩放、视频音频带控件、PDF 用 ` 直接流原始字节(超过 48 MB 时给提示)、Markdown 渲染成排版、CSV/TSV 渲染成表格、代码按语言做轻量语法高亮,纯文本读前 256KB。Esc或点空白处关闭,←→` 在本次会话的所有文件之间翻页,另有「在编辑器中打开」和「复制完整路径」
  • 在对话里定位:每一行右侧有「定位」按钮,点了会在对话区找到产出这个文件的那张交付卡片([data-presented-file],按路径标题匹配),滚动到视野中间并描边 1.8 秒。对话只挂载最近若干轮,早期轮次还没进 DOM 时,它会自己连点对话里的「加载更早」把历史拉进来再找(最多 12 轮,每轮等 0.9 秒);实在找不到(已被折叠、或者这是过程产物)才提示「没找到」,不会乱跳
  • Office 格式不假装能预览:doc/docx/xls/xlsx/ppt/pptx 是压缩打包的二进制,浏览器没有内置渲染器,预览层会直说这一点并指向「在编辑器中打开」,而不是把字节流倒进 `` 里
  • 已消失的文件:文件不在磁盘上了会划掉并标注,不会假装它还在。这种行的按钮变成「移除」而不是「删除」——没什么可删的,点它只是把这条死记录从列表里划掉(记在 ~/.dsh/dsh-session-files/dismissed/<会话id>.json)。顶部摘要里的「N 个已丢失 · 清除」可以一次清掉本会话全部死记录
  • 会话切换器:顶部下拉可切到磁盘上任意历史会话,看它当时产出了什么;默认跟随当前打开的会话,手动选过之后不再被自动切走
  • 派生会话默认不列出:从别的会话 fork 出来的(header 里 delegationDepth > 0,比如侧边对话、subagent fork)会继承父会话的整段历史事件,所以它的产物列表必然是父会话的副本。选择器默认隐藏它们,底部显示「另有 N 个派生会话」可展开,展开后带「派生」角标。实测那份数据里 4 个派生会话的独有产物是 0 个
  • 删除要过回收站:删除 = 移到 ~/.dsh/dsh-session-files/trash/<时间戳>-<随机>/,原文件的字节完好保存,随时可恢复。回收站面板里可逐条「恢复」或「彻底删除」
  • 盘根、家目录、DSH_HOME 本体直接拒绝入回收站,避免手滑

前置要求

依赖 版本 必需? 说明
DeepSeek Harness >= 0.2.1-rc.2 必需 host 端注册 HTTP 路由,用的是 ctx.webServer
dsh-better-sidebar >= 0.28.0 必需 侧边栏标签页是它的扩展点;registerTab 从 0.28.0 才对外开放
Node.js >= 20 必需 用了 zlib.zstdDecompressSync 解会话文件

分工很清楚:host 端(lib/index.js)只 inject: ['webServer'],不碰 better-sidebar,所以没装 better-sidebar 时路由照样能注册、接口照样能调;client 端(lib/client.js)inject: ['betterSidebar'],没有它就不注册标签页——插件不会报错,只是侧边栏里没有那一页。

dsh-better-sidebar 已在 peerDependencies 里声明,但 DSH 不会替你装 peer(profile 的 pnpm 配置是 autoInstallPeers: false),得自己先装好:

cd ~/.dsh/profiles/desktop
pnpm add dsh-better-sidebar

装完 dsh-better-sidebar 重启 DSH,再装本插件。

怎么装

从 npm 装(推荐)

cd ~/.dsh/profiles/desktop
pnpm add dsh-session-files
node node_modules/dsh-session-files/install.mjs --skip-junction

pnpm add 只负责把包装进 profile 的 node_modules;DSH 的 loader 不会因此加载它——还得靠第二条命令往 cordis.patch.yml 写一条 insert(--skip-junction 的意思是「包已经在 node_modules 里了,别再建软链」)。

从源码装

git clone https://github.com/RDYRD/dsh-session-files.git
cd dsh-session-files
node install.mjs

没有 git 就在仓库页面点 Code → Download ZIP,解压到任意位置——install.mjs 用的是脚本自己所在的目录,放哪都行。

脚本做两件事:

  1. 在 ~/.dsh/profiles/desktop/node_modules/ 下建一个 junction 指向本目录(让 DSH 能按包名解析到它)
  2. 往 ~/.dsh/profiles/desktop/cordis.patch.yml 追加一条 insert 记录,把插件挂进 loader

> 之前从别处装过一份副本的话,node install.mjs 会拒绝执行,并告诉你先 node install.mjs --remove。它不会偷偷把 junction 改指到新位置——替换 junction 有动到旧副本的风险,不值得。

装完必须重启 DSH(host 端插件在主进程里,不重启不会注册路由)。

重启的边界(实测):DSH 的 cordis loader 会热加载 cordis.patch.yml 本身,所以第一次 insert 之后不用重启就能看到路由;但它不追踪插件源码——只要改了 lib/*.js,就必须完全退出 DSH 再打开,否则跑的还是旧代码(表现是新增的路由返回 401,而不是 404)。

自检

改完代码、重启之前可以先跑:

npm test                    # 下面三条串起来跑
node test/test-smoke.mjs      # 解码会话、抽产物,打印耗时与数量
node test/probe-client.mjs    # 在假环境里加载 client bundle,验证 tab 注册没坏
node test/probe-host.mjs      # 验证 missing 标记、dismiss 往返、/artifacts 过滤与计数

这些脚本都不碰真实数据(只读会话文件;probe-host.mjs 会建一个临时 dismissed 文件,跑完自己删掉),可以随便跑。另外 test/probe-sessions.mjs 列出每个会话的 delegationDepth/标题来源/产物数,test/probe-sidechat.mjs 与 test/probe-forkdiff.mjs 专门看派生会话和它父会话的差异——这两个是排查「这个会话是哪来的」用的。

卸载

node install.mjs --remove

会把 patch 里的 insert 行删掉并移除 junction。回收站里的文件不会动,需要的话自己清 ~/.dsh/dsh-session-files/trash。

数据从哪来

全部读本地会话文件,不联网、不改会话:

~/.dsh/sessions/<工作区slug>/session-/session.v4.jsonl.zstd

一个会话文件是多帧 zstd 拼接的(每次 flush 追加一帧),Node 的 zstdDecompressSync 只解第一帧,所以先按 magic 28 B5 2F FD 切分再逐帧解压。解出来的 JSONL 里:

  • {"type":"deliverables/presented","data":{"turn":9,"files":[{"path":"...","description":"..."}]}} → 交付物
  • {"type":"tool/call","data":{"turn":1,"name":"write","arguments":"{\"file_path\":\"...\"}"}} → 过程产物(按工具名查它用哪个参数键写文件)
  • workspace/changes 只有轮次号没有文件明细,用不了

写入型参数键表在 lib/artifacts.js 的 WRITE_ARG_KEYS。

接口

host 端注册 7 条路由,前缀 /api/dsh-session-files:

方法 路径 作用
GET /sessions 磁盘上的会话列表;派生会话(delegationDepth > 0)默认隐藏,加 ?includeDerived=1 一并返回
GET /artifacts?sessionId= 一个会话的两个分组 + 统计(已 dismiss 的路径不返回)
GET/HEAD /raw?path=&mode= 原文件字节,给缩略图和内联预览用;mode=text 截前 256KB 当纯文本返回
GET /trash 回收站条目
POST /trash {paths:[...]} 移入回收站;文件已不在的路径不报错,返回 missing:true
POST /dismiss {sessionId, paths:[...]} 让这些路径不再出现在 /artifacts(不删任何东西)
POST /restore {id} 恢复
POST /purge {id} 彻底删除

所有路由都要求:loopback 对端、sec-fetch-site 为 same-origin/none/缺失、写操作带 content-type: application/json(挡掉跨站表单)。/raw 上限 48MB,超过返回 413。

已知边界

  • 只认「写入型工具 + 显式路径参数」和 present。脚本里间接生成的文件(比如 python x.py 里 plt.savefig(...) 写出的图)不在过程产物里 —— 会话记录里没有这个信息
  • bash/pwsh 里出现过的路径会当作候选,但会被 exists + 不像噪声 过滤(排除 .dsh/、node_modules/、.git/、__pycache__/)
  • 产物路径按字符串提取,不做通配符展开;带 *、? 的参数直接跳过

常见问题

8 问
答案由本站依据条目字段整理,不引用上游原文
dsh-session-files 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:RDYRD/dsh-session-files` 即可。对应的 npm 包名是 `dsh-session-files`。

dsh-session-files 的验证等级是什么意思?

未标注验证等级。上游未给出验证结论,安装前请自行确认

dsh-session-files 安全吗?

未标注。

dsh-session-files 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-session-files 需要什么运行环境?

Node.js >=20;需要同时安装 dsh-better-sidebar@>=0.28.0。环境不满足时安装会失败,建议先确认本机版本。

dsh-session-files 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-session-files 有哪些功能?

交付物与过程产物分组、侧栏内预览图片视频PDF、一键定位对话中的交付卡片、删除移入可恢复回收站、切换查看历史会话产物。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

同名或近似条目

2 条
不同作者的仓库分开列,请确认你要装的是哪一个
会话与消息
按星标排序,可作替代方案

dsh-desktop

dsh-desktop

为 DeepSeek Harness (DSH) 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。

L3 · 安装规范通过 3.0 万 星

openpets

openpets

L4 · 沙盒安装通过 1,274 星

deeptide

deeptide

L4 · 沙盒安装通过 1,104 星

jingyun-dsh

jingyun-dsh

井云 DSH 客户端插件,为 DeepSeek Harness 注入会员登录、订阅支付、算力管控与应用市场,让智能体和技能快速变成可交易商品

L3 · 安装规范通过 1,004 星

study-mate

study-mate

StudyMate 是 DSH 的「学习模式」预设与技能包,为数学、计算机科目定制学习路线、讲解课件与练习评估,跨科目共享记忆。

未标注验证等级 856 星

RDYRD 的其它插件

1 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。