deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
bowenliang123/dsh-context
The best DeepSeek Harness plugin for context insight and management, with context dashboard / browser / sidebar and context command, for context statistics, composition, breakdown, evolution details, understanding how the context is made of, and how it evolves. 一站式 DeepSeek Harness 上下文可视化插件,Context 面板及浏览器和侧边栏与 Context 命令,透视上下文组成、演进、压缩、剪枝等事件与动作。
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:bowenliang123/dsh-context
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README

The best DeepSeek Harness plugin for Agent's context insights and management.
dsh-context provides full context lifecycle management features.
/context command — the slash command shows the context model for current context composition and recent context evolution.Fill dsh-context in the Add plugin wizard's search box, and click Install:

dsh cliInstall dsh-context plugin from DeepSeek Harness:
dsh plugin --profile web add dsh-context
Or update the dsh-context plugin:
dsh plugin --profile web update dsh-context@latest
Then start the web UI with dsh web. No build step, no restart.
Four surfaces, one story — what your agent is carrying, how it got there, and what it did with it:
| Where | What you get |
|---|---|
| Context Insights page | Every session at a glance: usage, cost, cache hit, daily activity, and per-session context profiles — filtered by range, day, group, or search, one click to jump in. |
| Context tab | The full dashboard: stats, composition, per-request trend, events, file activity, and the agent network — in every session. |
/context command |
A centered modal with the same composition and context browser, without leaving the chat. |
| Preferences card | Per-user defaults: view placement, trend granularity & mode, File Activity sort, and more. |
Click Context Insights / 上下文洞察 in the sidebar's panel list — the same row level as Plugins and Automation tasks — and the page opens as a full center-column panel:

| Section | The question it answers |
|---|---|
| KPI band | How much am I using — sessions, billed tokens, estimated cost, and cache-hit rate over the picked range (7d / 30d / all). |
| 7-day usage chart | When did I spend what — each of the last 7 days' billed tokens and estimated cost as a bar pair, folded per turn off the sessions' own request times (not the session's last-active day). |
| Activity heatmap | When do I actually work — the last 8 weeks of daily billed tokens; click a day to filter the sessions that were active on it. |
| Settings entry | One row under the heatmap — the same guarded jump to this plugin's preferences as the Context tab's Plugin Info card. |
| Context Composition | Where the context windows went, summed over the range's sessions. |
| Session cards | Each session's profile: composition ring, billed tokens, turns, cost, and its workspace-group / project breadcrumb — sorted by recency, tokens, or context size, searchable, grouped by workspace. A card click opens the session. |
Open any session and click the Context / 上下文 tab:

| Card | The question it answers |
|---|---|
| Context Stats | Turns, steps, human inputs, live tool calls — plus a cost estimated from the models.dev list prices (hover the ? for per-1M rates; DeepSeek peak/off-peak aware). |
| Token Stats | Where the billed tokens went — the same total as the chat stats line under the composer, split by composition (system, tools, messages…) with the provider-exact output closing the ring, and the session's cache-hit rate in the corner. |
| Timing Stats | How active time split across model calls, tool runs, and overhead. |
| Current Context | What's in the window right now. |
| Context Trend | Every request's size — and its story. |
| Context Browser | What any request was actually assembled from. |
| Context Events | When and why the window changed. |
| File Activity | What the agent did to your files. |
| Agent Network | The whole agent family, live. |
The headline occupancy and composition read the same official token-meter projections as the chat composer's context ring (contextPressure / contextBreakdown), so the figures always match what the ring tells you — the card's percentage is that same occupancy, printed with one decimal.



A six-color stacked bar against the model's full window (hatching = free headroom): system prompt, tool schemas, user messages, injected context, assistant replies, tool results — each with its ≈token figure and share. When a conversation starts degrading, this is where you see which part is responsible.

One stacked bar per model request — finer than per-message — so you watch the window grow turn by turn:

Pick Live (next request) or any retained step, and browse what that request was assembled from: seven collapsible categories expand into one row per element with its token price, and every element expands again into its actual content — the system prompt, each tool's JSON schema, message text, reasoning, tool arguments, and tool outputs. Skill content (the available-skills catalog, /skill invocations, and skill-tool loads) has its own Skill Injections category, so a stealthy skill's context footprint can't hide inside the injected-context and tool-result buckets.
tool-* first-party packages, dsh-* capability packages, mcp:<server> proxies, or the exact plugin watched live from tools.register(). Sort by size / name, and filter every category by its own searchable fields:


read_image results and image attachments):
+N items, ±Nk tokens) tell you what a turn added or reclaimed at one glance. Steps older than a compaction are reconstructed from the removed-message archive — and the card says so when a step's makeup is only approximate.
Every injection, compaction, prune, model switch, and plan-mode toggle — labeled with its producer (instruction file, plugin id, skill name), its net token delta (compactions show what they reclaimed), turn/step, and time. The Inject / Compact / Prune / Switch / Mode chips filter the log by kind, each carrying its whole-session event tally.

One row per touched file — read, written, or searched — aggregated up to whichever step you pick on the trend chart:
edit/write contributes its estimated +added / −removed footprint, per file and summed.str_replace_editor, and the nested calls inside PTC run_code programs are all folded into per-tool rows.
The current agent, its parents, and every subagent — one node per agent, colored edges for the lineage, multi-level delegation on one map. Each ring is that session's composition scaled to its window occupancy; hover for tokens, requests, billing, and active time; click to jump into that session's own Context tab. Running agents breathe with a green pulse.
/context commandType /context (or pick it from the / menu) and press Enter:

A centered dialog opens with the Current Composition card and the Context browser — the same composition bar, per-step picker, and vs previous turn diff badges as the tab:

The Context preferences card holds this plugin's per-user settings — default placement, trend granularity (Step/Turn), trend mode (Total/Delta), the trend duration curve (shown by default), tool and File Activity sort, and the sidebar insights entry. Where it lives depends on your dsh release:
In-chart and in-card toggles stay per-view and never overwrite the stored preference.

@deepseek-ai/dsh 0.1.5-rc.1+ (the 0.1.5 line from rc.1, the 0.1.7 line from rc.2, the 0.2.0 line from rc.2), across the V3 (0.1.5-alpha.x+) and V4 (0.1.6/0.1.7/0.2.0+) session-log generations, from one shape-driven code path. The per-release matrix and how it is verified: docs/compatibility.md.If dsh-context helped you understand what your agent is carrying around, a ⭐ on GitHub is much appreciated — and issues/PRs are welcome!
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。