ディレクトリに戻る

dsh-session-tree-extension

キュレーションリスト掲載メンテナンス: 活発

robiteame/dsh-session-tree-extension

dsh-session-tree-extension Append-only, multi-branch conversation trees for DeepSeek-Harness — a PI-Agent-style SessionTree. The agent's history becomes a tree of immutable nodes, forkable at any historical node, with standard LLM message reconstruction, versioned JSON snapshots, and a WebUI tree panel embedded in the existing chat composer (no sta

GitHub で見る
$ dsh plugin add dsh-session-tree-extension

インストール方法

dsh には中央のインストールコマンドはありません。このプラグインのエントリ(README に記載)をプロファイルまたはパッチ設定に追加し、再起動します。

インストールの仕組み

20

スター

1

フォーク

TypeScript

言語

MIT

ライセンス

2026-08-27

作成日

2026-10-24

最終プッシュ

README

dsh-session-tree

npm CI license Harness

Append-only, multi-branch conversation trees for DeepSeek-Harness — fork any historical node, clone a branch into a new session, and browse the whole lineage as one merged WebUI graph. Old history is never edited or deleted.

Three commands:

Command What it does
/tree Open the merged lineage graph: every non-subagent session and node, clickable and bindable
/fork Branch from any historical node — the fork appears in the graph and as an inline menu under its source session
/clone Duplicate the current conversation into an independent new session under the same project

Screenshots

Tree panel (light and dark) with the sidebar's inline fork-branch menu:

Session tree panel, light theme

Session tree panel, dark theme

The inline /fork branch menu beneath its source session:

Inline fork branch menu

Published as four npm packages under the @robiteame scope:

Package Role
@robiteame/dsh-session-tree Carrier Bundle: one install mounts everything below through its composition layer
@robiteame/dsh-pi-agent-session-tree Host domain service: the SessionTree/SessionTreeStore domain model and the sessionTree Remote
@robiteame/dsh-tool-session-tree Command surface: the /tree /fork /clone commands
@robiteame/dsh-client-ui-session-tree WebUI tree panel: a native tab in the Harness 0.2 right Sidebar, with an additive overlay fallback for older stock builds

Install (users)

DeepSeek Harness Desktop

Open Settings → Plugins → Market, search for @robiteame/dsh-session-tree, install it, and restart the desktop app. The desktop plugin manager activates the carrier bundle, so the next boot composes the three rows (pi-agent-session-tree, tool-session-tree, ui-session-tree) that load the Host service, the commands, and the browser panel.

On older desktop builds bundling the 0.2.1-rc.2 CLI, the dsh plugin command only forwards to pnpm and does not activate a newly installed bundle. Use the in-app market there; after the restart, /tree opens the panel.

CLI (0.2.1-rc.3 and newer)

On a CLI that ships the 0.2.1-rc.3 plugin manager, one command installs and activates the bundle:

dsh plugin --profile <profile> add @robiteame/dsh-session-tree

Prebuilt tarballs install the same way and need no build scripts:

dsh plugin --profile <profile> add robiteame-dsh-session-tree-0.7.2.tgz

After installing, restart the profile. Verify the composed layer:

dsh --profile <profile> --dump-config   # should list the three session-tree rows

Requires DeepSeek-Harness ^0.2.1-rc.2 and Cordis ~4.0.5; the target installation provides those peers. The current development and verification baseline is the published 0.2.1-rc.5 release. No install scripts run — the tarballs ship prebuilt lib/ artifacts.

The three commands

/tree — open the tree panel

/tree opens the right-side panel as one merged graph for the current session's lineage: ancestors, forks, and clones appear in a single git-style view, with user messages, assistant replies, tool calls, and model switches shown as connected nodes. Shared copied prefixes are deduplicated, fork points carry session badges, and the current session's path stays highlighted. Click a node to bind it; clicking a node owned by another session opens that session first. Collapse individual subtrees or whole session branches to focus the graph.

/fork — branch from any historical node

/fork picks an earlier user prompt and grows a new branch from there: the conversation continues along the new path while the original one stays intact. The fork is created through the official native fork API, so it appears in the session list with real parent linkage. The plugin adds the new branch to the merged graph and also renders it as an inline collapsible menu directly beneath its source session's row. Both views follow the official reactive session list, so new branches appear without a refresh.

/clone — duplicate into a new session

/clone copies the current conversation — through its root path — into an independent Session under the same project. The source history stays read-only; the clone is yours to continue separately.

Branch switching and graceful degradation

The plugin never modifies Harness core files. It capability-detects the optional branch-selection engine API at runtime:

GitHub で README 全文を読む →

DSH Plugins は DeepSeek Harness プラグインの独立したコミュニティ ディレクトリです。DeepSeek との提携・公認はありません。サードパーティ製プラグインはセキュリティ監査を受けていません。インストール前にソースコードをご確認ください。

DeepSeek Harnessの新着プラグインを毎週お届け。スパムはありません。