跳到主要内容

dsh-prompt-polish

已验证

dsh-prompt-polish · v0.1.0 · MIT · Web 界面

Prompt polish ✨ — a DeepSeek Harness WebUI plugin that adds a one-click button to rewrite rough input into a structured, professional prompt, written back into the input box.

安装

dsh plugin add dsh-prompt-polish

dsh --profile default --dump-config 确认 layer 已生效 —— 参见安装指南

源码

发布到 npm 但没有公开仓库。安装前请检查包内容。

标签

作者

说明文档

dsh-prompt-polish

DeepSeek Harness WebUI 插件:在输入框工具栏右端加一个 ✨ 润色 按钮,一键把粗糙、零散的输入扩写为结构清晰、可直接使用的专业提示词,并写回输入框。

GitHub topic: dsh-plugin

功能

  1. 在输入框里写下粗略需求。
  2. 点击右端 ✨ 润色
  3. 插件调用你配置的 LLM(默认 DeepSeek)把需求改写为清晰、可执行的提示词。
  4. 润色稿替换原草稿。你审阅后再正常发送。

润色不自动发送,可先审阅、可再改。

安装

若你的 profile 装了 dshmarket,可在市场 UI 里安装。否则:

dsh plugin --profile web add dsh-prompt-polish

然后重启 WebUI 使 bundle 加载。

从源码构建(开发时):发布包已附带编译好的 lib/。如需自己构建,运行 pnpm install && pnpm build(使用 tsdown)。

配置

插件通过 cordis.patch.yml 挂载,可覆盖默认值,或让客户端在请求里携带 provider/model

- insert:
    - id: prompt-polish
      name: 'dsh-prompt-polish'
      config:
        provider: openrouter
        model: deepseek/deepseek-v4-flash-0731
        maxTokens: 2000
配置项 默认 说明
provider (取请求或留空) 润色所用 LLM provider
model (取请求或留空) 润色所用模型 id
maxTokens 2000 单次润色输出 token 上限

config 与请求都未提供 provider/model 时,请求会被拒绝(no model route available)。至少配其一,让润色始终有可用模型。

接口

POST /dsh-prompt-polish/polish(WebUI 服务端,仅同源)

{ "text": "..." }

返回:

{ "ok": true, "text": "改写后的提示词", "truncated": false, "provider": "...", "model": "..." }
  • text — 润色后的提示词。
  • truncated — 命中 token 上限时为 true;文本仍可用,仍会写回输入框。
  • 失败时:{ "error": "..." },HTTP 4xx

接口要求同源(Origin 必须等于 Host),防止跨站滥用。

架构

  • 服务端(src/index.ts — 注册 HTTP 路由,通过 ctx.llm.stream + BlockAssembler 流式润色并返回文本。依赖:@deepseek-ai/cordis@deepseek-ai/dsh-llm
  • 客户端(src/client/index.tsx — 在 conversation.input.right 槽位注册按钮,fetch 接口后通过 inputActions.setDraft 写回。样式自包含(注入单个 <style> 标签),浏览器 bundle 用纯 tsdown 配置即可构建。

两端均由 tsdown 构建。客户端 bundle 输出为 DSH 的 window.__ModuleLoader__.load({ id, factory }) 格式,并将 react / react/jsx-runtime 外置到浏览器模块表。

协议

MIT。见 LICENSE