把流式碎片日志折叠成可读聊天记录并一键下载
28.5/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add YupegLV/dsh-chat-log该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · browser
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 71 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
发起外部网络请求
查看扫描证据(共 1 处,展示前 1 条)
- 发起网络请求lib/client.js:51
const response = await fetch(url, { method: "HEAD", signal: AbortSignal.timeout(30000) });
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-commands@deepseek-ai/dsh-session-persistence@deepseek-ai/dsh-sessions给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 折叠流式碎片日志
- 合并为聊天记录
- 一键浏览器下载
把 DSH 会话日志折叠成干净的聊天记录:流式碎片合并,其余内容一条不丢。/chat 命令 + 浏览器下载。
README
由 DeepSeek 最新模型翻译生成dsh-chat-log
把 DSH Session 日志整理成正常聊天:流式 chunk 碎片折叠为完整消息,其余内容一行不丢、逐字保留。一键下载,或使用 /chat 命令——与官方"Session log"ZIP 按钮并存。
npm License: MIT
为什么
官方 @deepseek-ai/dsh-session-log-export 下载的 ZIP 里是原始日志:session.jsonl(或 zstd 多帧压缩),其中超过 8 成行数是 token 级流式增量碎片(assistant/chunk、reasoning-chunks、text-chunks、tool-call-chunks)——想阅读或复用要先在成千上万条碎片行里爬。
dsh-chat-log 以日志中的权威折叠事件(user/message、assistant/message、tool/call、tool/result)为内容来源构建可读的聊天树,其余事件(权限、审批、请求上下文、生命周期等)逐字保留在 events 里。
关于保真度:碎片增量与权威折叠偶有字符级差异(实测发现工具调用参数缺个闭合引号的个案)。本插件始终以权威折叠为准,比对结果写入 report。
展开完整文档(README 剩余 1 节)
dsh-chat-log
把 DSH Session 日志整理成正常聊天:流式 chunk 碎片折叠为完整消息,其余内容一行不丢、逐字保留。一键下载,或使用 /chat 命令——与官方"Session log"ZIP 按钮并存。
npm License: MIT
为什么
官方 @deepseek-ai/dsh-session-log-export 下载的 ZIP 里是原始日志:session.jsonl(或 zstd 多帧压缩),其中超过 8 成行数是 token 级流式增量碎片(assistant/chunk、reasoning-chunks、text-chunks、tool-call-chunks)——想阅读或复用要先在成千上万条碎片行里爬。
dsh-chat-log 以日志中的权威折叠事件(user/message、assistant/message、tool/call、tool/result)为内容来源构建可读的聊天树,其余事件(权限、审批、请求上下文、生命周期等)逐字保留在 events 里。
关于保真度:碎片增量与权威折叠偶有字符级差异(实测发现工具调用参数缺个闭合引号的个案)。本插件始终以权威折叠为准,比对结果写入 report。
特性对比
| | 官方 /export | 本插件 |
| 输出 | 原始日志 ZIP(浏览器下载) | 干净的嵌套聊天 JSON(dsh-chat.v1) |
| 流式碎片 | 原样打包(占 80%+ 行数) | 折叠为完整消息 |
| 其余内容 | 混杂在压缩包中 | 逐字保留在 events(一个不丢) |
| 下载 | 仅 ZIP | 直接下载 .json(与官方同款 HEAD 预检) |
| 无界面使用 | ✗ | /chat 命令(零 token,人命令平面) |
| 校验 | — | 碎片↔折叠比对报告 |
- 零运行时依赖,核心是单个纯数据模块(lib/fold.js)——不碰 zstd、不碰 zip、无服务器。
- 不删除任何内容:每条非碎片事件字节级保留;无法校验的碎片 step 会回退为保留原始事件。
- Token 影响为零:/chat 走人命令平面,结果不进模型历史。
要求
- DSH Web(dsh web)profile,Node ≥ 22.15
- commands / sessionPersistence / sessions 服务(官方 profile 自带)
安装
从 npm(推荐)
dsh plugin --profile web add dsh-chat-log
从 GitHub
dsh plugin --profile web add github:YupegLV/dsh-chat-log
本地(开发/自托管)
dsh plugin --profile web add file:/绝对路径/dsh-chat-log
执行后重启 dsh web 生效。
⚠️ 浏览器下载需要打一个 host 补丁(一次性,幂等)
"Chat log" 按钮的浏览器直接下载依赖 host 下载端点 /api/session.chat(挂在 dsh-host-apiproxy,第三方插件无法注册自己的 /api/ 路由)。安装后执行一次:
node node_modules/dsh-chat-log/scripts/patch-apiproxy.mjs
或在插件目录: node scripts/patch-apiproxy.mjs
脚本幂等(重复执行安全、自动备份原文件)。升级 DSH 后需重新执行(新装的 dsh-host-apiproxy 会覆盖补丁)。
不打补丁时:按钮点击会静默失败(无状态提示),但 /chat 命令(写盘 dsh-chats/)始终可用。
用法
| 入口 | 说明 |
| /chat | 导出当前会话 → /dsh-chats/chat--.json,命令结果回显绝对路径 |
| /chat --id | 导出指定会话 |
| /chat --out | 自定义输出目录 |
| 会话头部 Chat log 按钮 | 与官方"Session log"按钮并列;HEAD 预检后浏览器直接下载 dsh-chat-.json(需打 host 补丁,见上) |
命令走人命令平面:零 token、不进模型历史,结果以 flow node 渲染。
输出格式(dsh-chat.v1)
{
"schema": "dsh-chat.v1",
"session": { "id": "...", "createdAt": 1787625016270, "cwd": "...", "agentPreset": "standard", "title": "..." },
"model": { "provider": "deepseek-official", "model": "...", "reasoningEffort": "max", "maxTokens": 256000 },
"turns": [
{
"index": 1,
"startedAt": 1787625120770,
"user": [ { "time": 1787625120846, "content": [ { "type": "text", "text": "..." } ] } ],
"steps": [
{
"index": 1,
"assistant": {
"time": 1787625125842,
"reasoning": "完整推理全文", "text": "完整回复文本",
"toolCalls": [ { "id": "call_...", "name": "bash", "arguments": "{...完整参数 JSON...}" } ],
"usage": { "inputTokens": ..., "outputTokens": ... }
},
"tools": [
{ "call": { "id": "call_...", "name": "bash", "arguments": "..." },
"result": { "isError": false, "text": "...", "time": ... } }
]
}
],
"endedAt": 1787625168111
}
],
"events": [
/ 除流式碎片外的全部原始事件,逐字、按原顺序保留: session/turn/step 生命周期、request 头与上下文、权限、审批、沙箱、标题、checkpoint ... */ ] }
不丢内容的保证
- events = 原始日志中除流式碎片外的每条事件,字节级一致、按原顺序保留(导出时校验:数量与逐行 identity 都必须一致)。
- 碎片内容已由权威折叠完整承载(每个碎片 step 都校验存在对应 assistant/message;缺折叠的 step 会把碎片原样保留进 events)。
- 导出附带 report:总事件数、折叠的碎片数/step 数、逐字保留的事件数、碎片↔折叠比对结果。
开发与验证
插件开发踩坑记录(client bundle id 必须用裸包名、file: 是复制安装等)见 docs/DEVELOPMENT.md。
核心逻辑离线验证(无需 dsh 运行时;输入为解压后的 JSONL)
node test/verify.mjs
包结构:
lib/fold.js 纯数据核心:JSONL → 聊天树 + 校验报告(零依赖) lib/index.js Host 半:/chat 命令、flush、readRaw、原子写盘 lib/client.js Browser 半:会话头部 "Chat log" 下载按钮 cordis.patch.yml profile patch 层(insert 插件行) scripts/patch-apiproxy.mjs 幂等补丁:注册 /api/session.chat 下载端点 docs/DEVELOPMENT.md 踩坑记录与机制说明 test/verify.mjs CLI 验证套件
已知限制
- 需要 sessionPersistence 提供 raw artifact 的后端(JSONL 后端支持;SQLite 后端与官方 ZIP 导出同样不支持)。
- 输出为 pretty-printed JSON,约为原始日志 1.2 倍(含权威折叠与全量 events);截断工具结果可降到约 30%。
- 浏览器直下功能依赖对 dsh-host-apiproxy 的幂等补丁(见安装节;/chat 命令写盘不依赖补丁)。
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
YupegLV/dsh-chat-log
把流式碎片日志折叠成可读聊天记录并一键下载
相关插件 · 浏览器
智能体插件框架deepseek-ai/deepseek-harness
DeepSeek Harnessdsh是由 DeepSeek AI 开发的开源 agent harness智能体框架。
★ 270,422已汉化DSH
71.9
多设备 Agent 看板YaoApp/yao
✨ 所有 Agent 和工作区集中管理,覆盖你的每一台设备。任务看板追踪进度,桌面端、移动端、浏览器、API…
★ 8,147已汉化DSH
71.2
可扩展侧边栏工作台omdsh-dev/DSH-better-sidebar
DSH 的双工作台:原生右侧栏 + 自绘底部面板,并把 ctx.betterSidebar 服务开放给所有插件
★ 4,761已汉化DSH
71.1
浏览器自动化桥Tencent/BrowserSkill
你的 Agent。你的浏览器。连接,就能协作。
★ 9,967已汉化DSH
71
AI 小说创作工作台EthanYoQ/AI-Novel-Writer
AI 小说作家 / AI Novel Writer
★ 1,591已汉化DSH
70.7
智能体浏览器引擎platonai/Browser4
DeepSeek Harness 集成
★ 1,175已汉化DSH
70.4
这是你的仓库?认领条目