把会话导出为可审计的 HTML、Markdown 或 JSON 报告
29.8/100
综合分
0
GitHub 星标
506
npm 周下载
—/5
用户评分
数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-session-exportnpm 源 · dsh-session-export 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · chat
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 49 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-session-export @ 1.8.2
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/21 23:51:56
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 14 处,展示前 9 条)
- 写入本地文件lib/index.js:64
await mkdir(dir, { recursive: true }); - 读取本地文件lib/index.js:70
names = await readdir(dir); - 读取本地文件lib/index.js:79
const info = await stat(path); - 删除本地文件lib/index.js:105
await unlink(victim); - 写入本地文件lib/index.js:1537
await mkdir(dirname(path), { recursive: true }); - 写入本地文件lib/index.js:1539
await writeFile(tmp, content, "utf8"); - 写入本地文件lib/index.js:1540
await rename(tmp, path); - 写入本地文件lib/index.js:1544
await mkdir(dirname(path), { recursive: true }); - 写入本地文件lib/index.js:1546
await writeFile(tmp, data);
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-commands@deepseek-ai/dsh-llm@deepseek-ai/dsh-scope@deepseek-ai/dsh-session@deepseek-ai/dsh-session-query@deepseek-ai/dsh-timeout@deepseek-ai/dsh-tools@deepseek-ai/dsh-user-approval给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 导出会话为HTML
- 写入宿主路径
把 DeepSeek Harness 会话导出成人类可读的记录——/transcript 通过 ctx.sessionQuery 把 Markdown/JSON 写到宿主路径(dsh-plugin)
最近更新
在 GitHub 查看全部 →v1.8.52026-10-03
文档润色一轮(不改运行时)。安装细节补全;贡献者区块直接链接到待补缺口的 issue。新增社区板块;issue 模板中英双语。英文与中文 README 章节保持同步。
v1.8.42026-10-03
面向贡献者的文档发布。README(中英文)重构:一句话简介 → 安装 → 试一次 → 工具链表 → 6 行贡献者区块;细节章节移到下方。贡献者路径开放:CONTRIBUTING 里的源码地图、带文件/DoD/测试的 good first issue、治理文档、GitHub 话题。CHANGELOG 补齐此前未记录的版本。运行时无改动。
v1.8.22026-09-21
维护版本——按开源加固计划整理仓库。
· 两份 README 顶部都加了快速开始(要求 Node 20/22,命令和 sessionQuery;一行安装;最小用法)。
· npm run doctor(scripts/doctor.mjs):零依赖的开发自检——检查 Node 版本、node_modules,以及 @deepseek-ai/dsh-tools 能否解析,可从同级 checkout 自动链接。
· package.json 元数据:repository / homepage / bugs 现在会显示在 npm view 和 npm 侧边栏。
· 本轮早些时候:CONTRIBUTING / SECURITY / CODE_OF_CONDUCT(双语)+ CI 打包检查(bundle + npm pack --dry-run,限定 Node 22——tsdown 配置加载器需要 Promise.withResolvers)。
· 202/202 测试全绿。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成dsh-session-export
CI npm version npm downloads License: MIT
为 DeepSeek Harness 提供确定性的会话证据报告:/transcript 把会话写成单文件 HTML 报告或 Markdown/JSON 转录,/stats 在终端打印统计卡,/archive 把原始会话日志写成逐会话 ZIP——全部落到本机路径,且支持任意持久化后端(JSONL 或 SQLite)。
通过 ctx.sessionQuery 直读会话日志本身——无旁路采集、无驻留内存、无数据漂移。 装插件之前的历史会话照样能导。
项目定位
dsh-session-export 是会话证据层,不是记忆优化器。
- 核心价值是可审计(发生了什么、顺序如何、失败点在哪)。
- 核心价值是可复现(稳定输出、可移植文件、确定性渲染)。
- 核心价值是可运维(批量归档、落 Host 路径、可打印交付物)。
如果你的主要目标是上下文压缩或语义记忆,优先用记忆框架;如果主要目标是复盘取证、代码评审和事故复盘,优先用本插件。
展开完整文档(README 剩余 1 节)
dsh-session-export
CI npm version npm downloads License: MIT
为 DeepSeek Harness 提供确定性的会话证据报告:/transcript 把会话写成单文件 HTML 报告或 Markdown/JSON 转录,/stats 在终端打印统计卡,/archive 把原始会话日志写成逐会话 ZIP——全部落到本机路径,且支持任意持久化后端(JSONL 或 SQLite)。
通过 ctx.sessionQuery 直读会话日志本身——无旁路采集、无驻留内存、无数据漂移。 装插件之前的历史会话照样能导。
项目定位
dsh-session-export 是会话证据层,不是记忆优化器。
- 核心价值是可审计(发生了什么、顺序如何、失败点在哪)。
- 核心价值是可复现(稳定输出、可移植文件、确定性渲染)。
- 核心价值是可运维(批量归档、落 Host 路径、可打印交付物)。
如果你的主要目标是上下文压缩或语义记忆,优先用记忆框架;如果主要目标是复盘取证、代码评审和事故复盘,优先用本插件。
竞品视角
| 能力重心 | 官方 /export | 旁路监听型导出 | 记忆框架类插件 | dsh-session-export |
| 主要产物 | 原始日志下载 | 可读转录文本 | 记忆/上下文优化结果 | 证据级会话复盘报告 |
| 数据来源 | 原始日志包 | 旁路事件流 | 推导后的记忆结构 | 会话主日志(sessionQuery) |
| 历史覆盖 | 受后端限制 | 无补录常不完整 | 通常按召回策略选取 | 全量历史(含装插件前会话) |
| 持久化后端 | 仅 JSONL | 监听器见到的 | 框架各异 | 任意后端(JSONL、SQLite…) |
| 统计 | — | 面板计数器 | 框架各异 | /stats 卡片 + 成本估算 + 工具排行 |
| 谱系 / diff / 时间轴 | — | — | — | Mermaid 谱系、编辑器 diff、轮次时间轴 |
| 批量 | — | — | — | /archive --all --since |
| 运维交付 | 浏览器 ZIP | 常见单次导出 | 记忆状态/索引 | HTML/MD/JSON + /stats + /archive |
功能优化路线图
- P1:报告对比模式 —— 对两次导出生成结构化差异报告(v1.6.0 已交付 → /diff )。
- P1:团队策略包 —— 统一脱敏、保留期、导出契约的配置预设(v1.5.0 已交付 → preset: 'compliance' | 'full')。
- P2:交接打包 —— 一条命令打包报告 + 原始归档 + 清单,直连评审流程(v1.4.0 已交付 → /bundle)。
为什么需要它
官方 @deepseek-ai/dsh-session-log-export 通过浏览器下载原始 JSONL/zstd ZIP,且仅支持 JSONL 后端。本插件补上它明确推迟的部分(见上方对比表)。
转录语义遵循 @deepseek-ai/dsh-session/surface:本插件渲染 append-origin 表面事件——用户真实看到过的全部内容——而不是模型可见表面(后者的 compaction 替换会抹掉用户已经读过的对话)。
命令契约
| 输入 | 结果 |
| /transcript | 导出当前会话 → /dsh-transcripts/transcript--.md |
| /transcript --html | 单文件 HTML 报告:KPI 卡片、轮次时间轴、工具排行、错误高亮、暗/亮主题、打印转 PDF |
| /transcript --json / --md / --html | 任意组合输出格式 |
| /transcript / --out | 写入指定路径(--out 后允许空格) |
| /transcript --id | 导出另一个会话 |
| /transcript --last 30m | 部分导出:最近 30 分钟的条目(7d/12h/30m/90s) |
| /transcript --errors-only | 调试视图:报错的工具结果 ± 两条上下文 |
| /transcript --mask | 脱敏:遮蔽 API key、Bearer token、私钥、邮箱等 |
| /transcript --mask-hash | 确定性脱敏:密文变 #xxxxxxxx 摘要——同密钥同标记,相等性在脱敏后仍可判 |
| /transcript --manifest | 证据清单:为本次每个导出物写 .manifest.json 边车(字节数 + SHA-256) |
| /transcript --full | 附上 log-only 事件附录 + Mermaid 轮次时间轴 |
| /stats | 终端统计卡:消息、轮次、时长、工具调用(含失败)、token、成本、工具排行、sparkline——不写文件 |
| /archive | 归档当前会话(含子代理后代)→ 逐会话 ZIP |
| /archive --all --since 7d | 批量归档最近 7 天的全部会话 |
| /diff | 会话对比:比较两场会话——公共前缀、独有尾部、stats 差量(终端或 --html 报告) |
| /bundle | 一键审查 ZIP:转录报告 + 原始 JSONL 归档 + sha256 证据清单,为审计/审查流程设计 |
| /bundle --mask --manifest | 脱敏转录 + 证据清单 |
| /bundle --no-archive | 仅转录报告(不含原始归档) |
与所有 ctx.commands 命令一样,四个命令都运行在人类命令平面:结果不进模型历史,零 token 消耗。
HTML 报告长什么样
HTML 报告(亮色主题) HTML 报告(中文) HTML 报告(暗色主题)
/transcript --html 写出一个自包含文件——不引外部 CSS/JS,离线可开:
- KPI 卡片:消息数、工具调用(失败数标红)、token 进/出、时长、轮次、成本
- 轮次时间轴:每轮一条彩色横条,按墙钟占比着色
- 工具排行:横向条形图 + 每工具失败数
- Token sparkline:内嵌 SVG,每条 assistant 消息的输出 token 分布
- 错误焦点:失败的工具结果红边框 + 横幅 + 自动展开;页头一键跳到第一个失败
- JSON 语法高亮:工具参数与 JSON 结果按 token 着色(key 蓝/字符串绿/数字琥珀)——不引外部高亮库
- 中英双语:lang: zh 整份报告中文显示,默认英文
- 原生 tooltip:悬停 KPI 卡、时间轴条、sparkline 柱看明细
- 原生折叠:工具参数/结果与 reasoning 收进
- 按轮折叠:转录按轮分组可折叠(时长 · 条数 · ⚠ 旗标);长报告有粘性工具栏(TOC 芯片 + 实时搜索,/ 聚焦)
- 复制按钮:工具参数/结果/diff/推理块一键复制
- 暗/亮主题:跟随系统 prefers-color-scheme,可切换且记忆
- 打印 → PDF:@media print 规则;打印时自动展开全部折叠——Cmd+P 一步归档
Markdown 输出新增 Mermaid 谱系图(GitHub/VSCode 原生渲染),--full 时附 Mermaid 轮次甘特图。
成本估算
配置一次价格表,之后每次导出/统计都显示估算成本:
- id: session-export
name: 'dsh-session-export'
config:
pricing:
inputPerMillion: 0.27 # 每百万输入 token 单价 outputPerMillion: 1.10 # 每百万输出 token 单价 currency: '$' # 货币标签
安装(out-of-tree 插件)
从 npm:
dsh plugin --profile web add dsh-session-export
或从 GitHub:
dsh plugin --profile web add github:kittimzhe/dsh-session-export
然后在 profile 的 cordis.patch.yml 加一行(需要 commands 与 sessionQuery 服务,官方 profile 均已挂载):
- id: session-export
name: 'dsh-session-export'
配置
插件行 config(全部可选):
- id: session-export
name: 'dsh-session-export'
config:
preset: compliance # 一行策略包:'baseline'(默认)、'compliance'、'full' defaultDir: /absolute/output/dir # 默认:会话 cwd + dsh-transcripts/ argCharLimit: 512 # 工具参数渲染上限 resultCharLimit: 2048 # 工具结果渲染上限 lang: zh # HTML 报告标签语言:默认 'en',可 'zh' mask: true # 默认脱敏(--mask 按次开启) maskMode: hash # 替换模式:'mask'(占位符,默认)或 'hash'(确定性摘要) manifest: true # 默认写 .manifest.json 边车(--manifest 按次开启)
maskPatterns: ['OPS-\d+'] # 额外脱敏正则
pricing: { inputPerMillion: 0.27, outputPerMillion: 1.10, currency: '$' }
archiveDir: /absolute/output/dir # 默认:会话 cwd + .dsh-archives/ includeDescendants: true # /archive --id 默认含后代 maxSessionsPerRun: 100 # /archive --all 安全上限
Markdown 里有什么
- 表头:会话 id、项目、创建时间、agent preset、消息/工具调用数(含失败)、token 汇总、时长、成本、生成器
- 谱系:Mermaid 图 + 祖先链与子代理后代树
- 按日志顺序的转录:用户消息、assistant 消息(provider/model 出处、token 用量、可折叠 reasoning)、工具调用(参数截断;str_replace_editor 渲染成 - --full:Mermaid 轮次时间轴 + log-only 事件附录
已知限制
- 导出走受信的 ctx.sessionQuery 接缝;没有该服务的组合无法挂载本插件。
- 报告字节不可复现(内嵌生成时间戳);--manifest 提供的是完整性校验(逐导出物 SHA-256),而非可复现性。
- Token 汇总按 assistant 消息的 usage 记录累加;适配器未上报 usage 的步骤计零。
- 成本为牌价估算;未建模缓存命中折扣(cacheReadTokens 不单独计价)。
- 脱敏基于模式匹配、尽力而为:覆盖常见凭据形态,不保证遮蔽所有可能的秘密。
- Markdown 代码块内部不做转义;diff 内容自带 +/- 行首时会渲染为附加 diff 行(diff 视图可接受)。
- /archive 只出不进:DSH 没有写侧会话接缝,ZIP 是备份不是往返。
开发
工具模块的本地类型检查需要 @deepseek-ai/dsh-tools(^0.1.1-rc.2,可选 peer)可解析。其传递依赖 @deepseek-ai/dsh-agent@0.1.1 线当前已从 npm 下架,全新安装拉不下来——从已有该包的检出链接一份(如同级的 dsh-session-recall): bash ln -s ../dsh-session-recall/node_modules/@deepseek-ai/dsh-tools node_modules/@deepseek-ai/dsh-tools
许可
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
kittimzhe/dsh-session-export
把会话导出为可审计的 HTML、Markdown 或 JSON 报告
相关插件 · 对话 / 记忆
上下文中枢oceanbase/powercontext
上下文跟着工作走 —— 跨会话、跨智能体、跨人。
★ 1,489已汉化DSH
73.1
智能体记忆库plastic-labs/honcho
Honcho 是记忆基础设施,用来构建有状态的智能体。这些智能体能理解不断变化的人、智能体、群组、项目和想法。
★ 7,918已汉化DSH
71.7
长程智能体控制面loopx-project/loopx
给 Agent 一个目标,让工作持续向前。
★ 6,358已汉化DSH
71.3
智能体上下文数据库volcengine/OpenViking
给 AI 智能体用的上下文数据库
★ 41,453已汉化DSH
71.3
长效机器人团队Fei2411/DS-Bot
Download DS Bot for Windows 10/11 64-bit / 下载 Windows…
★ 5,293已汉化DSH
71.2
可携带记忆层EverMind-AI/EverOS
为什么选择 EverOS
★ 13,797已汉化DSH
71.1
这是你的仓库?认领条目