dsh-prompt-polish
Verifieddsh-prompt-polish · v0.1.0 · MIT · Web UI
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.
Install
dsh plugin add dsh-prompt-polish Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Published to npm without a public repository. Inspect the package contents before installing.
Tags
Creators
Readme
dsh-prompt-polish
DeepSeek Harness WebUI 插件:在输入框工具栏右端加一个 ✨ 润色 按钮,一键把粗糙、零散的输入扩写为结构清晰、可直接使用的专业提示词,并写回输入框。
功能
- 在输入框里写下粗略需求。
- 点击右端 ✨ 润色。
- 插件调用你配置的 LLM(默认 DeepSeek)把需求改写为清晰、可执行的提示词。
- 润色稿替换原草稿。你审阅后再正常发送。
润色不自动发送,可先审阅、可再改。
安装
若你的 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": "..." },HTTP4xx。
接口要求同源(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。