DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
S

dsh-session-tree-extension

Session Tree Extension

用于 dsh-session-tree 插件包的开发工作区(未发布)

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:robiteame/dsh-session-tree-extension#1ffed49149a0c02c38918ae0c448747e83e4ee59
README兼容性版本
Session tree panel, light themeSession tree panel, dark themeInline fork branch menu

兼容性与来源证明

Session Tree Extension 以 dsh-session-tree-extension 发布,当前版本为 0.7.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/10/24

版本

0.7.0stable
2026/10/24
0.6.0stable
2026/10/13
0.5.0stable
2026/10/6
查看其余 1 个版本收起版本
0.1.0stable
2026/9/7

相关插件

正在加载相关插件…

最新版
0.7.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 20
周下载
0
最近提交
2026/10/24
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Sdk Minimal@deepseek-ai/dsh-sdk-minimal独立的最小 SDK 配置包:JSON-RPC、一个 DeepSeek 适配器、持久化 Shell 和 JSONL 会话Sdk App@deepseek-ai/dsh-sdk-appdsh SDK 配置包:基于 dsh-base 提供 stdio JSON-RPC 服务和进程生命周期管理Experimental Inspector@deepseek-ai/dsh-experimental-inspector用于 Host 调试和 Client Runtime 检查的实验性跨 realm CDP hub

README

dsh-session-tree

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:

CommandWhat it does
/treeOpen the merged lineage graph: every non-subagent session and node, clickable and bindable
/forkBranch from any historical node — the fork appears in the graph and as an inline menu under its source session
/cloneDuplicate 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:

PackageRole
@robiteame/dsh-session-treeCarrier Bundle: one install mounts everything below through its composition layer
@robiteame/dsh-pi-agent-session-treeHost domain service: the SessionTree/SessionTreeStore domain model and the sessionTree Remote
@robiteame/dsh-tool-session-treeCommand surface: the /tree /fork /clone commands
@robiteame/dsh-client-ui-session-treeWebUI 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.

The desktop app currently bundles the 0.2.1-rc.2 CLI, whose 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.0.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 through 0.2.1-rc.3 (the latest published next is 0.2.1-rc.3; the current desktop build is 0.2.1-rc.2) and Cordis ~4.0.5; the target installation provides those peers. 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:

  • Native mode — on a checkout carrying dev/session-branch-surface.patch (Session.selectMessageSurface()), jump/fork switch the model-visible history directly: the next turn genuinely starts from the new branch.
  • Stock mode — on an unmodified official Harness, the plugin emulates the switch through official append APIs (an empty replace surface event) plus a plugin-owned sidecar under $DSH_HOME/storages/session-tree/ for durable branch state. The log stays resume-valid.
  • Projection mode — if even the emulation is unavailable, navigation moves the tree projection and panel only, and the next turn keeps the canonical history.

Every mode is honest about itself: the Host log prints a one-time notice when a session runs in a non-native mode. Move the raw session.jsonl.zstd between machines together with the matching sidecar file.

How it works

  • Append-only — every node is immutable; branching and jumping only move the cursor. Old branches are never edited or deleted.
  • Every entry is a node — messages, tool calls, model switches, compaction records, and branch summaries all become typed nodes; each has a unique nodeId and a parentId (root is null). A node may have multiple children — that is the fork.
  • Cursor navigation — jumping moves the active leaf to a historical node; the next append grows a new branch from there. Sibling branches stay intact.
  • LLM context — the model always receives the standard messages array for the root→cursor path only.

Development (contributors)

The repository is a pnpm workspace building the three implementation packages standalone (no Harness checkout needed):

pnpm install
pnpm verify      # build + typecheck (host & client) + pack dry-run + vitest
pnpm pack:all    # produce the four tarballs

Tests run against the published Harness packages (0.2.1-rc.3) — the stock-mode paths — with vitest from the repository root. The same suite is green against 0.2.1-rc.2, the version bundled by the current desktop build. The browser spec in packages/client/ui-session-tree exercises both the 0.2 native right-Sidebar registration and the older overlay fallback in the standalone suite.

Source integration against a Harness checkout

For debugging against a 0.2.1 Harness source checkout (native branch switching and source integration):

dev/install.sh /path/to/deepseek-harness     # applies both dev patches + copies packages
cd /path/to/deepseek-harness && pnpm install && pnpm run build

See dev/README.md for what each patch does. This flow is for contributors only — user installs never touch a Harness checkout.

License

MIT.