dsh-session-export

DSH PLUGIN记忆与知识

仓库 vi0let-dev/dsh-session-export

记忆与知识 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

DSH 会话导出插件:在设置中选择一个或多个会话,导出用户提问与最终回答,支持 Markdown/JSON。

一句话选型结论

按资料字段整理

dsh-session-export 是记忆与知识类的 DSH 可安装插件,验证等级 L5 · 运行验证通过,安全审查为低风险,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类记忆与知识 收录类型可安装插件 验证等级L5 · 运行验证通过 安全审查低风险
验证等级 L5 L5 · 运行验证通过
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-10-17 创建于 2026-10-17
README 9.5 KB 正文体量,越大说明说明书写得越细

安装

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

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

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

  3. 3
    确认已挂载

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

  4. 4
    试跑并检查权限

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

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

记忆与知识
字段来自项目仓库与公开索引,中文说明由本站标注

适用场景

文件读写存储

上游标签

deepseek-harnessdshdsh-pluginsession-export

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

选择建议

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

值得选的地方

  • 验证等级 L5:安装和运行都在沙盒里跑通过,装完能直接用的概率高。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在记忆与知识场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

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

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-session-export当前 L5 · 运行验证通过 低风险 0 未标注 有
ruflo L3 · 安装规范通过 低风险 7.4 万 未标注 无
OpenViking L3 · 安装规范通过 低风险 3.9 万 未标注 无
WeKnora L4 · 沙盒安装通过 低风险 3.3 万 未标注 有
distilly L4 · 沙盒安装通过 低风险 2.5 万 未标注 有
EverOS L4 · 沙盒安装通过 低风险 1.3 万 未标注 有

仓库档案

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

README 全文

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

dsh-session-export

给 DeepSeek Harness(DSH)桌面端 / Web 端的会话导出插件。

它只在 设置 里增加一个「会话导出」分区,不往侧栏或聊天页塞按钮,避免打断日常界面。
在这里可以:

  • 选择一个会话或多个会话;
  • 选择要导出的内容,默认是用户提问 + 每次对话的最终回答;
  • 按需附加思考过程、工具调用与结果、系统与运行时上下文;
  • 导出为 Markdown 或 JSON,多会话会合并成一个文件。

功能

能力 说明
单会话 / 多会话 会话列表支持搜索、全选、清空和逐行勾选
默认内容 用户提问 + 每轮最后一条助手文本回答
可选内容 思考过程、工具调用与结果、系统/运行时上下文
输出格式 Markdown(适合阅读、归档、粘贴到笔记)或 JSON(适合程序处理)
标题与元数据 导出文件包含会话标题、ID、工作目录、创建/最后活动时间、状态
只读 只读取会话日志,不修改会话、不写工作区记账、不删除任何东西
隐私 所有内容在 Host 本机生成,不联网、不上传

默认内容与「最终回答」的判定

  • 用户提问只取真正的用户输入(source.kind === 'user' / user-questions),不会把运行时的
    runtime-context、skill 列表、时间上下文当成用户问题。
  • 最终回答取每一轮里最后一条带文本(或图片/文件附件)的 assistant 消息。中间步骤里的
    reasoning 和 tool-call 不会被误当成最终回答。
  • 如果一轮还在运行、尚未产生最终文本,Markdown 中会标注「本轮仍在进行,暂无最终回答」,而不是
    编造内容。
  • 一轮已经结束但确实没有文本回答时,会标注「本轮没有文本形式的最终回答」。

安装

仓库地址:

要求 DSH 0.2.1-rc.2 左右的桌面端或 dsh web,Node ^22.19.0 || >=24.0.0。

方式一:从 GitHub 安装(推荐)

在界面里安装

  1. 侧栏 → 插件 → 添加插件;
  2. 在输入框里填:
github:vi0let-dev/dsh-session-export
  1. 点 安装。安装完成后会提示 「立即启用」,点它启用这个组合包;
  2. 完全退出并重启 DSH(bundle 行不会热加载);
  3. 重启后按 Ctrl+Shift+R 硬刷新页面。

用命令行安装

# 跟随 main 分支
dsh plugin --profile desktop add github:vi0let-dev/dsh-session-export

# 锁定到某个 tag(推荐,避免以后 main 变化)
dsh plugin --profile desktop add github:vi0let-dev/dsh-session-export#v1.0.0

GitHub 直装会在 profile 里放一份副本,不依赖本地插件目录;以后更新插件需要重新安装。
安装后确认 profile 的 package.json 里 dsh.profile.bundles 包含 dsh-session-export,
然后完全退出并重启 DSH。

方式二:本地目录(开发调试)

  1. 侧栏 → 插件 → 添加插件;
  2. 输入插件目录的绝对路径,例如:
D:\src\dsh-session-export
  1. 点 安装 → 立即启用;
  2. 完全退出并重启 DSH,再按 Ctrl+Shift+R 硬刷新。

命令行等价写法:

dsh plugin --profile desktop add "D:\src\dsh-session-export"

> 本地目录安装是软链接,修改代码后重新加载插件/重启即可,但不要删除或移动原目录。
> 本插件没有构建步骤、没有第三方依赖,不需要 pnpm approve-builds。

使用

打开 设置 → 会话导出:

  1. 在列表里勾选一个或多个会话(默认会选中最近的、已打开的那个会话);
  2. 在「导出内容」里确认勾选项。默认已选:
    - 用户提问
    - 最终回答
  3. 选择 Markdown 或 JSON;
  4. 点 导出,浏览器会下载文件。

文件名形如:

dsh-session-<会话标题>-20261017-2315.md
dsh-sessions-3-20261017-2315.json

Markdown 结构

# DSH 会话导出
> 导出时间 / 会话数量 / 导出内容

---
## 会话: <标题>
- 会话 ID / 工作目录 / 创建时间 / 最后活动 / 状态

### 第 1 轮 · 时间
#### 用户提问
...
#### 最终回答
...

(勾选思考过程 / 工具调用时,会以折叠块附在对应轮次下)

JSON 结构

{
"app": "dsh-session-export",
"version": 1,
"exportedAt": 1792249526189,
"options": { "user": true, "assistant": true, "reasoning": false, "tools": false, "system": false },
"sessions": [
{
"id": "session-...",
"title": "...",
"cwd": "C:\\...",
"createdAt": 1792249261242,
"updatedAt": 1792249526189,
"turns": [
{
"turn": 1,
"complete": true,
"users": [{ "text": "...", "attachments": [] }],
"assistant": { "text": "...", "attachments": [] },
"reasoning": [],
"tools": []
}
]
}
]
}

隐私与安全边界

  • 零网络:Host 侧不联网,没有遥测、更新检查或上报;浏览器侧只 fetch 同源的
    /api/dsh-session-export/* 路由。
  • 只读:不写会话日志、不改工作区记账、不删除文件。
  • 回环限制:HTTP 路由只接受本机回环连接,并要求回环 Host 头与
    x-dsh-session-export: 1 标志头。这样跨站页面无法通过简单的 fetch 触发导出,
    DNS rebinding 也会被 Host 校验挡下。
  • 不打包二进制附件:默认只导出文本与图片/文件附件的引用(附件 id、文件名),
    不复制附件本体。如果你需要“连附件一起打包”的 ZIP,请使用 DSH 自带的
    @deepseek-ai/dsh-session-log-export(会话 Header 菜单里的「下载 Session 日志」)。
  • 导出上限:一次最多 200 个会话,生成结果最多约 32 MB;超过会提示减少会话或内容选项。
  • 仓库脱敏:仓库内不含本机用户名/绝对路径、真实会话 ID、用户邮箱或凭据;README 的示例路径
    使用 D:\src\... 占位。插件运行时的会话内容只在本机处理和下载,不会写入仓库。

实现

插件分两侧,和 DSH 的其它 UI 插件一样:

  • Host 侧 index.js
  • 注册 /api/dsh-session-export/list 与 /api/dsh-session-export/export;
  • 列表合并 sessionPersistence.list()、活动 ctx.sessions.list() 与磁盘会话目录,
    标题/时间从 storages/session_projcache/sessions/.json 读取,读不到时回退到日志;
  • 读取时优先用活动会话的 snapshotEvents(),冷会话用
    sessionPersistence.open(id, 'read'),sessionQuery.readSession(id) 作为可选兜底;
  • 把事件归一化为 turns,再渲染 Markdown/JSON。
  • 浏览器侧 client.js
  • 手写 ModuleLoader bundle,只依赖外壳提供的 react;
  • 向 settings.section 注册一个 order: 37 的分区;
  • 所有数据走自己的同源路由;不读取其它插件的 DOM,不挂载全局按钮。

自测

node test/smoke.mjs

当前 16 项测试覆盖:

  • 包名 / bundle patch / client id / locale / icon 一致性;
  • 默认内容只包含用户提问与最终回答;
  • 思考、工具、系统上下文按选项出现;
  • 未结束轮次的「进行中」判定;
  • Markdown / JSON 渲染、多会话合并、文件名清洗;
  • 回环 Host 与自定义请求头校验;
  • GET /list、POST /export(活动会话与冷会话两条读路径);
  • apply 的 webServer 路由挂载;
  • client bundle 的 Settings 分区注册与中英文字典键一致。

已知限制

  • 依赖 DSH 的内部服务面(sessionPersistence、sessions、settings.section 等);
    DSH 大版本升级后如果这些面变化,需要跟着调整。
  • 活动会话导出的是已提交的事件快照;正在流式生成、尚未 settlement 的那段回答不会出现。
  • 默认不导出二进制附件,只保留引用;工具输出可能很长,勾选「工具调用与结果」时请留意导出体积。
  • 列表标题优先取投影缓存;极少数没有投影缓存的冷会话可能显示为「未命名会话」,
    但导出文件里仍会从日志的 session/title 或首条用户提问补出标题。
  • 必须通过 127.0.0.1 / localhost / [::1] 访问界面;用自定义域名映射到回环地址时,
    插件接口会因为 Host 校验返回 403。
  • 插件没有发布到 npm;请用 GitHub 地址或本地目录安装,不要直接
    dsh plugin add dsh-session-export。

卸载

界面:侧栏 → 插件 → 已安装 → 找到 dsh-session-export → 卸载。

命令行:

dsh plugin --profile desktop remove dsh-session-export

卸载后重启 DSH。插件不保留任何持久状态。

版本

  • 插件版本:1.0.0
  • 开发/验证环境:DSH 0.2.1-rc.2 桌面端,Node 24.x
  • 许可证:MIT

目录

dsh-session-export/
├─ index.js             # Host 半身:列表、读取、导出、HTTP 路由
├─ client.js            # 浏览器半身:Settings 分区 UI
├─ cordis.patch.yml     # 挂载 Host 行的 bundle patch
├─ package.json
├─ icon.svg
├─ docs/
│  └─ banner.png        # README 顶部横幅
├─ locale/
│  ├─ zh.json           # 插件管理器的中文标题/描述
│  └─ en.json
├─ test/
│  └─ smoke.mjs
├─ README.md
├─ LICENSE
└─ .gitignore

常见问题

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

在 DSH 里执行 `dsh plugin --profile web add github:vi0let-dev/dsh-session-export#v1.0.0` 即可。

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

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-session-export 安全吗?

低风险。

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

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

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

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

这条记录的数据可靠吗?

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

同名或近似条目

5 条
不同作者的仓库分开列,请确认你要装的是哪一个
记忆与知识
按星标排序,可作替代方案

ruflo

ruflo

L3 · 安装规范通过 7.4 万 星

OpenViking

OpenViking

面向 DeepSeek Harness 的 OpenViking 记忆与上下文插件:pre-step 自动召回与画像注入、会话捕获、`vik

L3 · 安装规范通过 3.9 万 星

WeKnora

WeKnora

把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己

L4 · 沙盒安装通过 3.3 万 星

distilly

distilly

Distilly — Distill how they think into reusable Skills for any Agent o

L4 · 沙盒安装通过 2.5 万 星

EverOS

EverOS

L4 · 沙盒安装通过 1.3 万 星

MemOS

MemOS

L4 · 沙盒安装通过 1.2 万 星

vi0let-dev 的其它插件

6 个

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