DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Side Branch — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
S

dsh-side-branch

Side Branch

DSH 侧枝会话:从主会话派生一条只读分支,每轮追问都用主会话最新的已结算内容重建上下文以继续命中前缀缓存,答案不进入主会话的模型上下文。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:wucl12/dsh-side-branch#c6c700fbc6a0b4ed56b962af67606f96d35fa18a
README兼容性版本

兼容性与来源证明

Side Branch 以 dsh-side-branch 发布,当前版本为 0.2.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/9/26

版本

0.2.0stable
2026/9/26

相关插件

正在加载相关插件…

最新版
0.2.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/9/26
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 memory-context 分类下经过校验的插件。

Memory Plugin@openviking/dsh-memory-plugin适用于 DeepSeek Harness 的 OpenViking 记忆与上下文套件Contextdsh-context用于上下文洞察和管理的 DeepSeek Harness 插件,提供上下文仪表板和上下文命令,帮助了解上下文的构成及其演变过程。Weknora@wxg-prc-cpg/dsh-weknora适用于 DeepSeek Harness (dsh) 的 WeKnora 知识检索工具:通过自有知识库进行语义搜索、文档阅读以及 RAG/代理回答。Mnemondsh-mnemon适用于 DeepSeek Harness 的可组合、基于视图的记忆。支持可插拔的数据源和策略,并开箱即用地提供分层记忆。

README

DSH Side Ask (Side Branch)

English | 简体中文

Select text in the main session, and a read-only branch session will pop up in the right sidebar. It inherits the existing context of the main session, streams its answers token-by-token, and its responses never pollute the model context of the main session.

Core Scenario: Asking follow-up questions, looking up terms, or exploring ideas based on the current conversation without interrupting the flow of the main session.

  • Package Name (Implementation): dsh-side-branch
  • UI Name (Display): Side Ask
  • Prerequisites: Node.js ≥ 20, and pnpm installed in the local PATH.
  • Verified DSH Version: 0.1.5-rc.2 and 0.1.7-rc.2

The Side Ask entry in the right sidebar guide

Selection Entry

Panel Answering

💡 Why Build This? (Motivation)

Before developing this project (Sep 2026), I surveyed 14 side-chat/bubble plugins in the DSH ecosystem and found that none of them could simultaneously meet all the following hard requirements:

  1. True Context Inheritance (not just a truncated summary).
  2. Support for Multi-turn Follow-ups within the same branch (not a one-off bubble).
  3. Token-by-Token Streaming (including reasoning processes).
  4. Lightweight & Stable (using only official public APIs, no bloated dependencies).
  5. Execution-Layer Read-Only, strictly preserving the prefix cache.

The closest alternatives all had compromises: @michengai/dsh-btw was one-off and lacked streaming; dsh-side-chat-plus didn't inherit history by default; dsh-sidenote was feature-rich but extremely heavy (requiring a 14.7 MB dependency); @lukeknow0/dsh-side-chat had excellent architecture but was unmaintained.

The biggest divergence lies in how "read-only" is implemented: similar plugins universally use toolFilter to forcefully remove tools from the prompt. However, this causes the branch's prompt prefix to diverge from the main session, rendering the parent session's accumulated prefix cache completely invalid. This project strictly chooses to enforce read-only at the execution layer. Thus, the branch's prompt prefix remains byte-identical to the main session, continuing to enjoy an extremely high prefix cache hit rate (empirically 97%–98%).

✨ Core Features

  • True Branch, Zero Pollution: The host strictly prevents writing anything back to the parent session. The Side Ask Q&A will not appear in the main session's model context.
  • Follows the Main Session, Every Turn: Every follow-up rebuilds the branch from the main session's latest settled content — a fresh seed plus a replay of the branch's own earlier questions and answers — so the branch always sees the main session as it is now without losing anything it was asked before. Reusing the main session's model keeps hitting the existing prefix cache, avoiding recalculation.
  • Execution-Layer Read-Only Isolation: Security policies do not rely on prompts. Forced takeover by the underlying ctx.tools.guard whitelists only six query tools without side effects (read, glob, grep, web_search, web_fetch, lsp). Other instructions (like writing files or executing scripts) are directly rejected at the execution layer.
  • Ultimate Streaming Experience: Text and reasoning processes (collapsible "Thinking" rows) are streamed token-by-token. Background generation won't interrupt even if the browser tab is closed.
  • Persistent Session State: Panel states are persisted locally per "Session + Panel Grid". Automatically sleeps when idle and silently wakes up on the next query.
  • Inspectable by Design: Expand "Inherited from the main session" to see, turn by turn, what the branch actually received — the question, its reasoning, and the answer. The branch notice injected into the prompt is shown verbatim as well, so nothing about what the model sees is a black box.

📦 Installation & Setup

After installation, you must restart DSH for the client plugin to load properly.

Install via npm (Recommended):

dsh plugin --profile web add dsh-side-branch

Install via GitHub:

dsh plugin --profile web add github:wucl12/dsh-side-branch

🤖 Prompt for AI Agents: If you are an Agent responsible for installing this plugin or reading its source code, please prioritize reading AGENTS.md in this repository for hard constraints, architectural details, and automated installation guides.

🚀 How to Use

  1. Ask via Selection: Select any text in the main session's body, click the pop-up "Quote and ask", and a temporary session will open in the right panel with the original text sent as a quote. The passage is then recorded with that round — a collapsible quote block above your question — and the composer's quote slot clears itself, so the next question starts clean.
  2. Quick Entry: There is a quick entry button ↗ on the right side of the main session's input box. Click it to directly summon the Side Ask panel (can be disabled in settings).
  3. Independent Settings: In the Side Ask panel, you can individually specify the model and reasoning effort for the current branch without following the main session.

🛡️ Security & Limitations

  • Read-Only Boundaries: "Read-only" here means no system side effects (like writing files or executing commands). However, web_fetch / web_search still have network access, and read can read files within the process's permissions. The allowlist is hardcoded and cannot be relaxed via settings.
  • What the Branch Can See: Every follow-up rebuilds it from the main session's latest settled turns, so turns the main session has finished do follow along automatically. A turn the main session has not finished yet is not visible to the branch (the cut is the last turn/end) — but manual selection quoting is not affected by that: the limitation is on "seeing it automatically", not on "being able to quote it".
  • Rebuilds Leave Session Records: Each rebuild creates a new side-session record, and the platform has no API to delete a session ⇒ records would pile up. They are reclaimed by an orphan sweep at plugin startup, which logs item by item what it deleted. While two instances share the same DSH_HOME and run at the same time, that sweep skips entirely — a second DSH never has its live branches deleted.
  • The Context Ceiling Is a Refusal: On reaching it the plugin refuses the turn and tells you to "Clear"; the oldest turns are never silently dropped. contextFull.used is an estimate (a rebuilt session has no usage yet), so it will not match the real usage once a turn settles.
  • Cache Hits Are Measured, Not Guaranteed: The high prefix-cache hit rate is a measurement, not a design promise — the platform may replace the system node in place on the side session's first step, invalidating the cache from token 0 on. And hitting the cache does not mean those tokens stop occupying the context window.
  • PTC Mode Exception: If the main session uses the ptc preset (pure code execution tool surface), since run_code is permanently rejected by this plugin, the branch will fall back to a pure text Q&A mode (no tools can be called).

📚 Further Documentation

  • 简体中文: 中文说明(同一份内容)。
  • docs/TECHNICAL.md: full technical reference — prefix-cache mechanics, the read-only enforcement pipeline, PTC behaviour, and every known limitation.
  • AGENTS.md: Architectural contracts and hard constraints strictly written for AI Agents.
  • SECURITY.md: Security commitment scope and vulnerability reporting channels.
  • docs/CHANGELOG.md: Version release history.

📄 License

MIT