前言¶
DeepSeek Harness (DSH) Web 插件,旨在解决长文本输入体验不佳和提示词结构不清晰的问题。由 wangyuanchuan2022 维护。该插件在输入框工具栏新增「优化」按钮,并修复了 Composer 组件在处理长文本时的渲染缺陷,同时支持 Tab 键缩进,便于编辑结构化内容。
核心功能¶
一键优化提示词¶
在输入框工具栏(发送按钮左侧)新增「优化」按钮。点击后,插件会读取当前草稿,通过宿主端的 /optimize 命令执行一次辅助 LLM 调用。优化结果直接写回输入框,将草稿重写为更清晰的结构化提示词。
该功能面向 DSH coding agent 场景设计。优化过程中会逐字保留文件路径、标识符等语境细节,并原位透传 U+FFFC 附件/引用占位符(避免破坏宿主端的绑定关系),结构惯例跟随草稿作者语言,并要求指令包含 agent 可校验的完成判据。
优化调用默认使用低思考等级(reasoningEffort: low)以加快速度。支持在配置中将其设为 off(关闭思考,最快)或 high / max 以换取更细致的重写质量。
模型路由按优先级解析:会话当前选择的模型 → 会话日志中最近一次请求的路由(request/header)→ 第一个可用 provider。也可在 cordis.patch.yml 中显式固定 provider + model。
除了工具栏按钮,也可在命令行输入 /optimize <草稿文本> 进行手动优化。
长文本支持(输入框架构修复)¶
修复了 Composer 组件在长文本下的显示缺陷。原框架的 <textarea> 使用了 height:100%,但作为替换元素,它在高度为 auto 的父容器中会回退到固有高度(约 52px),导致长文本只能编辑顶部两行。
插件使用 ResizeObserver 将 textarea 的显式像素高度同步为隐藏 mirror 元素的高度,恢复「textarea 铺满全文 → 滚动容器裁切/滚动」的预期架构。同时,输入框文本区最大高度由 336px 提升到 min(55vh, 600px)。
在编辑体验上,输入框内支持 Tab / Shift+Tab 插入或删除两空格缩进,多行选择时支持按块整体缩进/反缩进。
配置¶
插件通过 cordis.patch.yml 进行配置。主要参数如下:
| 键 | 默认值 | 说明 |
|---|---|---|
provider / model |
未设置 | 显式固定优化调用的模型路由(需成对提供) |
reasoningEffort |
low |
优化调用的思考等级:off(不思考,最快)/ low / high / max |
maxInputChars |
200000 | 草稿最大字符数 |
maxOutputTokens |
8192 | 重写结果输出上限 |
timeoutMs |
120000 | 单次优化调用超时(毫秒) |
安装与启用¶
插件通过 GitHub 仓库地址安装。执行以下命令将插件加入 web profile 的 bundles 层列表:
dsh plugin --profile web add github:wangyuanchuan2022/dsh-prompt-optimizer
安装完成后,重启 dsh web 并刷新页面即可使用。
也可使用完整 Git URL:
dsh plugin --profile web add https://github.com/wangyuanchuan2022/dsh-prompt-optimizer.git。
后续更新:dsh plugin --profile web update dsh-prompt-optimizer。
局限¶
- 当草稿包含附件或引用占位符(U+FFFC chip)时,「优化」按钮会被禁用,因为重写会破坏 chip 与 occurrence 表的对应关系。
- 优化结果通过
inputActions.setDraft整体替换草稿,如需回退,需依赖输入机的撤销功能。
结语¶
该插件遵循 MIT 许可证。DSH 理念为「一切皆插件」,社区目录(SkillHub)与 DeepSeek 无官方从属关系。如需查看目录或源码,可访问 插件目录 或 GitHub 仓库。