# dsh-context-dashboard · DSH 会话上下文统计面板

[![npm](https://img.shields.io/npm/v/dsh-context-dashboard)](https://www.npmjs.com/package/dsh-context-dashboard)
[![GitHub](https://img.shields.io/github/stars/uckkk/dsh-context-dashboard)](https://github.com/uckkk/dsh-context-dashboard)
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)

统计 DeepSeek Harness（DSH）本地会话的上下文消耗：每个会话的消息数、轮次、工具调用、字符数与**预估 token**，并生成全量/按项目的上下文报告。
**Context usage dashboard for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)** — per-session token/message statistics and context reports, so you know exactly where your context budget goes.

支持 **zstd 压缩**（`.jsonl.zstd`，DSH 默认存储格式）与**明文**（`.jsonl`）会话日志。纯 Node 实现，零第三方运行时依赖。

## 功能 Features

| 工具 | 说明 |
|---|---|
| `session_stats` | 每个会话：消息数、用户/助手消息、工具调用、轮次、字符数、预估 token；可按 token/消息数/时间排序 |
| `context_report` | 全局报告：总消息、总预估 token、**Top 消耗会话**、按项目（工作目录）分组汇总 |

## 安装 Install

```sh
dsh plugin --profile web add dsh-context-dashboard
# 或任意 profile：dsh plugin --profile <name> add dsh-context-dashboard
```

## 使用 Usage（agent 工具）

- 「哪个会话消耗的上下文最多？」→ `session_stats`（默认按预估 token 降序）
- 「给我一份全局上下文报告」→ `context_report`
- English: "Which session uses the most context?" → `session_stats`

预估 token = 字符数 ÷ 1.5（中文为主场景的经验值），仅供参考。

## 为什么选它 Why

- **上下文预算管理**：agent 会话越长越贵，先看清再决策（清理/导出/压缩）
- **成本可见**：Token 消耗一目了然

## 配套插件 Companion plugins

- [dsh-session-export](https://github.com/uckkk/dsh-session-export) — 会话导出/备份
- [dsh-session-search](https://github.com/uckkk/dsh-session-search) — 跨会话全文搜索

## License

MIT © istone
