dsh-layout-tools:DSH Web 布局插件(对话流净化 + 工作区文件树)

前言

在 DSH Web 里做连续对话时,中间对话流如果夹杂大量工具调用卡片,阅读焦点很容易被打断。另一方面,开发过程中经常还需要同时查看当前会话工作区里的文件、git 状态、分支,以及当前模型来源的余额或用量。

下面介绍 dHR-P/dsh-layout-tools。它是一个面向 DSH Web 的布局插件,核心目标是把中间对话流整理得更干净,同时在左侧提供带 git 状态的工作区文件树,并在底部状态栏补充余额/用量信息。

这是什么

dHR-P/dsh-layout-toolsdHR-P 维护,许可证为 MIT。它支持 web profile,主要解决两个问题:

1、中间对话流只保留 AI 文本输出,工具调用卡片不再出现,但模型思考过程仍可展开查看。
2、左侧面板展示当前会话工作区的文件树,文件按 git 状态着色,顶部显示当前分支。

本插件不再自带工具面板;工具调用详情建议继续使用 DSH 官方轨迹视图。

核心功能

对话流净化

中间对话流只保留 AI 文本输出。工具调用卡片通过官方 slot 机制 shadow + CSS 隐藏,不再出现在对话区中。

思考过程展示

模型输出时,对话区内会显示 Thinking / Think 行,可点击展开完整内容。这里使用的是官方 ReasoningRow 形态,而不是额外右侧面板。

左侧工作区文件树

左侧面板展示当前会话工作区的目录树:

  • 点击目录懒加载展开或收起子目录。
  • 跳过 .git / node_modules
  • 顶部显示当前分支。
  • 文件名按 git 状态着色:M 修改、A 新增、D 删除、R 重命名、?? 未跟踪、U 冲突。
  • 目录内包含变更时标红。
  • git 着色随分支切换和文件变更自动刷新。

面板头部提供两个按钮:

  • :刷新文件树与 git 状态。
  • «:收起面板。

点击文件打开

点击文件会用系统默认程序打开,行为类似 Windows 资源管理器双击文件。

这里需要注意:open-file 通过 cmd /c start 调用系统 ShellExecute,仅在 Windows 上可用。

对话字号调节

右下角提供 A− / A+ 按钮,用于调节对话区字体大小,范围为 12–28px。该设置仅作用于对话流节点。

侧边栏会话状态着色

左侧工作区列表中的会话条目,会整行跟随官方状态点着色:

  • 对话结束:绿底。
  • 等待回复:黄底。
  • 运行中:蓝底。
  • 出错:红底。

该着色仅作用于官方会话行本身的范围,跟随官方行的尺寸与圆角。

底部状态栏

对话区底部,即输入框下方,会显示一行统计信息。这里与官方 StatsLine 同位置,通过 portal 渲染进官方容器替换。

主要内容包括:

  • 当前所选模型来源的余额/用量,替换原有“轮/步”计数。
  • 保留耗时、速度、token 统计。
  • 点击 可刷新余额。

刷新余额时,密钥仅在 host 侧从 ~/.dsh/.credentials.yaml 读取。

面板显隐

窗口宽度会决定左侧面板默认状态:

  • 窗口宽度 > 1700px 时,左侧面板自动展开。
  • 窗口宽度 ≤ 1700px 时,面板隐藏,避免挤压对话区。
  • 需要临时查看时,可点击屏幕边缘的 手柄展开。

安装与启用

前置条件:

  • 已安装 DSH,且 dsh web 可运行。
  • Node.js ≥ 22。
  • pnpm ≥ 10。

安装命令:

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

安装完成后,重启 dsh web,再刷新页面即可生效。

典型用法

下面是比较常见的使用路径。

1、窗口足够宽时,左侧文件树会自动出现。
2、在左侧面板顶部点击 ,刷新文件树与 git 状态。
3、点击目录,懒加载展开子目录。
4、点击文件,用系统默认程序打开;该能力依赖 Windows 下的 cmd /c start
5、模型输出思考内容时,在对话区点击 Thinking / Think 行展开完整内容。
6、用右下角 A− / A+ 调整对话区字号。
7、在底部状态栏点击 刷新当前模型来源的余额/用量。
8、窗口变窄后,左侧面板会隐藏;需要时点击边缘 手柄临时展开。

如果窗口较窄,建议优先保留对话区宽度,只在需要查看文件树时临时展开侧栏。

本地调试

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

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

卸载

卸载命令:

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

卸载后重启 dsh web,即可完全恢复官方布局。

兼容性与实现边界

dHR-P/dsh-layout-toolspeerDependencies 钉定 ^0.1.0-rc.6。按已核实资料,该插件在 @deepseek-ai/dsh 0.1.0-rc.6 上开发验证,当前随 0.1.1-rc.2 实例正常运行;不承诺其他版本线。升级 DSH 前,建议先在隔离环境验证。

该插件的实现依赖官方 UI 的稳定标记,包括:

data-chat-flow-kind
data-variant="think"
conversation.chat.node
conversation.input.dock

如果后续官方 UI 升级调整了这些标记,本插件可能出现失效。

host 侧提供以下路由:

/dsh-layout/fs-list
/dsh-layout/git-status
/dsh-layout/git-branches
/dsh-layout/git-switch
/dsh-layout/git-log
/dsh-layout/open-file

这些路由访问路径时会经过 realpath 校验,且路径必须位于已注册工作区内。open-file 依赖 Windows Shell 调用,因此仅在 Windows 上可用。

适用场景与注意

这个插件比较适合以下场景:

  • 使用 DSH Web 进行多轮对话,希望中间对话流少被工具卡片打断。
  • 开发过程中需要同时查看当前会话工作区的文件结构。
  • 希望按 git 状态快速识别修改、新增、删除、重命名、未跟踪和冲突文件。
  • 希望查看当前分支,并在底部状态栏查看模型来源余额/用量。
  • 在 Windows 环境中,希望点击文件后用系统默认程序打开。

安装前需要注意:

  • 插件会在当前 dsh 进程权限下运行,安装前应检查源码、路由行为与依赖范围。
  • 许可证为 MIT,见 LICENSE
  • 该插件依赖 DSH 官方 UI 标记,版本升级可能影响稳定性。
  • 点击文件打开能力依赖 Windows 环境。
  • 这里提到的目录页是独立社区目录,不等同于官方应用商店;该插件与 DeepSeek / 幻方之间不存在官方从属关系。

结尾

dHR-P/dsh-layout-tools 的价值比较具体:它不改变 DSH 的核心工作流,而是把 DSH Web 的界面布局整理得更适合连续对话与本地工作区操作。中间对话流更干净,左侧能看文件和 git 状态,底部能看余额/用量,工具调用详情仍回到官方轨迹视图处理。

目录页:https://www.skillhub.cn/plugins/dHR-P/dsh-layout-tools

GitHub:https://github.com/dHR-P/dsh-layout-tools

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜