前言¶
在 DSH Web 里做连续对话时,中间对话流如果夹杂大量工具调用卡片,阅读焦点很容易被打断。另一方面,开发过程中经常还需要同时查看当前会话工作区里的文件、git 状态、分支,以及当前模型来源的余额或用量。
下面介绍 dHR-P/dsh-layout-tools。它是一个面向 DSH Web 的布局插件,核心目标是把中间对话流整理得更干净,同时在左侧提供带 git 状态的工作区文件树,并在底部状态栏补充余额/用量信息。
这是什么¶
dHR-P/dsh-layout-tools 由 dHR-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-tools 的 peerDependencies 钉定 ^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 状态,底部能看余额/用量,工具调用详情仍回到官方轨迹视图处理。