Chuyển đến nội dung chính

dsh-prompt-polish

Đã xác minh

dsh-prompt-polish · v0.1.0 · MIT · Giao diện 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.

Cài đặt

dsh plugin add dsh-prompt-polish

Xác nhận layer đã áp bằng dsh --profile default --dump-config — xem hướng dẫn cài plugin.

Mã nguồn

Phát hành lên npm mà không có repository công khai. Hãy kiểm tra nội dung package trước khi cài.

Thẻ

Tác giả

Readme

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