MountBatten718/dsh-session-handoff ↗★ 1
dsh-session-handoff
Hand your long DSH session over to a fresh one: /handoff summarizes the recent conversation with an LLM, creates a clean new session in the same workspace, injects the summary as its first message, and auto-opens it. The origin session is unchanged. 适合会话过长、需要无缝继承上下文并开启新对话的用户。
同名パッケージの別リポジトリ
インストール
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:MountBatten718/dsh-session-handoffドキュメント
README 全文を読む ↗Usage
Type in any conversation's input box:
/handoff # use the configured turns (default 50 user messages)
/handoff 20 # summarize the last 20 user turns
/handoff all # summarize every user message
What happens: the command card shows "summarizing…" → the LLM produces the handoff document → the new session auto-opens; the origin session stays intact and is linked back.
⚠️ Privacy: the recent conversation text (user + assistant messages in the requested window) is sent to the configured model to produce the summary.
Configuration
Most options live in DSH → Settings → Plugins → session handoff (applied immediately). Full profile patch:
- id: handoff
name: dsh-session-handoff
config:
autoMode: hybrid # replace / hybrid (default) / native
autoPromptLevel: confirm # confirm (default) / notify / auto
sessionVolumeBytes: 8388608 # session size threshold (default 8 MB)
compactionCountTrigger: null # switch after N compactions; null = disabled
confirmTimeoutMs: 120000 # confirm popup timeout (own hard fallback)
provider: '' # fixed provider for the new session
model: '' # fixed model (pair with provider)
childReasoningEffort: '' # reasoning effort of the new session
childPermissionPreset: '' # read-only / workspace-write / danger-full-access
childPlanFirst: true # new session presents a plan first (default on)
subagentDrainTimeoutMin: 10 # minutes to wait for direct subagents to wrap up (1-60)
askRearmPercent: 50 # re-ask after the trigger grows by another N points (10-500)
decisionLogEnabled: true
handoffDocPersist: true # persist handoff documents to disk (default on)
handoffDocDir: '' # absolute dir; empty = DSH data dir
turns: 50 # user-message rounds to extract (1-200)
maxInputChars: 200000 # input byte cap (oldest dropped first)
maxTokens: 8000 # summary output budget
reasoningEffort: inherit # inherit (default) | off | high | max
# ⚠️ do NOT default to 'off': some models reject it outright
timeoutMs: 120000 # summary call timeout
Without provider/model, the current session's latest logged model route is used.