DeepSeek Harness 插件

dsh-layout-control

DeepSeek Harness Web overlay: hide chrome, dock the composer, filter transcript kinds, and drive sidebar/details occupancy(英文原文)

跳到安装方式

来源信息

GitHub 仓库
LzqSuShi/dsh-layout-control
最近更新
2026年8月20日
分类
界面增强
GitHub stars
1
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/LzqSuShi/dsh-layout-control
插件名:dsh-layout-control
作者:LzqSuShi

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

dsh-layout-control · 布局控制

Web layout overlay for DeepSeek Harness: dock the composer, hide chrome, filter transcript nodes, and drive sidebar / details occupancy.

DeepSeek Harness Web UI 的独立布局插件:可拖动的「布局」按钮,隐藏会话装饰、停靠输入栏、过滤对话节点,并用 ctx.layout 控制侧边栏 / 详情栏。

不改 DSH 源码。只使用公开服务(ctx.layoutctx.slots)和稳定 DOM 属性([data-slot][data-composer-seat][data-chat-flow-kind] 等)。

仓库带 dsh-plugin 话题,可用 dsh plugin add 安装。

预览

布局面板

![布局面板](docs/screenshots/01-panel.jpg)

右下停靠

![输入栏停靠右下](docs/screenshots/02-dock-right-bottom.jpg)

左下停靠

![输入栏停靠左下](docs/screenshots/03-dock-left-bottom.jpg)

功能

右下角圆形按钮打开面板(可拖到屏幕边缘,贴边后会收进一半,鼠标移上去再展开):

  • 快照:默认 / 专注 / 沉浸
  • 侧边栏:展开 / 图标栏 / 隐藏(走 ctx.layout
  • 输入栏:完整 / 紧凑 / 不显示。停靠位置是四个角:左上 / 右上 / 左下 / 右下(左右 × 贴顶/贴底)
  • 详情栏:开关;「清空内容」会派发 dsh-details-clear(原版 DSH 若未监听则可能无效果)
  • 会话装饰:顶栏、状态栏、任务条、其它浮层
  • 对话内容:全部 AI 输出、用户消息、思考、工具调用、任务清单、回复正文

四个角停靠后,对话仍在中间滚动。输入卡片连同待办一起贴在选中的角上(左上/右上把整块输入单元移到顶,待办仍在输入框上方)。同侧空出来的位置放可折叠的会话摘要卡。

内侧 8px 拖动手柄可改宽度(280–560px)。圆形入口位置记在本次标签页的 sessionStorage;其它查看状态不持久化,刷新回到默认快照。

安装

在未改过的 DeepSeek Harness 上安装,然后重启 dsh web,浏览器 Ctrl+F5。

GitHub(推荐):

dsh plugin --profile web add github:LzqSuShi/dsh-layout-control

本地开发:

dsh plugin --profile web add "link:C:\liZhiQi\dsh-layout-control"

npm 发布之后:

dsh plugin --profile web add dsh-layout-control

本包提交了预构建的 lib/,git 安装不需要 prepare 构建许可。

卸载

dsh plugin --profile web remove dsh-layout-control

重启 dsh web 生效。

界面操作

控件作用
圆形入口单击打开 / 关闭面板;拖到左右边缘会收进一半,鼠标移上去再展开
ESC关闭面板
输入栏「左上 / 右上 / 左下 / 右下」把输入单元停到对应角,可拖内侧边改宽度
会话卡片标题折叠 / 展开会话摘要

技术实现

1. 客户端模块:window.__ModuleLoader__.load() 注册,导出 { isPlugin, inject: ["layout", "slots"], apply } 2. apply(ctx)shell.overlay 注册一枚 React 浮层(id:dsh-layout-control),根节点带 data-layout-control,因此「隐藏装饰层」不会把本按钮一起藏掉 3. 隐藏 / 停靠 / 过滤全部是 document.documentElement 上的属性 + 一张 stylesheet,选择器只打公开锚点,不碰 CSS Module 哈希类名 4. 左右停靠时 [data-conversation-scroll] 仍是纵向滚动容器(ChatView 写它的 scrollTop)。对话列 height: max-content,输入座 position: sticky 并且高度等于滚动口可视高度 5. 停靠时用 CSS ::before 画拖动手柄,用 window 指针事件改宽度,不往 React 树里插节点

package.json 声明 dsh.bundle.patchdsh plugin add 可安装)和 dsh.client(Web 端注入 layout)。

已知限制

  • 隐藏只是 display: none,对应 React 树仍挂着
  • 「清空详情内容」依赖页面里已有的清空控件,或监听 dsh-details-clear 的 DSH 版本;原版可能清不掉 Inspect 选中项
  • 停靠后的模型选择仍在输入卡片工具条里(不改 DSH 就无法把 Model / Effort 传送到卡片上方)
  • 圆形入口可拖动;贴边半隐藏。其它浮层仍可能重叠

版权

代码 [MIT](./LICENSE)。与 DeepSeek 无官方关联。