Jason-skd/dsh-session-fork
Makes the branch the building block of AI conversation management — parallel workflows, continuous and mergeable conversation memory
项目介绍Project Overview
dsh-session-fork 是 DeepSeek Harness 插件,将分支作为会话管理的基本单元。它将原生 fork 操作接管为受管分支,支持分支间 squash 操作把唯一轮次与结论回传,并提供 VS Code 风格的分支图谱可视化。当长会话在"继续聊会污染上下文"与"新建会话会丢失记忆"之间两难时,可在任意节点 fork 出独立记忆的工作分支。需要配合基于 Web 的 dsh profile 安装使用。
dsh-session-fork is a DeepSeek Harness plugin that treats branches as the building block of conversation management. It upgrades the native fork action into managed branches, supports inter-branch squash to move unique turns and conclusions back to a target branch, and renders a VS Code-style branch graph. Use it when a long chat forces a choice between polluted context and lost memory: fork a task at any turn to keep a focused, isolated working memory. Requires a web-app-based dsh profile; cannot run standalone.
请帮我了解并安装插件:【dsh-session-fork】【https://github.com/Jason-skd/dsh-session-fork】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile web add dsh-session-fork
把 Jason-skd/dsh-session-fork 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-session-fork
English | 简体中文
Agent apps manage conversations as sessions: chats are silos, and memory doesn't carry over. dsh-session-fork makes the branch the building block of AI conversation management — parallel workflows, continuous and mergeable conversation memory, the foundation for AI team collaboration and AI secretaries. The long-term direction is sub-agent collaboration and branch-scoped long-term memory.
This is a plugin for DeepSeek Harness (dsh); it cannot run standalone.

Why branches
Against session-only management: once a conversation grows long, you're left with two bad choices —
- Start a new session: the project context and working memory are lost;
- Keep chatting: the context gets polluted.
Against plain compaction: compact has no task boundary, so the model tends to preserve what is important yet irrelevant to the task at hand; and as a conversation grows, repeated compaction still ends in pollution and loss.
The elegance of branches:
- fork lets tasks proceed in parallel (pair it with git worktree);
- each branch holds its own memory, and inter-branch operations move conclusions between them: the working branch keeps a focused context, while the main branch stays free of pollution yet still commands the full picture.
What you get
- Upgraded native fork — the official dsh fork action is taken over, so every fork becomes a managed branch;
- Inter-branch operations — squash a branch's unique turns and conclusions back into the main branch or any other branch;
- Branch visualization — a vendored VS Code Source Control Graph, the authentic VS Code look.
Quick start
Install (requires a web-app-based dsh profile):
dsh plugin --profile web add dsh-session-fork
Then, in any session:
/branch adopt main # name the current session as branch 'main'
/branch review # fork a 'review' branch at the last completed turn
/squash into main # (on 'review') compress the new turns back into main
Or switch to the branch tab and do the same through the graphical interface.
In the branch tab: hover a row to see the full prompt; right-click to fork from here or squash into a branch. The official fork button is wired to the same pipeline, so every fork lands in the graph.
Join us
What we want to build next:
- Sub agents are a natural fit for the branch model. Introduce rebase, merge, and friends as primitives; let AI drive branch operations and dispatch sub agents onto branches that communicate through inter-branch operations — replacing the traditional mailbox pattern.
- Branch-scoped project memory. Existing long-term memory models are project-grained, which is a disaster for the branch model: memory leaks across branches and pollutes context. Branch-grained memory management is the road to a more robust model.
We take an open stance on AI collaboration: feel free to use AI to contribute code, write commit messages, and draft PRs. But we expect you to own your code — review it yourself, and treat AI as your tool in communication rather than letting it talk to us on your behalf.
nexu-io/open-design
ruvnet/ruflo
amruthpillai/reactive-resume
esengine/DeepSeek-Reasonix
volcengine/OpenViking
Molunerfinn/PicGo
titanwings/colleague-skill
nocobase/nocobase