DSH Plugin Store
Back to home

dHR-P

dsh-layout-tools

DSH Web 三栏工作台:对话流净化(工具调用/思考移入右侧面板)+ 左侧工作区文件树(git 状态徽标)

Stars
0
Language
JavaScript
Created
Aug 14, 2026
Updated
Aug 14, 2026
Other
GitHub repo

Introduction

dsh-layout-tools

DSH Web 三栏工作台插件:把中间对话流清干净,工具调用和思考挪到右侧,左侧显示工作区文件树(带 git 状态)。

  • 对话流净化:中间的对话流只保留 AI 文本输出,工具调用卡片和 Think 行不再出现(通过官方 slot 机制 shadow + CSS 隐藏)
  • 左侧文件树:当前会话工作区的目录树(懒加载展开,跳过 .git / node_modules),文件名按 git 状态着色(M 修改 / A 新增 / D 删除 / R 重命名 / ?? 未跟踪 / U 冲突,目录含变更则标红),顶部显示当前分支
  • 右侧工具面板:实时工具调用列表(名称 / 状态 / 参数 / 错误 / 结果 / 子调用递归)+ Think 内容,自动滚动跟随

安装

前置:已装好 DSH(dsh web 可运行),Node.js ≥ 22,pnpm ≥ 10。

dsh plugin --profile web add "github:dHR-P/dsh-layout-tools"

装完重启 dsh web,刷新页面即生效。

使用

  • 窗口宽度 > 1700px 时左右面板自动展开;≤ 1700px 时面板隐藏(避免挤压对话区),需要时点击屏幕边缘的 / 手柄临时展开
  • 面板头部按钮:左面板 刷新文件树与 git 状态,« / » 收起对应面板
  • 文件树:点击目录懒加载展开/收起子目录;git 着色随分支切换和文件变更自动刷新(手动刷新用
  • 工具卡片:点击展开/收起参数、错误与结果文本;Think 块同样可展开

卸载

dsh plugin --profile web remove dsh-layout-tools

重启 dsh web 后完全恢复官方布局。

兼容性

  • 目标版本:@deepseek-ai/dsh 0.1.0-rc.6 系列(peerDependencies 已声明)
  • 实现依赖官方 UI 的稳定标记:data-chat-flow-kind(对话节点)、data-variant="think"(思考行)、slot 契约 conversation.chat.node / conversation.input.dock。官方 UI 升级若调整这些标记,本插件可能失效——欢迎提 issue / PR
  • host 侧提供 /dsh-layout/* 路由(fs-list / git-status / git-branches / git-switch / git-log),路径经 realpath 校验必须位于已注册工作区内(与官方 git-graph 插件同款安全边界)

开发

插件为纯手写 bundle(无构建链):

dsh-layout-tools/
├── package.json        # bundle 声明(host + client 双 half)
├── cordis.patch.yml    # 挂载行
└── lib/
    ├── index.js        # host half:/dsh-layout/* 路由(fs 枚举 + git status)
    └── client.js       # 浏览器 half(window.__ModuleLoader__.load 契约)

本地调试用 link 安装,改完刷新即生效:

dsh plugin --profile web add link:/绝对/路径/dsh-layout-tools

许可

MIT