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

跨会话转录查看器 nemo1991/openclaw-session-viewer

DeepSeek Harness
nemo199158 天前有提交已提供中文文档扫描:含敏感能力

本地浏览多款编码代理的会话记录并统计关键指标

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

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

自动兼容检查未通过:缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add nemo1991/openclaw-session-viewer
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · chat
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 58 天前
档位由哪些信号合成

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

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/6) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包openclaw-session-viewer(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/23 11:36:10

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令
查看扫描证据(共 1 处,展示前 1 条)
  • 执行外部命令固定命令
    e2e/global-setup.ts:25
    server = spawn("pnpm", ["--filter", "@ocsv/frontend", "preview", "--port", String(PORT)], {
扫描于 2026/11/4(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 浏览多代理会话记录
  • 识别Zstd对话记录
  • 汇总KPI与子代理跟踪

跨会话查看器,支持 Claude Code、OpenClaw、Kimi Code、DeepSeek Harness。识别 Zstd 的对话记录、汇总 KPI、子代理跟踪。

README

由 DeepSeek 最新模型翻译生成
OpenClaw Session Viewer 跨平台桌面应用,本地浏览 Claude Code / OpenClaw / Kimi Code / DeepSeek Harness 的会话转录 Tauri React Rust License [Platforms]() Release 下载 · 快速开始 · 架构 · 开发 · 故障排除 · 文档索引 支持的源 | Source | 路径 | 格式 | 自 | | Claude Code | ~/.claude/projects//.jsonl | jsonl | v0.1 | | OpenClaw | ~/.openclaw/agents//sessions/.jsonl | jsonl | v0.2 | | Kimi Code | ~/.kimi-code/sessions/wd_/session_/agents/main/wire.jsonl | jsonl | v0.9.0 | | DeepSeek Harness | ~/.dsh/sessions//session-/session.jsonl.zstd | zstd jsonl | v0.9.28 |
展开完整文档(README 剩余 1 节)
OpenClaw Session Viewer

跨平台桌面应用,本地浏览 Claude Code / OpenClaw / Kimi Code / DeepSeek Harness 的会话转录

Tauri
React
Rust
License
[Platforms]()
Release

下载 · 快速开始 · 架构 · 开发 · 故障排除 · 文档索引

支持的源

| Source | 路径 | 格式 | 自 |
| Claude Code | ~/.claude/projects//.jsonl | jsonl | v0.1 |
| OpenClaw | ~/.openclaw/agents//sessions/.jsonl | jsonl | v0.2 |
| Kimi Code | ~/.kimi-code/sessions/wd_/session_/agents/main/wire.jsonl | jsonl | v0.9.0 |
| DeepSeek Harness | ~/.dsh/sessions//session-/session.jsonl.zstd | zstd jsonl | v0.9.28 |

更多格式细节见 docs/OPENCLAW_SESSION_FORMAT.md + src-tauri/docs/adr/0002-dsh-source-m11.md。

DeepSeek Harness 支持 (v0.9.28+)

dsh 是第 4 种支持的 wire 源,有几个独特之处:

.jsonl.zstd 透明解压 — 所有 dsh 文件用 zstd 压缩存储,本应用通过扩展名派发:

// parser/jsonl.rs
pub fn for_each_line_auto(path, cb) {
if path.extension() == "zstd" {
for_each_line_zst(path, cb) // 走 zstd::Decoder 透明解压
} else {
for_each_line(path, cb) // 原 jsonl 路径不变
}
}

Claude / OpenClaw / Kimi 走非 zstd 分支,零侵入。

Envelope 形 wire 事件 — 每条事件 {type, seq, time, data}:

- user/message → role: user, text blocks
- assistant/message → role: assistant, reasoning / text / tool-call 混合 blocks
- tool/result → role: tool, is_error 标记
- session / session/title / permission/preset / sandbox/mode / approval/policy / todo/write → meta block
- 流式 chunk (assistant/chunk / reasoning-chunks / text-chunks / tool-call-chunks) → 返回 None,被终态 assistant/message 覆盖避免双计
- 协议层 noise (step/start / step/end / turn/start / tool/call / llm/retry 等) → 返回 None,避免 9337 行 session 详情页被 541 个 noise meta pill 主导 (v0.9.28 M11.4)

聚合 MetaBanner (v0.9.28 M11.3+) — 顶部折叠面板汇总:

- protocol_version (从 session.version)
- permission_mode / sandbox_mode / approval_policy (从同名 event,M11.5 修复 sandbox 覆盖 permission 的 bug)
- model_alias / thinking_effort / active_tool_count(来自 request/header.config)
- approval_count / compaction_count

项目目录名 — dsh 用 --Users-foo-bar-- 包裹形式,存储时透明保留为 dsh:,显示时 strip brackets delegate decode(跟 Claude 编码算法相同)。

详细架构决策见 ADR 0002。

下载

从 Releases 页面 下载:

- macOS — OpenClaw Session Viewer__aarch64.dmg(Apple Silicon)/ _x64.dmg(Intel)
- Linux — __amd64.AppImage(便携)/ _amd64.deb(Debian/Ubuntu)
- Windows — __x64_en-US.msi(MSI)/ _x64-setup.exe(NSIS)

每个 release 附带 SHA256SUMS.txt,用 shasum -a 256 -c 校验。

快速开始

前置:Node ≥ 20 · pnpm ≥ 9 · Rust ≥ 1.77 · Tauri 系统依赖

git clone https://github.com/nemo1991/openclaw-session-viewer.git
cd openclaw-session-viewer
pnpm install
pnpm tauri dev # 开发模式
pnpm tauri build # 生产构建

详细多平台构建说明见 docs/CROSS_PLATFORM_BUILD.md。

架构

Tauri 2 + Rust 后端(流式 JSONL 解析 + SQLite 聚合)+ React 19 + Zustand 前端(虚拟列表 + TanStack Router)。

关键设计:

- 3 个 workspace 包 — packages/shared(跨进程类型)· packages/frontend(UI)· src-tauri(Rust)
- 扩展名派发 reader — .jsonl vs .jsonl.zstd 走不同解析器,单一 dispatch 入口
- BlockRegistry 模式 — BlockHandler trait + 可注册 registry,新增 block type 无需改 match,未知 block 走 UnknownBlockCard 兜底
- Pass 1 单次 sync(v0.9.27+)— build_*_session_meta 直接 47 列 INSERT,删了旧的两阶段 enrich loop
- Moka mtime 缓存 — 重复打开会话零延迟;sync_one_file 三元组(size+mtime+line_count)缓存跳过未变化文件;stale banner 检测(v0.9.28 M11.5)让 M11 之前 sync 的 dsh/kimi session 自动重跑 aggregator
- 路径白名单 — 所有 FS 操作必须落在已知 source root(~/.claude/ / ~/.openclaw/ / ~/.kimi-code/ / ~/.dsh/)下

完整架构见 docs/ARCHITECTURE.md + docs/PARSER_ARCHITECTURE.md。

开发

项目结构

.
├── packages/
│ ├── shared/ # 跨进程共享 TypeScript 类型 │ └── frontend/ # React + Vite + TS UI ├── src-tauri/ # Rust 后端 (Tauri 2) │ ├── src/parser/ # 流式 JSONL 解析 + 归一化 │ │ ├── claude.rs / openclaw.rs / kimi.rs / dsh.rs / meta_aggregator.rs │ │ └── blocks/ # BlockRegistry + 独立 handler │ ├── src/commands/ # Tauri commands (sessions / transcript / analyze / export / graph / subagents) │ ├── src/db/ # SQLite schema + migrations + sync │ └── docs/adr/ # 架构决策记录 ├── docs/ # 项目文档 ├── fixtures/ # 测试数据 (claude / openclaw / kimi / dsh) └── .github/workflows/ # CI/CD (3 平台并行, docs-only 跳过)

测试

Rust 单元测试
cd src-tauri && cargo test --lib

TypeScript 单元测试
pnpm -r test

类型检查 + Lint
pnpm typecheck
cd src-tauri && cargo clippy --lib -- -D warnings && cargo fmt --check

当前测试覆盖:390 Rust + ~50 shared + 689 frontend = 1129+ tests。

添加新会话源

以 dsh 为参考(canonical example):
1. packages/shared/src/normalize.ts — SessionSource 联合类型加 "dsh"
2. src-tauri/src/parser/ — 新建 dsh.rs 写 normalize_dsh_record(record, idx) -> Option,返回 None 过滤流式 chunk / 协议层 noise
3. src-tauri/src/parser/meta_aggregator.rs — 新增 aggregate_dsh(path),写到 MetaExtras.{error_count, thinking_count, meta_banner, todo_summary, kimi_token_usage}
4. src-tauri/src/commands/sessions.rs — build_dsh_session_meta(ds) 装配 SessionMeta(quick path 50 行 head + full aggregator)
5. src-tauri/src/fs/{paths,walker,source}.rs — 路径发现 + 遍历
6. src-tauri/src/db/{schema,migrations,sync}.rs — source CHECK 加新值 + sync loop 加新分支
7. packages/frontend/src/{state, routes, i18n}/ — filter chip + source badge + i18n label
8. docs/adr/000N-.md — 记录架构决策

详细 M11 拆分参考 src-tauri/docs/adr/0002-dsh-source-m11.md。

快捷键

| 快捷键 | 功能 |
| Cmd/Ctrl+K | 全局跨会话搜索 |
| Cmd/Ctrl+F | 当前会话内搜索 |
| Cmd/Ctrl+E | 导出当前会话 |
| Cmd/Ctrl+, | 设置 |

故障排除

macOS 窗口空白 — 必须从 .app bundle 启动,不能直接跑裸二进制:

open "src-tauri/target/release/bundle/macos/OpenClaw Session Viewer.app"

macOS DMG 提示"已损坏" — 没 Apple 开发者签名被 Gatekeeper 拦截:

sudo xattr -rd com.apple.quarantine /Applications/OpenClaw\ Session\ Viewer.app

dsh session banner 没显示新字段 (sandbox / approval policy) — 旧 DB 行 meta_banner_json 是 NULL,但 sync 缓存 (size+mtime+line_count) 不会变,所以新 aggregator 不会跑。修复见 v0.9.28 M11.5 commit: is_meta_banner_null_by_path 检测 stale 行,自动触发 re-sync。

更多问题见 docs/TROUBLESHOOTING.md。

路线图

5 行 release timeline:

- v0.9.28 — DeepSeek Harness 第 4 种 source (zstd 透明解压) + M11.3 banner 聚合 + M11.4 noise filter + M11.5 sandbox/approval routing 修复
- v0.9.27 — M10 Pass 2→Pass 1 单 pass 切流 (47 列 INSERT)
- v0.9.26 — M9 Pass 1↔Pass 2 parallel-run validation
- v0.9.25 — snake/camel 第二阶段撤兼容
- v0.9.24 — SessionHeader + SessionNotesPanel + useSessionActions 抽离

完整版本历史: CHANGELOG.md

v0.9.29+ backlog:dsh parent_uuid (等 dsh schema 加字段) · dsh subagent walk · kimi_token_usage rename → session_token_usage · dsh streaming-chunk 可视化 · OpenAI ChatCompletion 兼容 LLM 后端 · i18n (en-US / ja-JP)。

文档索引

架构 — ARCHITECTURE · PARSER_ARCHITECTURE · OPENCLAW_SESSION_FORMAT

ADR — 0001 Claude batch normalize · 0002 dsh source M11

工程 — RELEASING · CROSS_PLATFORM_BUILD · SECURITY · E2E_TESTING · TROUBLESHOOTING Graph Explorer 实验(docs/experiments/)— README · G1 graph · G2 OLAP · G3 RAG

变更 — CHANGELOG.md

许可证

MIT

致谢

Tauri · OpenClaw · Claude Code · Kimi Code · DeepSeek Harness · pi-coding-agent

如果这个项目对你有帮助,给个 ⭐ !
预览分享卡片长什么样 ↓nemo1991/openclaw-session-viewer
分享 · DeepSeek Harness Hub
nemo1991/openclaw-session-viewer

本地浏览多款编码代理的会话记录并统计关键指标

这是你的仓库?认领条目

回到顶部