dsh-session-fork
Agent 与会话 活跃维护

dsh-session-fork

Jason-skd/dsh-session-fork

它将Git分支作为AI对话管理的核心单元,支持并行工作流与持续可合并的对话记忆,开发者可像操作代码分支一样管理多轮AI对话,分支合并能力让对话知识沉淀和团队协作更顺畅。

3
Stars 标星
0
Forks 分支
3
Watchers 关注
12
Open Issues
TypeScript
主要语言
MIT
开源协议
524 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:Jason-skd/dsh-session-fork
git clone https://github.com/Jason-skd/dsh-session-fork.git
git clone git@github.com:Jason-skd/dsh-session-fork.git
README.md main

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