编者按

Jason-skd/dsh-session-fork

Git 式会话分支:把当前会话收编为分支,通过 /branch 命令或分支页签在任意轮次分叉,并把分支 squash 回另一条分支。

这是一个 DeepSeek Harness(DSH)插件。本站汇总其 GitHub README、安装信息、维护状态与公开安全信号。

上游未提供中文 README,当前展示仓库原始内容。

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

REPOSITORY SIGNALS

安全与安装证据

该分数只基于公开仓库元数据与本站登记的安装证据,不等同于代码安全审计。

来源可追溯

来自公开插件目录,并链接到公开 GitHub 仓库。

许可证

仓库声明 MIT 许可证。

维护活跃度

最近 180 天内有代码更新。

安装证据

尚未登记可复验的精确安装元数据,请按仓库说明手动检查。

安装生命周期脚本

已检查的包元数据未声明安装生命周期脚本。