dsh-session-insights
See how you have been using AI: `/session-insights` reviews your DSH sessions over time, shows what worked, which problems kept coming back, and what results were actually produced, then creates a retrospective report on your machine.
Install
dsh plugin --profile web add dsh-session-insights
Sandbox test results
| Stage | Result |
|---|---|
| 1 install | ✓ |
| 2 list | ✓ |
| 3 mount | ✓ |
| 4 boot | — |
Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).
README
dsh-session-insights
[English](README.md) | [Русский](README.ru-RU.md) | 介绍文章 | [更新日志](CHANGELOG.zh-CN.md)



运行 /session-insights,把 DeepSeek Harness 的会话历史整理成一份本地工作流复盘。Bundle 通过 DSH 的 sessionQuery 服务读取会话,写出可直接打开的 HTML Dashboard 和配套 JSON。
它主要回答:
- 我最近主要让 DSH 做了哪些类型的工作?
- 哪些项目和工作流投入最多?
- 工具失败、重复尝试和未完成任务集中在哪里?
- 哪些做法已经有效,下一步值得尝试什么?
这是行为复盘,不是遥测。它不是实时监控器,不计算账单,也不会替你判断工作质量。
报告里有什么
Dashboard 把同一批证据组织成几个容易浏览的视角:
视角 · 可以看懂什么
总览与时段对比 · 会话数、任务族、token 用量,以及前后两个时段的变化
工作与流程拆解 · 项目、角色、代表性工作流和完成证据
使用方式 · 每日活跃时间趋势、会话类型、常用工具、Skill 与插件/MCP 使用、文件类型和本地活跃时段
亮点与摩擦 · 有证据支持的有效做法,以及失败、重试等值得调查的信号
建议 · 与测量证据绑定的 DSH 工作方式建议,并附可复制提示词
<p align="center"><img src="https://raw.githubusercontent.com/GreenLv/dsh-session-insights/main/assets/screenshots/dashboard-overview-zh.png" alt="确定性复盘 Dashboard 总览(合成数据)" width="640"></p>
HTML 已内嵌样式和数据,不需要启动服务器;配套 JSON 便于继续处理或审计。
安装 Bundle
0.7.0 Bundle 随版本发布三种 locale——zh-CN、en 与俄语(--locale ru),并提供完整俄语版 [README.ru-RU.md](README.ru-RU.md)。
0.7.0 Bundle 需要 DSH >=0.2.1-rc.2 和 Node.js ^22.19.0 || >=24.0.0,无需 Python。可选的文件日志 CLI 仍需要 Python 3.11+。0.6.1 创建的 run 保留其记录范围、仍可恢复;旧确定性缓存被自动忽略。
DSH 兼容性: 软件包要求 >=0.2.1-rc.2——0.2.1-rc.5 是本版本主验收宿主,0.2.1-rc.2 保留兼容覆盖。DSH 0.2.0-rc.2 与 0.2.1-rc.1 低于支持下限;范围内未来版本按声明准入但尚未实测。契约与服务测试覆盖合成 V4 输入;原生、模型与 UI 结果由各精确发布制品的附带验收回执分别记录。范围准入不代表未来宿主已经过实测。详见 [DSH 兼容性](#dsh-兼容性)。
已知上游安全缺口: 直到 rc.5 的六个 DSH 官方包仍固定使用有漏洞的 zod@4.4.3(GHSA-mrhx-c7xc-m3w5 / CVE-2023-54404)。0.6.1 的例外已随其发布集合失效,且未续期。维护者于 2026-11-03 针对已审查的 0.7.0 集合作出新的限定风险接受决定。漏洞仍未修复,DSH 具体可达路径和日用触发概率尚未确定。接受风险不等于具备发布条件;制品与发布检查状态见[候选验收记录](docs/acceptance/v0.7.0-candidate.md)。安装前请阅读[风险与决定状态](SECURITY.md#known-upstream-dependency-gap)。
下方 registry 命令需要 0.7.0 已发布。验收候选时,请安装已审查的 tgz 或源码版本;使用 registry 命令前,请先在 GitHub Releases 核实版本:
dsh plugin --profile web add dsh-session-insights@0.7.0 dsh web
从源码安装时,请把 REVIEWED_REF 替换为发布后的 v0.7.0,或候选制品清单中记录的完整提交号。安装前先选择该版本;仅克隆仓库会检出默认分支,它可能还是其他版本:
git clone https://github.com/GreenLv/dsh-session-insights.git cd dsh-session-insights git checkout --detach REVIEWED_REF dsh plugin --profile web add . dsh web
默认语义分析会通过当前 DSH agent,将有界会话证据交给其配置的模型提供方处理,适用该提供方的数据处理规则和费用。会话节选可能含敏感信息,脱敏不能保证不泄露。添加 --deterministic 可跳过模型分析。批次串行处理,耗时随选中的会话和模型响应变化。
随后在 DSH 输入框中运行:
/session-insights --days 30 --locale zh-CN
该命令会准备有界语义批次,让当前 DSH agent 串行分析,并把最终 HTML/JSON 写入 $DSH_HOME/insights/runs/<run-id>。添加 --deterministic 可跳过模型语义阶段。主命令刻意不占用 /insights,因此可以与已发布的 dsh-insights 共存。
npm 包不含 install/build 生命周期脚本。registry 命令安装已发布 Bundle;dsh plugin ... add . 安装当前本地源码。
官方 Desktop
Desktop 共用 Node 分析实现,其插件 profile 由官方 Electron 应用管理;npm CLI 会拒绝 --profile desktop。请通过应用内的插件管理或应用自带的命令 carrier 安装或卸载 Bundle。macOS carrier 位于 /Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh,安装调用为 plugin --profile desktop add <package>。各平台的实测结果请查看该精确发布制品的附带验收回执。Windows 如因文件占用出现 EPERM,应在重装前关闭主程序及其 child host。命令返回 HTML 路径后,可用本地浏览器查看;传入 --no-open 时只返回路径,不附查看提示。
获取渠道
- 从 npm 安装已发布 Bundle。
- 从 GitHub Releases 下载版本化发布产物。
- 在 dsh.pub 查看公开目录条目。
- 其他已核验的社区条目统一记录在[分发状态表](docs/distribution.md)。
权限与依赖
Bundle 在 Node.js worker 中分析 sessionQuery 快照,不再启动 Python 或 Shell。worker 使用空环境,也不继承 Node 启动参数;DSH_SESSION_INSIGHTS_PYTHON、PYTHONPATH 和 Python 启动文件不再影响原生分析。可选 Python CLI 仍作为独立流程保留。
能力 · 使用范围
会话与文件 · 在内存中读取选中的快照,将报告、有界证据和通过校验的模型输出写入 $DSH_HOME/insights/runs 下带管理标记的目录。不保存原始快照,不创建共享语义缓存。
路径保护 · 仅接受带标记的直接运行子目录;逐次检查产物路径,拒绝链接和特殊文件。批次 ID 必须属于本次运行清单。新建目录和文件使用仅所有者可访问的 POSIX 权限;Windows 访问权限由父目录 ACL 决定。
环境与凭据 · 宿主仅用 DSH_HOME 或操作系统用户目录定位存储。原生分析不探测解释器、不转发环境变量、不需要独立 API Key,也不调用凭据库。会话内容仍可能含有秘密,脱敏不能保证适合公开。
网络与模型 · 确定性分析可离线运行。默认语义流程经当前 DSH agent 把清洗并限制范围的证据交给配置的模型提供方,遵循该提供方的数据处理规则和计费方式。添加 --deterministic 可跳过此阶段。
Bundle 需要 Node.js ^22.19.0 || >=24.0.0,以及 DSH 的 commands、tools 和 sessionQuery 服务,并使用声明的 >=0.2.1-rc.2 DSH peer 依赖(含官方消息 helper)。服务缺失、worker 失败、不安全路径或无效语义输出都会使相关操作停止。模型输出先在内存校验再写入;无效的替换请求不会覆盖已有合法结果。显式回退会生成标记为降级的确定性报告。
每次最多分析 2,000 个选中快照,序列化输入上限为 64 MiB;超出时请缩短 --days 或按 --project 筛选。每个插件实例最多同时进行两个分析,更多请求进入可取消的排队队列,slash command 与 tool 并发调用不会无界地倍增 Worker;单个 Worker 的 maxOldGenerationSizeMb 只限制该 Worker 的 V8 old space,不是宿主 RSS 上限。新运行记录完整选择范围(归一化 project、时间窗长度、隐私对、depth、locale);恢复必须绑定显式 run 且范围完全一致,因此恢复不会选中其他项目或更宽的隐私范围。缺少范围记录、或格式/分析语义身份不符的 manifest 会被拒绝;仅宿主版本号增长不会使语义相同的运行失效。新运行保留自身已验证输出供恢复使用,不跨运行复用语义缓存。
保留与清理
报告和证据会保留到显式删除。session_insights_cleanup 以运行目录 workdir 调用时是只读预览(文件数与字节数)。删除需要宿主的人工审批:携带 confirm: true 时工具会就这一个 run 向部署的审批服务发起一次请求,只有用户在提示中选择允许(allowed-once)才会真正删除——模型自行填写的参数永远不能授权删除,没有审批服务的宿主直接失败关闭。直接键入 DSH 命令 /session-insights --cleanup <run> 为预览、/session-insights --cleanup <run> --confirm 恰好删除一个指定 run——该命令不运行分析、不排队模型工作,是纯人工入口。清理会删除整个带标记的运行目录,包括报告,且不可撤销。未标记的旧目录和带链接的条目会被拒绝;其他运行、原始日志和可选 CLI 的共享缓存会保留。旧 CLI 缓存可用 dsh-session-insights cache 子命令预览,并仅在显式 --delete 时删除确认归属的缓存根。
可选 CLI 仍需要 Python 3.11+;读取压缩日志需要 zstandard>=0.23,<1,jsonschema>=4.23,<5 与 tzdata>=2024.1 仅供开发测试使用。其 bootstrap 安装器会调用 pip,并管理独立的 skill/runtime 目录。具体边界及商城策略限制见[安全策略](SECURITY.md)。
三档隐私模式
确定性报告完全离线运行。原生插件在内存中分析 sessionQuery 返回的完整快照,不
…(truncated)
Rendered from the README published on npm. Formatted only, not edited.
Versions
Published on npm::11,最后更新 2026-11-03