DeepSHPlugins
dsh-prompt-optimizer 项目预览
GITHUB / COMMUNITY PROJECT

dsh-prompt-optimizer

UI 增强JavaScriptMIT

在输入框新增图标按钮,一键调用当前模型把提示词优化得更清晰具体。

3 Starswmengxiang 更新时间 2026-09-10
访问 GitHub 仓库
dsh-prompt-optimizer 项目预览

项目介绍

中文

在输入框新增图标按钮,一键调用当前模型把提示词优化得更清晰具体。

English

Adds an icon button to the composer that optimizes the current draft prompt through the active model.

项目信息与收录信号

快照 2026-09-11
作者 / 组织
wmengxiang
仓库
wmengxiang/dsh-prompt-optimizer
GitHub Stars
3
Forks
0
开发语言
JavaScript
许可证
MIT
最近推送
2026-09-10
Manifest
数据中检测到声明

公开仓库不自动等于可商用;许可证与当前兼容性以原项目文档为准。Manifest 和数据评分不构成安装安全认证。

数据评分

63/ 100
维护活跃
100
文档与实用信息
100
生态关注度
17
安装便捷信号
100
项目声明信号
100

近 1 天仍在更新;README 含完整安装与使用说明;关注度尚低(3)。

评分来自已有数据快照的五维模型,仅作浏览参考,不是实际使用评测或安全检测结论。

安装与使用

所有项目资料与许可均以对应 GitHub 仓库为准。

dsh plugin --profile web add github:wmengxiang/dsh-prompt-optimizer

复制命令不会自动执行。请先阅读仓库文档,确认环境要求与许可证。

项目截图

仓库 README

GitHub 原文

已保存的仓库文档快照;文档抓取时间未记录,可能与上方目录介绍处于不同版本。安装前请核对当前仓库说明。

dsh-prompt-optimizer

一个 DeepSeek Harness(DSH)Web 插件:在输入框工具行新增一个 ✨ 图标按钮,点击后调用当前激活模型,把输入框里的提示词优化得更清晰、更具体,并自动回填。

核心功能封装为可复用、可持久化的 DSH Web 插件包,随组合(composition)挂载后即可随部署自动加载。

功能特性

  • 一键优化提示词:点击 ✨ 按钮,将当前草稿改写为更适合 AI 编程助手的高质量提示词;
  • 保留意图与语言:只做清晰化、具体化改写,不改变原任务意图与语言;
  • 图标按钮 + 悬停提示:界面不显示说明文字,仅在鼠标悬停时显示「优化提示词」;
  • 进度反馈:优化过程中按钮切换为旋转加载圈,并在按钮底部显示滑动进度条;
  • 空内容保护:输入框为空时按钮自动置灰,避免误触发;
  • 流式生成:Host 端通过 ctx.llm.stream 流式读取模型输出,再统一回填。

目录结构

dsh-prompt-optimizer/
├── package.json        # 包元信息 + dsh.bundle / dsh.client 清单
├── cordis.patch.yml    # 组合补丁:向组合挂载本插件
├── lib/
│   ├── index.js        # Host 半:注册 /api/prompt-optimizer 数据路由
│   └── client.js       # Client 半:__ModuleLoader__ 图标按钮 UI
├── LICENSE             # MIT
└── README.md

工作原理

  • Host 半(lib/index.js):导出 Cordis 插件,inject 依赖 webServer、llm、agentDefaultModel,注册精确路由 POST /api/prompt-optimizer。收到 { text } 后读取当前默认模型(agentDefaultModel.currentSelection()),组装优化提示词,通过 ctx.llm.stream 流式生成并返回 { optimized }。
  • Client 半(lib/client.js):通过 window.__ModuleLoader__.load 注册,apply 时向 conversation.input.left 槽位注入图标按钮,读取草稿(props.input.draft)、调用接口、再写回(props.inputActions.setDraft)。

安装步骤

方式一:本地路径安装(已验证,无需网络 / SSH)

dsh plugin --profile web add "file:/绝对路径/to/dsh-prompt-optimizer"

dsh plugin add 会自动完成两步:把包写入 profile 的 dependencies,并注册进 dsh.profile.bundles。重启对应 profile 的 Web 界面后,插件即随组合自动加载,无需每次手动激活。

方式二:从 GitHub 安装

dsh plugin --profile web add "github:<owner>/dsh-prompt-optimizer#main"
⚠️ 注意:pnpm 对 github: 源走 SSH(git+ssh://[email protected]/...),要求本机已配置 GitHub SSH 密钥。没有 SSH 密钥时会报 Permission denied (publickey),此时请改用方式一(本地路径)。也可以先把仓库发布到 npm 再用 dsh plugin --profile web add dsh-prompt-optimizer 安装。

方式三:手动接入组合

在目标 profile 的 package.json 中把本包加入 dependencies 与 dsh.profile.bundles,然后运行 dsh plugin --profile web install 并重启。

方式四:动态插件(临时试用,不持久化)

仅用于临时验证、重启即失效:

  1. 打开 DSH Web 的 Cordis 插件开发能力;
  2. 分别把 lib/index.js(Host)与 lib/client.js(Client)的 apply 逻辑封装为动态 Package;
  3. 运行并批准。

使用说明

  1. 在输入框输入一段提示词;
  2. 点击输入框工具行左侧的 ✨ 图标按钮;
  3. 按钮进入加载状态(旋转图标 + 底部进度条);
  4. 完成后,优化后的提示词自动替换输入框内容;
  5. 将鼠标悬停在按钮上可查看说明文字。

常见问题 (FAQ)

  • 按钮为什么是灰色的? 输入框为空时按钮会自动置灰(disabled),避免对空内容发起优化请求;输入内容后即可点击。
  • 优化用的是哪个模型? 使用当前激活的默认模型(agentDefaultModel.currentSelection());在界面上切换模型即可改变优化所用的模型。
  • 为什么 dsh plugin add "github:..." 报 Permission denied (publickey)? pnpm 对 github: 源默认走 SSH。请改用本地路径安装,或先配置 GitHub SSH 密钥,或发布到 npm 后按包名安装(见上文「安装步骤」)。
  • 优化会改变提示词的原意吗? 不会。系统提示要求只做清晰化、具体化改写,保留原任务意图与语言。

贡献指南

欢迎提交 Issue 与 Pull Request。

  • 代码风格:普通 JavaScript(ESM),不使用 TypeScript/JSX 转译;
  • Host/Client 约定:Host 半导出 name / inject / apply;Client 半通过 __ModuleLoader__.load 注册并返回 { inject, apply };
  • 副作用可逆:所有注册(路由、槽位、样式)都通过 ctx.effect / slots.inject 等生命周期 API 挂载,随插件卸载自动清理;
  • 数据最小化:跨端只传递 JSON 标量,不序列化运行时对象;
  • 提交前自检:node --check lib/index.js 校验 Host 语法;确认 cordis.patch.yml 的 insert 条目与包名一致。

开发流程

  1. Fork 本仓库并克隆到本地;
  2. 修改 lib/ 下的 Host/Client 代码;
  3. 本地链接到 DSH profile 验证 UI 与接口行为;
  4. 提交 PR,附上改动说明与截图(如有)。

许可证

MIT

使用前核对

安装步骤、兼容版本与授权范围以原项目当前文档为准。Stars 和评分是快照中的导航信号。

安装与排错 · 项目问题反馈

同类项目