🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

会话历史查看器 xiao0xueAI/dsh-history-viewer

DeepSeek Harness
xiao0xueAI22 天前有提交已提供中文文档扫描:未发现敏感能力

检索、阅读并导出本地 DSH 会话记录

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/12 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add xiao0xueAI/dsh-history-viewer
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · chat
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 22 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 检索会话记录
  • Markdown渲染阅读
  • 一键导出对话

DSH 会话历史查看器:在项目内检索、用 Markdown 渲染阅读、一键导出对话 · 浏览、搜索并导出你的 DSH 会话历史(离线,零依赖)

README

由 DeepSeek 最新模型翻译生成
dsh-history-viewer · DSH 历史查看器 浏览、检索、导出你的 DSH 会话历史。 纯本地读取会话日志,不依赖任何第三方插件,也不上传任何数据。 一句话安装(然后重启一次 dsh web、刷新页面,左栏底部就会出现 🕘): dsh plugin --profile web add dsh-history-viewer 本机 npm 源若是只读镜像(如 npmmirror)且装不到最新版,临时用官方源: npm_config_registry=https://registry.npmjs.org dsh plugin --profile web add dsh-history-viewer 为什么需要它:DSH 官方的历史类插件(如 dsh-history)已经不适配 0.2.x(peer 范围把新版本排除在外,启动时会被拒绝加载)。本插件直接读 ~/.dsh/sessions//session.v.jsonl.zstd,把历史变成可检索、可阅读、可导出的资源,插件生态怎么变都不影响它。
展开完整文档(README 剩余 1 节)
dsh-history-viewer · DSH 历史查看器

浏览、检索、导出你的 DSH 会话历史。 纯本地读取会话日志,不依赖任何第三方插件,也不上传任何数据。

一句话安装(然后重启一次 dsh web、刷新页面,左栏底部就会出现 🕘):

dsh plugin --profile web add dsh-history-viewer

本机 npm 源若是只读镜像(如 npmmirror)且装不到最新版,临时用官方源:
npm_config_registry=https://registry.npmjs.org dsh plugin --profile web add dsh-history-viewer

为什么需要它:DSH 官方的历史类插件(如 dsh-history)已经不适配 0.2.x(peer 范围把新版本排除在外,启动时会被拒绝加载)。本插件直接读 ~/.dsh/sessions//session.v.jsonl.zstd,把历史变成可检索、可阅读、可导出的资源,插件生态怎么变都不影响它。

功能

- 侧边栏入口:侧栏底部出现 🕘 按钮,点开在应用内浮层查看(也可"在新标签页打开")
- 按项目(工作区)过滤:项目名取自 DSH 自己的 storages/workspace.json,改过名/搬过目录也能正确归类
- 📌 固定会话:把常看的会话固定住,只看这些(按项目分别记录)
- 范围切换:只看对话 / 含工具 / 全部(思考过程与上下文注入)
- 项目内全文检索:搜索结果按会话分组、带上下文、关键词高亮,点一条直接跳到原文位置并闪烁
- Markdown 渲染:正文与搜索卡片都按 DSH 界面那样渲染(标题/表格/代码块/粗体),不显示源码符号
- 导出:把当前范围的对话一键导出为 Markdown
- 本地缓存:索引缓存在 ~/.dsh/dsh-history-viewer/,过期自动后台重建

安装

在任意 profile 里:

dsh plugin --profile web add dsh-history-viewer

从本地目录安装(开发用):

dsh plugin --profile web add link:/path/to/dsh-history-viewer

装完重启一次 dsh web(Host 半体会热加载,但浏览器端的模块清单在启动时组装)。刷新页面后,侧栏底部就有 🕘 按钮。

怎么用(上手 5 分钟)

入口:刷新页面后,左侧栏最底部有一个 🕘 按钮 → 点开在应用内浮层里显示完整界面;浮层右上角还有「在新标签页打开」(适合长时间翻历史,或让界面占满屏幕)。

界面地图:

┌ 左栏 ──────────────────┐┌ 右栏 ─────────────────────────────┐ │ 搜索框(回车=搜对话) ││ 标题 + 路径 + 原文/渲染 + 导出 │ │ 项目下拉(工作区) ││ ───────────────────────────────── │ │ 范围:只看对话/含工具/全部│ 正文(分页:← 更早 / 更晚 →) │ │ 📌 只看固定的 N 个 ││ 或 搜索结果(按会话分组卡片) │ │ 会话列表(📌 可固定) ││ │ └────────────────────────┘└───────────────────────────────────┘

四个最常用动作:

1. 只看某个会话:鼠标移到左栏会话上点 📌 固定它 → 顶部按钮变成「📌 只看固定的 1 个」;再点这个按钮就在"只看固定的"和"本项目全部"之间切换(固定按项目分别记)。
2. 找一句话:搜索框输入关键词回车 → 右栏按会话分组列出命中(带上文/下文、关键词高亮)→ 点任意一条直接跳到原文那条消息并闪烁定位。右上角可调「每个会话显示 8/20/50/全部」。
3. 导出这段对话:右上角「导出这段对话」→ 下载 Markdown(按当前项目/固定/范围过滤)。
4. 看操作细节:范围切到「含工具」(工具调用与结果)或「全部」(含思考过程与上下文注入)。

看长会话:正文是分页的,顶部有「← 更早 / 更晚 →」与「第 X–Y 条 / 共 N 条」,不会一次吐几 MB。

插件版 vs 独立版:插件版跟着 DSH 走(DSH 起来就能用,无需另开进程);独立的命令行版本不依赖 DSH,双击它的 查看历史.cmd 即可使用,适合分享给不想装插件的人。

数据与隐私

- 只读 <DSH_HOME>/sessions(默认 ~/.dsh/sessions)与 <DSH_HOME>/storages/workspace.json
- 写:仅在自己的缓存目录 ~/.dsh/dsh-history-viewer/(索引与固定配置)
- 路由只服务本机:连接来源必须是回环地址 + Host 精确白名单 + Sec-Fetch-Site/Origin 同源 + 本次运行随机令牌(/api/ 必须带 x-hv-token),不做任何外部网络请求
- 环境变量:DSH_HOME 可指定 DSH 数据目录;DSH_HISTORY_VIEWER_DIR 可指定缓存目录

常见问题

| 现象 | 原因 / 处理 |
| 侧栏底部没有 🕘 | 装完插件后重启一次 dsh web 再刷新页面(浏览器端模块清单在启动时组装) |
| 第一次打开停顿几秒 | 首次访问要在 worker 里建索引(本机 88 个会话约 6 秒,之后不再发生,且不阻塞 DSH) |
| 打开是空的 | 可能固定了某个会话而它不在当前项目里 —— 点顶部「📌 只看固定的」或把项目切到「全部项目」 |
| 搜索结果很长 | 正文分页 + 每会话命中条数可调;点命中会跳到原文位置 |

已知边界

- 索引是快照:新会话由后台 worker 重建(默认 5 分钟冷却);因此刚发出的消息可能要等一次刷新
- 检索结果里超长内容会截断(工具结果 4000 字、单条命中 900 字),截断不会切断 粗体 标记;原始日志始终完整
- 多帧 zstd 靠帧魔数切分(Node 的流式解码只解第一帧);解析失败/空帧会计入索引里的 stats 而不是静默丢弃

开发

index.js Host 半体:ctx.webServer.register 挂 /plugins/dsh-history-viewer(界面 + API) lib/core.js 核心:多帧 zstd 解析、v3/v4 日志抽取、按 id 合并副本、项目归属、检索、转录导出 client.js Client 半体:sidebar.footer.action 入口 + shell.overlay 浮层(iframe) ui.html 界面本体(零依赖前端:Markdown 渲染 + 高亮 + 分页展开) locale/.json 插件卡片文案(中文/英文) cordis.patch.yml bundle 行声明

- 服务端:ctx.webServer.register({ kind: 'prefix', path, handler })(inject: ['webServer'])
- 客户端:window.__ModuleLoader__.load({ id: '<包名>', factory }) + ctx.slots.inject/register
- 不 require 任何 @deepseek-ai/dsh-client-(版本漂移会让 slot 条目崩溃),React 从 module table 取

License

MIT
预览分享卡片长什么样 ↓xiao0xueAI/dsh-history-viewer
分享 · DeepSeek Harness Hub
xiao0xueAI/dsh-history-viewer

检索、阅读并导出本地 DSH 会话记录

这是你的仓库?认领条目

回到顶部