dsh-composer-expand:为 DeepSeek Harness 添加 composer 展开/收起

前言

在 DeepSeek Harness(DSH)里写长 prompt 时,composer 文本框通常会受到默认高度限制,草稿变长后只能在小窗口里滚动。dsh-composer-expand 是一个面向 DSH web 的纯前端插件,用来在 composer 工具行提供一个按钮,把输入区从默认封顶高度切换到更高的书写视图。下面介绍它的功能、安装方式和注意事项。

这是什么

dsh-composer-expand 是 DeepSeek Harness composer 展开/收起插件,由 13071301808 维护,许可证为 MIT。它不新增 host 命令,不调用 LLM,也不进入会话日志,只在现有 composer 上提供高度切换。

核心功能

1、在 composer 工具行添加展开/收起按钮。

2、在默认封顶高度与 70vh 高书写视图之间切换。

3、展开时设置最小高度 300px,输入内容较少时也保留一定书写空间。

4、展开状态下普通回车只插入换行,不触发发送;Ctrl/Cmd + Enter 等带修饰键快捷键仍可用于发送。

5、使用 localStorage[dsh-composer-expand:expanded] 在浏览器内持久化展开状态。

6、按钮文案与提示跟随 DSH locale 服务,支持中英文。

7、纯前端:无自定义协议、无 host 命令、无 LLM 调用、不进会话日志。

8、通过 data-conversation-scrolldata-composer-seatdata-input-mirror 等稳定属性挂钩,不依赖构建哈希。

DSH 默认的 --dsh-composer-text-max-height: 336px 是 DSH 的设计选择。本插件只放宽 composer 文本框容器,不影响其他 disclosure 行。

安装与启用

通过 npm 安装:

dsh plugin --profile web add dsh-composer-expand

重启 web profile 后,在 composer 工具行(发送按钮旁)会出现展开按钮。可按当前 DSH 使用方式重启,例如:

dsh --profile web

可在 设置 → 插件 中确认 dsh-composer-expand 已列出。

本地开发

如果从源码开发,先确保 dsh CLI 在 PATH 上。若未全局安装,可执行:

npm install -g @deepseek-ai/dsh

然后构建并加入 web profile:

pnpm install
pnpm build
dsh plugin --profile web add ./
dsh --profile web

本地运行需要满足 engines:node ^22.19.0 || >=24.0.0;peerDependencies 为 @deepseek-ai/cordis ^4.0.1react ^18.2.0

典型用法

安装并重启后:

1、在 composer 工具行点击展开按钮。

2、输入区切换为 70vh 高书写视图;内容少时最小高度为 300px

3、普通回车换行,使用 Ctrl/Cmd + Enter 发送。

4、再次点击按钮恢复默认封顶高度。

5、刷新页面或切换工作区后,展开状态会按当前浏览器记忆。

适用场景与注意

适合需要在 DSH web 中写较长 prompt、希望减少小窗口滚动的使用者。

使用前注意:

  • 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
  • 展开状态按浏览器记忆,不按会话;未来若同时渲染多个 composer,需要收窄 DOM 选择器。
  • 展开高度固定为 70vh
  • 本插件只放宽 composer 文本框容器,不影响其他 disclosure 行。
  • 它硬依赖官方 harness 客户端服务:inject 注册 slots 与 locale。
  • 它通过 data-conversation-scrolldata-composer-seatdata-input-mirror 等稳定属性挂钩,不依赖构建哈希。

结尾

dsh-composer-expand 的价值比较具体:让 DSH composer 在默认高度和 70vh 高书写视图之间切换,同时保留现有发送快捷键。项目仓库:https://github.com/13071301808/dsh-composer-expand

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

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

小夜