🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

提示词增强 YiKangMo/dsh-prompt-enhancer

DeepSeek 客户端
YiKangMo12 天前有提交已提供中文文档扫描:未发现敏感能力兼容 / 相关生态

一键把草稿改写成结构化提示词,可回退

29.8/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/YiKangMo/dsh-prompt-enhancer.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 12 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeek Harness 的「增强提示词」按钮:一次辅助 LLM 调用把草稿改写成结构化提示词,支持加载态、失败重试与一键回退。Prompt enhancer button for DeepSeek Harness.

README

由 DeepSeek 最新模型翻译生成
dsh-prompt-enhancer DeepSeek Harness 的「增强提示词」按钮:输入框工具行加一个四角星,一次辅助 LLM 调用把当前草稿改写成结构化提示词,支持加载态、失败提示与一键回退。 A composer toolbar button for DeepSeek Harness that rewrites the current draft into a structured prompt via one auxiliary LLM call, with one-click revert. 行为与提示词逆向自 CodeBuddy CN 4.12.2 的「增强提示词」,细节见 docs/REVERSE-ENGINEERING.md。 快速开始 前置:Node.js ≥ 22、npm i -g @deepseek-ai/dsh(dsh --version 可用)。
展开完整文档(README 剩余 1 节)
dsh-prompt-enhancer

DeepSeek Harness 的「增强提示词」按钮:输入框工具行加一个四角星,一次辅助 LLM 调用把当前草稿改写成结构化提示词,支持加载态、失败提示与一键回退。

A composer toolbar button for DeepSeek Harness that rewrites the current draft into a structured prompt via one auxiliary LLM call, with one-click revert.

行为与提示词逆向自 CodeBuddy CN 4.12.2 的「增强提示词」,细节见 docs/REVERSE-ENGINEERING.md。

快速开始

前置:Node.js ≥ 22、npm i -g @deepseek-ai/dsh(dsh --version 可用)。

从 GitHub 安装(推荐)

dsh plugin --profile web add github:YiKangMo/dsh-prompt-enhancer
钉住版本(建议)
dsh plugin --profile web add github:YiKangMo/dsh-prompt-enhancer#v1.0.0

dsh plugin 会把参数转发给 profile 目录里的 pnpm。装完确认插件已进入 profile 的 bundles 列表:

(Get-Content "$HOME\.dsh\profiles\web\package.json" -Raw | ConvertFrom-Json).dsh.profile.bundles

列表里出现 dsh-prompt-enhancer 后重启 dsh web 生效;若只是装进了 node_modules 而 bundles 里没有它,把包名追加进 dsh.profile.bundles 再重启。

从本地目录安装

git clone https://github.com/YiKangMo/dsh-prompt-enhancer
cd dsh-prompt-enhancer
pwsh -File install.ps1 # 默认装进 web,可加 -Profile tui 没装 PowerShell 7 的机器用自带 Windows PowerShell: powershell -NoProfile -ExecutionPolicy Bypass -File install.ps1

等价手动命令:

dsh plugin --profile web add "<插件目录绝对路径>"

生效自检

Harness 需正在运行 Invoke-WebRequest http://127.0.0.1:3080/prompt-enhancer/health -UseBasicParsing {"ok":true,"plugin":"dsh-prompt-enhancer"}

卸载

dsh plugin --profile web remove dsh-prompt-enhancer

使用

输入框工具行左侧(权限 / 计划 chip 之后、模型选择器之前)会出现一个四角星按钮:

| 状态 | 图标 | 点击行为 |
| 草稿为空 | 四角星(半透明禁用) | 无 |
| 有草稿 | 四角星 | 调 LLM 增强,结果写回编辑器 |
| 增强完成 | 逆时针箭头 ↶ | 回退到增强前的原文 |
| 请求中 | 旋转圆弧 | 无 |
| 请求失败 | 四角星(变红) | 重试;悬停可见错误原因 |

增强后若继续手动编辑,回退能力自动放弃,避免覆盖新输入。

工作方式

sequenceDiagram
participant U as 用户 participant C as 浏览器半边 client/client.js participant H as 宿主半边 lib/index.js participant M as ctx.llm.stream() U->>C: 点击四角星 C->>H: POST /prompt-enhancer/enhance { draft } H->>M: 辅助模型调用(system + user 模板)
M-->>H: text-delta 流
H-->>C: { text, provider, model }
C->>U: 写回编辑器,按钮变 ↶ 可回退

为什么是 dual-face 包

DSH 的客户端 Remote 面(ctx.remote.)只暴露 llm/discoverModels、llm/listConfigurableProviders、llm/listProviders,没有补全入口;ctx.llm.stream() 只存在于宿主进程。所以插件必须两半协作:浏览器负责 UI 与草稿读写,宿主负责真实模型调用。

宿主半边 lib/index.js

- 注册两条 exact 路由:/prompt-enhancer/enhance(POST)与 /prompt-enhancer/health(GET)。
- 模型路由解析沿用 CodeBuddy 的优先级:请求显式指定 > ctx.agentDefaultModel.currentSelection()。
- 手工聚合 ctx.llm.stream() 的 text-delta,并识别 finish 原因(stop / max-tokens / tool-calls / aborted / error),转成可读错误。
- 结果 trim 后剥掉首尾成对引号(含中英文弯引号)。
- 只接受回环 Host;非回环返回 403,防 DNS rebinding。
- 120 秒超时,AbortController 中止。
- 每个 webServer.register 各包一层 host.effect,服务替换或 fiber 卸载时按序撤销。

浏览器半边 client/client.js

手写 bundle,免构建——契约不要求 tsdown:

window.__ModuleLoader__.load({
id: "dsh-prompt-enhancer",
factory: (require) => { / ... / return module.exports },
})

- id 必须等于包名;factory(require) 返回 exports。
- require 只允许平台基线表:react、react/jsx-runtime、react-dom、react-dom/client、@deepseek-ai/cordis、dsh-client-store、dsh-client-ui-slots、dsh-client-ui-primitives、dsh-client-ui-dockkit。本插件只用 react。
- 导出的 Cordis 插件面:inject = ['slots', 'locale'] 与 apply(ctx)。
- CSS 用官方同款形态内联为字符串,在 factory 里注入 。

UI 落点

conversation.input.left —— composer 工具行左侧的 list 槽,定义在 dsh-client-ui-conversation/lib/types/client/contract/slots.d.ts:

/* Compact controls at the left of the composer tool row. */
'conversation.input.left': { kind: 'list'; scope: 'session' };

该槽 replaceRisk: "none",可安全追加。组件从 slot 框架获得 session 标准套件:useInput(InputState 选择器)、inputActions(setDraft 等),外加 locale 声明带来的 t。

验证

三层离线契约测试 + 一层真机端到端,共 52 项断言,零运行时依赖(只用 node 内建模块):

npm test # host 7 + client 28 + manifest 17
node test/host.spec.mjs # 宿主半边:路由、拒绝路径、终止原因
node test/client.spec.mjs # 浏览器半边:注册、渲染、增强、回退、失败
node test/manifest.spec.mjs # 清单契约:dsh 声明、bundle 落盘、require 基线
node test/e2e.spec.mjs # 真机端到端,需要 dsh web 正在运行

CI 在 ubuntu / windows × node 22 / 24 上跑前三个(见 .github/workflows/ci.yml)。

已验证的真实行为

- GET /prompt-enhancer/health → {"ok":true,"plugin":"dsh-prompt-enhancer"}
- POST /prompt-enhancer/enhance → 真实 LLM 返回增强文本
- bundle 经 /plugins 路由真实服务(combo URL + rev 元数据哈希),已进入 window.__DSH_BOOT__ entries
- 实机浏览器:按钮渲染在 conversation.input.left,空草稿 disabled;填入草稿点击后进入 正在增强… 加载态并自禁用,编辑器内容被替换后按钮变为回退箭头

语言一致性

提示词把语言匹配列为最高优先级。实测三种输入:

| 输入 | 输出语言 | 结果 |
| 帮我整理一下上周的会议纪要 | 全中文 | ✓ |
| summarize this function | 全英文 | ✓ |
| 这段代码有bug,can you help me fix it? | 中英混合 | ✓ |

提示词出处

两块模板逐字取自 CodeBuddy CN 4.12.2:

- DEFAULT_ENHANCE_PROMPT_SYSTEM_TEMPLATE(genie 扩展 out/extension/index.js 模块 599240)
- DEFAULT_ENHANCE_PROMPT_USER_TEMPLATE(同模块,{input} 由草稿替换)

调用链:EnhancePromptServiceImpl.generate() → agentDispatcher.dispatch({ agent: 'enhance prompt' }) → EnhancePromptInvokableAgent.call() → TencentChatModel.stream(),headers 带 AGENT_INTENT: enhance-prompt。

唯一改动:输出长度上限从「约 800 字符」放宽到「约 1200 字符」,因为 DSH 会话常含路径与代码标识符。其余(五条禁令、语言一致性六条、两个 few-shot 示例)保持原样。模板内联在 lib/index.js 顶部,可直接编辑。

目录结构

dsh-prompt-enhancer/
├── package.json dsh.bundle.patch + dsh.client.platform=web
├── cordis.patch.yml - insert:把自身挂进配置档层栈 ├── install.ps1 一键安装脚本(不假设绝对路径) ├── lib/index.js 宿主半边:HTTP 路由 + ctx.llm.stream() ├── client/client.js 浏览器半边:手写 bundle,注册 composer 按钮 ├── docs/ 逆向报告、CodeBuddy 提示词原文、迁移说明 ├── test/ 三层离线契约 + 真机端到端 ├── .github/workflows/ CI └── README.md

发布到 npm(可选)

当前 package.json 保留 "private": true,防止误发布;dsh plugin add github:... 不受影响。要发 npm 时:

删掉 package.json 的 "private": true,然后
npm login
npm publish --access public

发布后安装命令变为 dsh plugin --profile web add dsh-prompt-enhancer。

维护者:发布流程

必须在你自己的交互式终端里跑(首次推送会弹 Git Credential Manager 登录窗口) powershell -NoProfile -ExecutionPolicy Bypass -File scripts\publish.ps1 -Release

脚本会:校验本地仓库 → 对齐 origin → 检查远端仓库是否存在(缺失时用 gh 建仓,没装 gh 就打开建仓页面)→ 推送分支与 tag → 用 gh 发 Release 并上传 zip。远端仓库已存在且 gh 已登录时,全程可无人值守。

参与

- 改动前先跑 npm test,提交需保持 52 项断言全绿。
- 新增 UI 行为请同时补 test/client.spec.mjs 的断言。
- 客户端半边只用基线 require 表里的模块,否则页面加载会失败。

License

MIT © 2026 YG
预览分享卡片长什么样 ↓YiKangMo/dsh-prompt-enhancer
分享 · DeepSeek Harness Hub
YiKangMo/dsh-prompt-enhancer

一键把草稿改写成结构化提示词,可回退

这是你的仓库?认领条目

回到顶部