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.

或使用命令行安装(适合开发者)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.

branch tab

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:

  1. 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.
  2. 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.

License

MIT

上一个 Prev deepseek-harness-cloud 下一个 Next dsh-session-kit