🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

会话分支画布 answertsundere/dsh-canvas-plugin

DeepSeek Harness
answertsundere15 天前有提交已提供中文文档扫描:未发现敏感能力

把会话血缘画成图,任意消息分叉并对比分支结果

30.6/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/20 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add answertsundere/dsh-canvas-plugin
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · vision
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 15 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh@deepseek-ai/dsh-api-session-controller@deepseek-ai/dsh-api-workspace-controller@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-client-ui-workspace@deepseek-ai/dsh-session
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeek Harness 的对话分支画布:会话谱系图、实时智能体集群、消息级分叉、确定性分支对比

README

由 DeepSeek 最新模型翻译生成
dsh-canvas DeepSeek Harness 的会话分支画布插件:把当前工作区的会话血缘画成一张全幅画布,可以从任意一条消息分叉、并行跑两个方案、再确定性地对比它们。English readme: README.md。 | 血缘画布——任意消息分叉,分支实时可见 | Agent 实况蛛网——每个子代理在线工作,出活即亮 | | 血缘画布 | Agent 实况蛛网 | 不装也能玩:在线 Demo 用合成数据跑真实界面。本地:pnpm run demo,然后打开 demo/index.html。 目标版本:DSH 0.2.0-rc.2。所有 DSH API 都是对着本地 checkout(commit 639ed01539)核实的,不是对着线上文档。 它解决什么 DSH 原生支持会话分叉,侧边栏也能看到会话列表,但: 1. 分支关系看不见——侧边栏把 fork 出来的子会话和普通会话平铺,父子血缘被丢掉; 2. 分叉入口太深——只在侧边栏行菜单和聊天轮次尾部,看不到全局结构就没法规划"往哪分"; 3. 并行探索没有实况——同时跑两个方案时,没法在一个画面里看各自进展、也没法对比结果。 v1 能力 - 血缘画布:工作区会话按 parentSession 建成左→右分层图,链式会话保持一条直线,分支才向下展开。
展开完整文档(README 剩余 1 节)
dsh-canvas

DeepSeek Harness 的会话分支画布插件:把当前工作区的会话血缘画成一张全幅画布,可以从任意一条消息分叉、并行跑两个方案、再确定性地对比它们。English readme: README.md。

| 血缘画布——任意消息分叉,分支实时可见 | Agent 实况蛛网——每个子代理在线工作,出活即亮 |
| 血缘画布 | Agent 实况蛛网 |

不装也能玩:在线 Demo 用合成数据跑真实界面。本地:pnpm run demo,然后打开 demo/index.html。

目标版本:DSH 0.2.0-rc.2。所有 DSH API 都是对着本地 checkout(commit 639ed01539)核实的,不是对着线上文档。

它解决什么

DSH 原生支持会话分叉,侧边栏也能看到会话列表,但:

1. 分支关系看不见——侧边栏把 fork 出来的子会话和普通会话平铺,父子血缘被丢掉;
2. 分叉入口太深——只在侧边栏行菜单和聊天轮次尾部,看不到全局结构就没法规划"往哪分";
3. 并行探索没有实况——同时跑两个方案时,没法在一个画面里看各自进展、也没法对比结果。

v1 能力

- 血缘画布:工作区会话按 parentSession 建成左→右分层图,链式会话保持一条直线,分支才向下展开。可缩放(0.4–2×)、拖拽平移、适配视图、搜索定位。
- 从任意消息分叉:详情面板逐条列出该分支自己的轮次,每行标注真实 seq 区间与「⑂ 从此分叉」。切点是这一行自己的最后一个事件序号——永远是一个真实存在的事件。
- 两种启动方式:「立即开跑」把指令作为 queue 投给子会话;「只建分支」建一个空分支不发送任何东西。
- 确定性对比:只比各自 inheritedEventCount 之后的新增事件,逐轮位置对齐,不比语义。「带回结论」生成可编辑草稿,绝不自动提交。
- 状态三态:已确认(idle/queued/failed/done)、推断(thinking/tool)、未知(断线)。绝不从沉默推断空闲。
- 实时流式输出:运行中的分支在画布上实时可见——节点卡显示正在生成的最新一行(推理/正文/工具),选中分支的详情面板显示完整的实时推理流与正文,逐 chunk 更新,落地后自动并入轮次列表。有流可见时状态徽章由流内容驱动(思考中/工具执行),运行中的节点不再是猜测。
- Agent 实况蛛网:点节点卡角上的「⌖」进入该会话的专属实况视图——父 agent 居中、子代理环绕成网。哪个 agent 在出活,哪个辐条就会亮起并有光点向父节点爬动(蜘蛛网效果),芯片上同步显示它正在生成的最新一行。子代理清单来自会话日志里的 subagent/catalog 事件,新 agent 出现即时上网,无需刷新。

环境要求

- DeepSeek Harness(桌面 App 或 CLI),锁定 0.2.0-rc.2——见版本矩阵
- Node.js ≥ 22.19、pnpm 10+(corepack enable)、Git

安装

一行命令,从 GitHub 直装(锁定发布 tag,无需构建):

dsh plugin --profile <你的 profile> add "github:answertsundere/dsh-canvas-plugin#v0.1.0"

装完重启 App / profile——新增的 bundle 行只在 host 启动时读取。

从源码装(开发用):

git clone https://github.com/answertsundere/dsh-canvas-plugin
cd dsh-canvas-plugin
pnpm install
pnpm run build

桌面版(推荐):

node scripts/install-local.mjs --profile desktop

node scripts/install-local.mjs --profile desktop

独立 CLI 不能用来装桌面 profile——它会硬拒 --profile desktop(apps/cli/src/args.ts:83-87),因为桌面 profile 的插件集合归 App 所有。脚本会自动改用 App 自带的 carrier CLI(resources/runtime/cli/bin/dsh.cmd,带 manageDesktopProfile=true)。

装完需要重启 App:新增的 bundle 行只在 host 启动时读取,HMR 只处理已有插件的代码变更。

Web profile(开发用):

node scripts/install-local.mjs --profile web --repo <DSH checkout 路径>
dsh web --port 3090 --no-open

--repo(或环境变量 DSH_REPO)指向用于启动 DSH CLI 的 checkout,默认是维护者本机的 D:/deepseek harness。桌面路径不需要 checkout——它用的是 App 自带的 carrier CLI。

v1 明确不做

| 限制 | 原因 |
| 分支共享同一工作目录 | 公开的 fork API 没有 cwd 参数,无法分叉到新目录。UI 常驻「⚠ 并行写入」告警。 |
| 详情面板是快照,不实时 | 选中节点时一次性读取并立刻释放 retain,保证不把会话钉住。 |
| 带回结论走剪贴板 | v1 没有 composer 句柄。 |
| 无持久主线标记 | 只叫「切换至此分支继续」。 |
| 无自动择优 / 无语义摘要 | 位置对齐是唯一能两次给出同一答案的规则。 |

版本矩阵

| DSH | 状态 |
| 0.2.0-rc.2 | 开发与验证目标 |

详见 docs/compat.md 与 docs/superpowers/m0-verification.md(M0 12 个关卡的实际结果,含未执行的关卡)。

⚠️ 发布前的已知阻塞

npm 上的 dsh-canvas 已被占用(0.0.1,描述为 "Infinite canvas for the DeepSeek Harness - name reserved",仓库 dushaobindoudou/dsh-canvas)。发布前必须改名为 @<scope>/dsh-canvas,并同步更新:

- package.json 的 name
- cordis.patch.yml 里的 name:
- tsdown.config.ts 的 PLUGIN_ID(决定 window.__ModuleLoader__.load({ id }))

在这个决定做出之前,本 GitHub 仓库就是分发渠道。

不要在本地开发阶段改名:id 一改,已装进 profile 的插件行就对不上,M0 验证过的安装会失效。

开发

env -u NODE_OPTIONS -u CODEBUDDY_SAFE_DELETE_BULK_GUARD node node_modules/vitest/vitest.mjs run
env -u NODE_OPTIONS -u CODEBUDDY_SAFE_DELETE_BULK_GUARD ./node_modules/.bin/tsdown
env -u NODE_OPTIONS -u CODEBUDDY_SAFE_DELETE_BULK_GUARD node scripts/install-local.mjs --profile desktop
env -u NODE_OPTIONS -u CODEBUDDY_SAFE_DELETE_BULK_GUARD node scripts/m0-check.mjs desktop

env -u NODE_OPTIONS -u CODEBUDDY_SAFE_DELETE_BULK_GUARD 不是装饰:宿主的 shim 会拦 pnpm 的 fs 操作,表现为零字节文件或 EPERM rename。

接管这个项目(人或其他 AI 都算):先读 HANDOFF.md——当前状态、 durable 知识分布、命令清单、静默失败的坑、待决策事项,一册齐。

两个会让改动静默不生效的坑,细节见 docs/superpowers/m0-verification.md:

1. file: 依赖是拷贝不是链接,且 spec/version 不变就跳过复制 → 重建后必须删掉 profile 里的副本再装(脚本已处理)。
2. pnpm 11 的 pnpm-workspace.yaml 里 allowBuilds 占位符没回答,pnpm add 会失败,而 DSH 的 plugin manager 会吞掉 pnpm 的 stderr。

参与贡献

环境搭建、验证流程与项目铁律见 CONTRIBUTING.md。欢迎提 bug——请附上 DSH 版本、操作系统、目标 profile,以及失败命令的完整输出。

许可证

MIT,见 LICENSE。
预览分享卡片长什么样 ↓answertsundere/dsh-canvas-plugin
分享 · DeepSeek Harness Hub
answertsundere/dsh-canvas-plugin

把会话血缘画成图,任意消息分叉并对比分支结果

这是你的仓库?认领条目

回到顶部