DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Session Handoff — DSH Plugin for DeepSeek Harness
← Plugins
S

@snow-the/dsh-session-handoff

Session Handoff

Session handoff & context management for DeepSeek Harness: structured handoff documents (export/resume/status), active context pruning (acp_* tools + pressure banner), session management (trash/restore/purge), model routes for one model across vendors/plans, and optional OpenViking memory / archify

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:snow-The/dsh-session-handoff#46ae6b58bcf2144267f00dc61d7d73f3d9db6872
READMECompatibilityVersions

Description

Session handoff & context management for DeepSeek Harness: structured handoff documents (export/resume/status), active context pruning (acp_* tools + pressure banner), session management (trash/restore/purge), model routes for one model across vendors/plans, and optional OpenViking memory / archify diagram integration. Core is zero-dependency (official compaction API + node builtins); memory/diagram enhance when detected.

Compatibility and provenance

Session Handoff is published as @snow-the/dsh-session-handoff and currently resolves to version 0.18.2. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
9/20/2026

Versions

0.18.2stable
9/20/2026
0.18.0stable
9/19/2026
0.17.22stable
8/26/2026
Show 2 more versionsCollapse versions
0.17.20stable
8/24/2026
0.17.19stable
8/22/2026

Related plugins

Loading related plugins…

Latest
0.18.2
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 3
Weekly downloads
0
Last push
9/20/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in

Related plugins

More verified plugins in memory-context.

Memory Plugin@openviking/dsh-memory-pluginOpenViking memory and context bundle for DeepSeek HarnessContextdsh-contextA DeepSeek Harness plugin for context insight and management, with context dashboard and context command, for understanding how the context is made of, and how it evolves.Weknora@wxg-prc-cpg/dsh-weknoraWeKnora knowledge retrieval tools for DeepSeek Harness (dsh): semantic search, document reading and RAG/agent answers over your own knowledge bases.Memsearch Dsh@zilliz/memsearch-dshMemSearch plugin for DeepSeek Harness: shared markdown memory across agents, with capture, pre-step context injection, memory-recall skill, and a skill-candidate review panel.

README

@snow-the/dsh-session-handoff

Session handoff & context management for DeepSeek Harness — built because the existing session-management and context-pruning plugins were written before the latest DSH update and don't cover the full workflow.

Why

Long sessions (like a 170k-line r32 session) hit context limits, trigger repeated automatic compaction, and stall. Switching to a fresh session loses all progress. This plugin fixes both halves — and more:

  1. Handoff — export a structured, portable handoff document so a fresh session can continue seamlessly.
  2. Active context pruning — compress spent history before the context window fills (official compaction API, model-authored summaries).
  3. Session management — trash / restore / purge / list sessions.
  4. Model routes — every registered route (official API, Ark, custom, vision-toolkit wrappers) is orderable and switchable; each route can pin its own model and reasoning effort (provider:model:effort), or follow the chat's current selection. No model id is hard-coded.
  5. ACP thresholds — tune compaction limits without touching YAML.

Tools

Module A — Handoff (zero dependencies)

ToolPurpose
handoff_statusCompact session overview: turns, messages, tool usage, checkpoints, context pressure
handoff_exportParse the session into a structured Markdown handoff under <workspace>/.dsh-handoff/ + a ready-to-run handoff package (OpenViking archive command, archify diagram command — only when those enhancers are present)
handoff_resumeLoad the latest handoff document in a fresh session and continue

Also /handoff command.

Module B — Active Context Pruning (official compaction API)

ToolPurpose
acp_statusUsage, surface seq map, limits (soft/hard pressure level)
acp_compressReplace an inclusive surface seq range with your summary (ctx.compaction.compactRegion)
acp_decompressRead the original text hidden by a checkpoint (read-only)
acp_searchSearch visible + hidden compacted history
acp_configShow the active thresholds (soft/hard limits, preserveRecent, minTokens, nudge)
acp_set_limitPersist new thresholds into settings.yaml (new sessions take them)

Plus a system-prompt pressure banner that nudges the model to compress past the soft/hard limit (60% / 70% defaults), and a compaction.summarize interception so model-authored summaries are used.

Module C — Session management

ToolPurpose
session_listList sessions (optionally including the trash)
session_trashArchive + move a session's artifact into the plugin trash (recoverable; refuses running sessions)
session_restoreMove it back and unarchive
session_purgePermanently delete artifact + trash entry

Trash entries persist as JSON under $DSH_HOME/dsh-session-handoff-trash/ (keeps the newest 10; oldest overflow auto-purged).

Module D — Model routes (same model, many vendors)

ToolPurpose
model_routesList every route serving deepseek-v4-flash: provider, baseURL, key env + family (ark-/sk-), default marker (incl. vision-toolkit- variants), vision wrapper variant
model_switchPoint agent-default-model at a route (persisted to settings.yaml; new sessions use it). Optional vision:true selects the vision wrapper variant; warns when the key family is missing

Built for users sharing one model id across official DeepSeek and Volcano Ark plans: model_routes shows what is configured, model_switch deepseek uses the Ark lane, model_switch deepseek-official --vision uses the official lane with the vision wrapper.

Module E — Web client (GUI)

The plugin ships a hand-written client bundle (client/index.js, no build step) that registers a Settings section "模型路由 / Model Routes" in the web GUI, mirroring the host tools as clickable controls:

  • Model routes panel — every route in the live model directory (the same list the chat dialog offers, incl. any vision-toolkit wrappers), with the current chat-context selection shown (session.requestContext()). No vision model is configured here — the chat dialog's own model list is the source of truth; ordering is yours.
  • Auto failover (priority list) — drag-to-reorder the routes, delete or add entries, save the priority. When the active model is unreachable or out of quota (QUOTA / RATE_LIMIT / SERVER / TIMEOUT / TRANSPORT / EMPTY_RESPONSE / AUTH / credential / adapter errors), the next route is tried automatically and work continues — user interruptions never switch. Backed by GET|POST /dsh-session-handoff/failover and the agent/request-error + agent/request waterfalls.
  • Session handoff — export the current session into <workspace>/.dsh-handoff/handoff-<session>.md with one button (POST /dsh-session-handoff/export).
  • Compaction thresholds — soft/hard limit sliders (17-90%) persisted into settings.yaml's session-handoff: section (GET/POST /dsh-session-handoff/acp). A "固定推荐 65/90 / Fixed 65/90" button fills the sane default for the 1M-window model directly (no per-session computation in the GUI; the acp_recommend tool still offers the cost-model estimate for agent use).

Host routes share the exact same logic as the tools (enumerateRoutes, switchProvider, readAcpSection/writeAcpConfig, exportHandoffForAgent), so the GUI and the agent tools can never drift.

Soft enhancers (detected, never required)

  • OpenViking: when viking_* tools are present, handoff_export embeds a ready viking_remember command in the handoff package.
  • archify: when @tt-a1i/archify-dsh is installed, the handoff package includes an archify render command for a progress diagram.

Core works with neither installed.

Install

dsh plugin --profile web add github:snow-The/dsh-session-handoff
# restart dsh web

Usage

In the old session:

handoff_export   → writes .dsh-handoff/handoff-<session>.md (+ handoff package)

In the new session:

handoff_resume   → loads the handoff; continue the work

Before heavy work in long sessions:

acp_status       → check pressure
acp_compress {start} {end} {summary}   → prune spent ranges
acp_set_limit    → tune soft/hard limits proactively

Switching vendors for the shared model:

model_routes                       → see the routes
model_switch deepseek              → use the Ark lane
model_switch deepseek-official     → use the official lane
model_switch deepseek --vision     → ...with the vision wrapper

Development

# unit tests (run from a profile dir so @deepseek-ai/* resolves)
node --test test/

License

MIT