DeepSeek Harness Plugin

Jason-skd/dsh-session-fork

Stars ★ 6 Category Sessions & Messages Added 2026-08-23

Git-style conversation branching that mirrors how real programmers collaborate: a secretary root branch dispatches tasks to child branches with their own contexts, merging back only compressed summaries via squash or rebase; ships /branch commands, a branch tab, branch-to-branch messaging, and a governance baseline pairing each session branch with a git worktree.

Install

# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)

dsh plugin --profile web add github:Jason-skd/dsh-session-fork

Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).

README

English | 简体中文

Sub agents and parallel development never quite deliver in today's agent apps. This project manages dsh's native, discrete sessions the way git manages branches: fork gives conversations inheritance, while squash and rebase give them merging — a major upgrade to the parallel-development and prompt-management experience on dsh.

This is a plugin for DeepSeek Harness; it cannot run standalone.

branch_tab

Pain points it solves

  • Efficient solo parallel development: the branch model mirrors how real programmers collaborate. While developing in parallel, every agent holds its own snapshot of the repo — you trade a strictly linear development history for resolving conflicts at merge time.
  • Clean context management: the main branch (e.g. main) stays your secretary and dispatcher. Research and coding tasks are delegated to child branches; when a task is done, only its compressed context is reported back to the main branch.
  • Hardened session management: the branch model upgrades dsh's native fork and cross-session messaging experience.

Quick start

Install (requires a web-app-based dsh profile):

dsh plugin --profile web add dsh-session-fork

After that, just let your agent use the plugin freely — every command also ships as an agent-callable tool!

Core features

  • branch operations give every session a name, an ancestry, and an index — manageable through commands.
  • fork hardens the native experience and provides the ancestry primitive.
  • squash and rebase offer two forms of cross-branch merging.
  • send_message_by_branch strengthens communication between sessions.
  • The branch tab provides visual management of branches.

Join us

What we want to build next:

  1. 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.
  2. Ongoing maintenance. Open Issues — there are plenty of long-term improvements and bugs waiting.

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

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →

Community comments

Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.