dsh-layout-tools
DSH Web 布局插件:对话流净化(隐藏工具卡片,保留思考过程展示)+ 左侧工作区文件树(带 git 状态)。
- 对话流净化:中间的对话流只保留 AI 文本输出,工具调用卡片不再出现(通过官方 slot 机制 shadow + CSS 隐藏);模型的思考过程(Think)在对话区内正常展示(官方 ReasoningRow,点击展开)
- 左侧文件树:当前会话工作区的目录树(懒加载展开,跳过
.git / node_modules),文件名按 git 状态着色(M 修改 / A 新增 / D 删除 / R 重命名 / ?? 未跟踪 / U 冲突,目录含变更则标红),顶部显示当前分支
- 对话字号:右下角 A− / A+ 调节对话区字体(12–28px,仅作用于对话流节点)
- 侧边栏会话状态着色:左侧工作区列表里,会话条目整行跟随官方状态点着色——对话结束显示绿底(官方绿点)、等待回复黄底(官方黄点)、运行中蓝底、出错红底;仅作用于官方会话行本身的范围(跟随官方行的尺寸与圆角)
- 底部状态栏:对话区底部(输入框下方,与官方 StatsLine 同位置,通过 portal 渲染进官方容器替换)显示一行统计——当前所选模型来源的余额/用量替换了"轮/步"计数(选中 DeepSeek 官方显示
¥ 余额、OpenCode Go 显示滚动/周/月用量),耗时 / 速度 / token 统计保留(与官方 StatsLine 同数据源);点击 ⟳ 刷新余额(密钥仅 host 侧从 ~/.dsh/.credentials.yaml 读取)
- 工具调用的详情请使用 DSH 官方轨迹视图(本插件不再自带工具面板)
安装
前置:已装好 DSH(dsh web 可运行),Node.js ≥ 22,pnpm ≥ 10。
dsh plugin --profile web add "github:dHR-P/dsh-layout-tools"
装完重启 dsh web,刷新页面即生效。
使用
- 窗口宽度 > 1700px 时左侧面板自动展开;≤ 1700px 时面板隐藏(避免挤压对话区),需要时点击屏幕边缘的
▶ 手柄临时展开
- 面板头部按钮:左面板
⟳ 刷新文件树与 git 状态,« 收起面板
- 文件树:点击目录懒加载展开/收起子目录;点击文件用系统默认程序打开(如记事本 / VSCode,与 Windows 资源管理器双击行为一致);git 着色随分支切换和文件变更自动刷新(手动刷新用
⟳)
- 思考过程:模型输出时对话区内显示 Thinking 行(可点击展开完整内容);工具调用详情见官方轨迹视图
卸载
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 / open-file),路径经 realpath 校验必须位于已注册工作区内(与官方 git-graph 插件同款安全边界);open-file 通过 cmd /c start 调用系统 ShellExecute,仅在 Windows 上可用
开发
插件为纯手写 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
收录信息 / Listing
- 安装:
dsh plugin --profile web add github:dHR-P/dsh-layout-tools
- 支持的 profile:web
- 许可证:MIT(见 LICENSE)
- 兼容性:按 DSH 官方插件规范构建(package.json 声明
dsh.bundle.patch);peerDependencies 钉定 ^0.1.0-rc.6——在 0.1.0-rc.6 上开发验证,当前随 0.1.1-rc.2 实例正常运行;不承诺其他版本线,升级前请先在隔离环境验证。