dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
在 DeepSeek Harness 中用一棵纵向对话树管理深入讨论:从历史节点开新枝,在分支间切换,移除不需要的轮次,让后续回复使用调整后的上下文。
tree-chat 是采用 DSH 标准插件格式的第三方插件,使用原生右侧栏、字体和深浅色主题,无需修改宿主安装文件。
安装 · 使用 · 数据 · 常见问题 · 开发
项目 · 当前状态 插件版本 · 1.2.2 已验证宿主 · DeepSeek Harness 0.2.0-rc.2 / 0.2.1-rc.2 / 0.2.1-rc.3 已验证系统 · Windows 插件格式 · 标准 dsh.bundle + dsh.client 其他系统及宿主版本 · 尚未完成验证,不保证可用
通过 DSH 界面安装不需要手动运行 Node、npm 或构建命令。发行包已包含运行文件;开发源码需要 Node.js 22 或更新版本。
https://github.com/DevourerM/tree-chat/releases/download/v1.2.2/tree-chat-1.2.2.tgz固定版本地址不会随仓库提交而改变内容。无需下载源码或额外执行安装脚本。
也可在同一输入框使用固定标签的 Git 地址:
git+https://github.com/DevourerM/tree-chat.git#v1.2.2推荐 .tgz 地址,它不要求安装 Git。插件尚未发布到 npm,请不要只填写 tree-chat,以免解析到其他来源的同名包。
从 Releases 下载 tree-chat-1.2.2.tgz,在 DSH 的同一输入框填写其本机绝对路径,例如:
C:\Downloads\tree-chat-1.2.2.tgz选择发行附件 .tgz,不要选 GitHub 自动生成的 “Source code” ZIP。远程 Web Host 的本地路径指向 Host 电脑,而不是浏览器所在电脑。
更新前查看新 Release 的宿主兼容性说明,再通过 DSH 的更新或重新安装流程填写新版本地址,避免同时启用多个副本。禁用或卸载从 DSH 插件界面操作。
卸载不删除原生聊天与树数据。自动归档的会话仍可从 DSH 的归档列表恢复。
连线只展示关系和当前路径;创建分支、裁剪上下文都通过按钮完成,无需手工拉线。
操作 · 效果 单击节点正文 · 仅选中,作为新建分支、重命名或删除的目标 双击节点正文 · 跳转原生聊天的对应消息,自动加载较早记录 拖动节点正文 · 移动位置,不跳转、不改变上下文 右键拖动空白处 · 框选节点;按住 Shift / Ctrl / ⌘ 可追加选择 左键 / 中键拖动空白处,或空格 + 左键拖动 · 平移画布,保留当前选择 滚轮、左下角 − / + · 缩放 左下角“适合画布” · 调整视野容纳整棵树 顶部树形整理图标“整理节点” · 按当前左右顺序规整布局,保留上下文关系,支持撤销 卡片 … 或右键 · 打开节点菜单
选中边框表示操作对象;蓝色路径及节点左侧色条表示当前聊天使用的分枝。选中历史节点本身不会把下一条输入插入历史中间。
每个正式节点代表完整轮次,包括输入、回复和工具交互;不会在工具调用尚未配对时截取半轮上下文。
未填写的分支不会超时消失,切换、刷新和重启后仍保留,也不会被从其他节点新建的分支覆盖。重复从同一父节点创建会复用已有空分支;双击空分支继续填写。右键或 … 菜单可继续、重命名或删除空分支,删除当前空分支会返回创建前的会话。
新节点从父节点的当前实际位置向下寻找最近空位,避开已移动的节点。顶部 整理节点 按当前左右位置确定分枝顺序,再统一间距与层级;不会恢复成创建时的顺序,也不会改变上下文。
从 起点 创建不继承先前用户轮次,但保留宿主必需的系统及工具配置。其他分枝末端节点的菜单提供 继续这条分支,优先复用已有原生会话。
集合只整理显示,不把多轮聊天压缩成摘要,不删除消息、不改变上下文路径。分叉和所有对外出口保留;从内部指定节点继续对话时先展开集合,新增对话保持在集合之外。移动折叠卡片会同步平移成员。创建、展开、收起、拆分或取消集合时,自动按当前分枝左右顺序重新整理可见节点的间距:折叠后下游靠拢,展开后为成员和各个出口重新腾出空间。布局操作不改变消息及上下文关系。
顶部 展开所有集合 / 折叠所有集合 按钮可一键切换:存在收起的集合时全部展开,全部展开后则一键收起;批量操作只计算一次布局。
取消集合 只移除包装并保留节点。删除集合… → 保留后续 删除集合内的轮次,并将各个出口接到集合上游;删除整枝 还会删除入口以下所有后代。展开后也可从成员菜单取消或删除所属集合。这些结构编辑可以撤销,删除只影响树与后续上下文,不物理删除原生聊天文件。有下游空分支时需先完成或删除空分支,同树生成中禁止删除集合。
集合不包含起点,不能跳过中间节点,也不允许重叠或嵌套。空分支产生第一轮消息后才能加入集合。默认视图隐藏的内部轮次会随所属输入一起收纳,切换“显示完整轮次”仍可检查全部记录。
搜索命中集合内部节点时临时展开并定位,清除搜索后恢复原折叠状态。创建、命名、拆分、取消、删除与移动均可撤销;单纯展开折叠不占用撤销历史。刷新及重启后集合名称、成员和折叠状态保留。
通过 tree-chat 新建分支、继续已有分支、跨会话定位或删除当前空分支返回时,目标会话沿用离开前的当前权限选择。覆盖“工作区内修改”“完全权限”及 DSH 自定义的沙箱/审批组合,不再重置成目标分支原来的默认值。
权限仍由 DSH 原生服务写入、显示与执行。Auto 需要宿主自身启用相应审查集成;无法启用时切换失败并提示,不会偷偷降级或绕过审核。树之外手工打开不相关会话的权限行为仍由 DSH 决定。
原路径:
起点 → 1 → 2 → 3 → 4选择节点 2,打开 … → 删除节点… → 保留后续,得到:
起点 → 1 → 3 → 4后续聊天基于新路径。插件会生成合适的原生上下文会话,不改写原始聊天文件。删除整枝 则移除所选节点及其后代在树中的位置。
默认折叠视图中,删除用户节点也会移除归属该输入的内部续跑轮次,避免工具结果或自动续跑单独残留。旧数据里未连接的分支,可使用节点菜单 接回起点。
顶部 … 菜单包含撤销、重做、整理节点、显示完整轮次和导出树结构;搜索框定位并高亮匹配标题。
快捷键 · 效果 画布聚焦后方向键 · 选择父、子或同层节点 Enter · 定位选中节点 Shift + Enter · 从选中节点创建分支 Ctrl / ⌘ + Z · 撤销树编辑 Ctrl / ⌘ + Shift + Z · 重做树编辑 Esc · 取消拖动、恢复框选前的选择或关闭当前菜单、对话框
快捷键作用于插件获得焦点时。完成新一轮聊天后,旧的树编辑撤销历史清空,避免覆盖后来生长的节点。
点击顶部 项目同步 文件夹按钮,选择项目目录,点击 开启同步。默认使用当前 DSH 工作区目录;也可以浏览或填写 Host 电脑上的其他项目目录。
项目目录结构:
.tree-chat/
.gitignore # 只忽略临时事务目录和写入锁
trees/<tree-id>/
manifest.json # 格式版本与完整性校验
tree.json # 树、集合、坐标、分枝和来源映射
conversation.md # 便于直接阅读和评审的对话文档
sessions/*.jsonl # 保留完整原生事件,包括工具调用与结果
assets/<sha256> # 图片和文件附件,按内容去重将 整个 .tree-chat/ 随项目提交到 Git。文本格式方便 diff 和评审;没有内容变化时不重写快照。对话中实际出现的消息、工具输出和附件会进入记录,请按项目的共享规则审阅后提交。
读取使用全新的本机会话标识,不覆盖现有聊天。工作目录改为选中的项目,项目内的历史子目录按相对路径迁移;模型、权限和智能体预设采用当前本机设置,不沿用记录里的完全权限或 Auto 身份。历史聊天文本和工具参数中的旧路径作为历史内容保留,不修改原意。
恢复后同步默认关闭。若要继续维护同一份项目记录,再点击 开启同步;插件保留记录身份与映射,不会无意复制第二棵树。
文件格式与扩展约定见 项目格式说明。
$DSH_HOME/plugins/conversation-tree/graphs,Windows 默认 %USERPROFILE%.dsh\plugins\conversation-tree\graphs。历史目录名用于兼容,插件包名仍是 tree-chat。groups 字段,升级后建议持续使用新版,旧版不理解集合。安装或下载超时? 确认可以访问 GitHub Release 附件,或改用离线 .tgz;更换 npm 镜像不一定能解决 GitHub 网络问题。
单击为什么不跳聊天? 单击只选中。双击或画布聚焦后按 Enter 才定位。
新分支还没输入,会消失吗? 不会。空分支持续保留,首轮结束后原位填入内容;只有明确删除它才会移除。
旧分支从左侧消失? 它被原生归档收纳,仍在树中,可通过树切回或从归档列表恢复。
生成时不能改上下文? 等待同树正在生成的会话结束后操作。移动和排列不改变模型上下文。
已有 fork 没有合并? 插件不扫描和合并历史 fork;首次打开的普通会话各自形成树,之后由 tree-chat 创建的新枝统一管理。
压缩或工具配对提示? 宿主已压缩替代的历史可能不再有可独立重组的有效消息;未完成工具记录也不能安全重建。插件会拒绝应用,原会话保留。