bowenliang123/dsh-context ↗★ 115
dsh-context
A DeepSeek Harness plugin for context dashboard and context command, for understanding how the context is made of, and how it evolves.
AI 分析
核心用途是提供一个专属的 Context 标签页,帮助用户可视化分析当前会话上下文的 Token 占比和演进过程。适合需要优化 Prompt 和排查上下文超限问题的用户。
インストール
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:bowenliang123/dsh-contextドキュメント
README 全文を読む ↗
dsh-context
A DeepSeek Harness plugin for context dashboard and context command, for understanding how the context is made of, and how it evolves.
dsh-context is a DeepSeek Harness plugin for context insight.
- The Context tab — a full insight panel for context composition, per-turn context history, context compactions, and the message surface, etc.
- The
/contextcommand — the same headline and recent trend as a centered dialog straight from the composer (the screenshot above).
Install
One command, from any DeepSeek Harness installation:
dsh plugin --profile web add dsh-context
Then start the web UI with dsh web. No build step, no restart.
Use it
Context tab
Open any session and click the Context / 上下文 tab:

⌨️ /context command — In-session Context Insight modal
Type /context (or pick it from the / menu) and press Enter: a centered dialog shows the provider-anchored occupancy headline, the six-category composition bar, and the last-10-turn trend chart — hover or click a bar for its full breakdown, exactly like the tab.

What you'll see
📊 Context stats — the session at a glance
Turns, steps, how much context has been recycled by compactions and prunes, how many injections happened, model switches, and the estimated total tokens sent — next to the provider-reported actuals, so you can see how the estimate holds up.
🧱 Current composition — what's in the window right now
A six-color stacked bar scaled against the model's full context window (the gray track is your remaining headroom): system prompt, tool schemas, your messages, injected context, assistant replies, and tool results — plus the top-5 most expensive tool schemas. When a conversation starts degrading, this is where you find out which part ate the budget.
📈 History — watch the window grow (and get compacted)
One stacked bar per model request, finer than per-message. Toggle between Turn and Step granularity, scroll sideways through the session, hover any bar for a quick tooltip, and click to pin the full breakdown — including provider-reported actual prompt/output tokens next to the estimate. ✂ marks where compaction or pruning happened — watch the bars drop:

Above: a real session that grew to ~563k tokens across 48 turns, then compaction (✂) recycled −535.5k in one step, and the conversation continued from a fresh, small window.
In Step granularity, hovering any bar shows that single step's context info instantly — its turn/step, timestamp, and estimated vs. provider-reported token counts:

⚡ Context events — when and why the window changed
Every compaction, tool-output prune, skill or plugin context injection, and model switch — each with its token delta, turn/step attribution, and timestamp:

💬 Messages — the currently model-visible surface
The exact message list the model sees right now, newest first, with a per-message token cost.
Like it?
If dsh-context helped you understand what your agent is carrying around, a ⭐ on GitHub is much appreciated — and issues/PRs are welcome!