前言¶
DeepSeek Harness (DSH) 的插件生态允许开发者对客户端界面进行细粒度控制。在新会话中,官方默认的布局逻辑是:初始状态下输入框垂直居中,发送第一条消息后切换为对话态,输入框落到窗口底部。这种从居中到底部的位移导致输入框在发消息时会发生视觉跳动。
dsh-plugin-composer-align 的作用是:把「新会话」页的输入框钉到和对话态完全相同的位置。无论是否发送消息,输入框的 x、y 坐标、尺寸都保持不变,从而消除位移。
插件信息¶
- 名称:dsh-plugin-composer-align
- 维护者:daoyu1993-lab
- 分类:客户端
- 许可证:MIT
- 核心价值:钉住新会话输入框位置,消除发送第一条消息后的输入框位移。
核心功能¶
本插件通过纯 CSS 修改实现以下目标:
- 位置固定:新会话页的输入框位置被固定,不再随消息发送而跳动。
- 视觉对齐:新会话态的输入框几何尺寸(宽、高、y轴坐标)与对话态保持一致。
- 留白支持:支持用量行留白,底部保留 26px 的预留位。
- 无构建步骤:仅修改样式层,不涉及组件构建或逻辑注册。
安装与启用¶
插件支持通过命令行安装。选择以下一种方式即可:
dsh plugin --profile desktop add "github:daoyu1993-lab/dsh-plugin-composer-align"
安装完成后,刷新页面即可生效。
典型用法¶
- 刷新页面:初次安装或修改配置后,刷新页面即可看到输入框位置不再跳动。
- 源码修改:如果需要调整样式,修改源码后保存并刷新页面。
- 实时热更新:如果配置了
dsh-hmr,可以通过它实时拾取补丁文件的改动,无需重启应用。
注意事项¶
- 浏览器兼容性:插件依赖 CSS
:has()选择器,需要 Chrome 105+ 或 Safari 15.4+ 以上版本。 - 纯视觉修改:本插件仅修改视觉层(CSS),不注册新的槽位或与官方组件进行逻辑交互。
- 底部留白:新会话页底部会有 26px 的空白,这是为了预留用量行的位置。
- 特殊场景:在对话态中,如果
dock完全为空(没有用量行或上下文计量表),输入框会比官方默认稍高一些。但这正好消除了官方默认的位移,因此在有用量行的对话态中,几何位置与官方完全一致。
总结¶
该插件通过一套样式表,将新会话态的布局强制对齐到对话态,解决了输入框位移的痛点。对于需要长时间在新会话页面进行调试或交互的用户,它能提供更稳定的视觉体验。