Skip to content
dsh.fish
Bundle

dsh-prompt-forge

DSH 提示词锻炉:零配置流式优化(复用会话模型)+ 轻量词库(JSON 文件)+ 一键存技能。Prompt Forge: zero-config streaming optimization + file-based prompt library + one-click skills.

Source
nina27486486
License
MIT
Updated
Updated yesterday

Readme

# dsh-prompt-forge ⚒ 点词成金

DeepSeek Harness 提示词锻炉「点词成金」:零配置流式优化 + 文件词库 + 一键存技能。
取「点石成金」之意——把烂草稿锻成好提示词。
一个刻意保持小体量的原生 dsh 插件(宿主 + 客户端 ≈ 700 行,零运行时依赖)。

## 功能

- **⚒ 一键优化**:输入框草稿 → 点 ⚒(或卡片内切模式)→ SSE 流式输出,推理过程可见
  - 三档模式:**轻量**(单句润色)/ **标准**(结构化改写)/ **专家**(任务推断 + 输出契约 + {{变量}} 占位)
  - **零配置**:直接复用当前会话模型(`agentDefaultModel` + `llm.stream`),无需任何 API Key 配置
- **动作**:替换草稿 / 撤回(恢复优化前草稿)/ 复制 / 重新优化
- **词库**:纯 JSON 文件存储(`$DSH_HOME/prompt-forge/prompts.json`),可直接编辑、可进 git;
  卡片内「词库」tab 浏览,点击条目插入输入框;记录使用次数与标签
- **存为技能**:优化满意的结果一键写成 dsh 技能(`$DSH_HOME/skills/forge-<slug>/SKILL.md`),
  之后用 `/forge-<slug>` 触发

## 安装(自包含部署内)

```bash
# 目录名带空格时,先建无空格联接(dsh plugin 转发器按空格拆参会切断路径)
cmd /c mklink /J D:\prompt-forge-dev "D:\deepseek harness\plugins\dsh-prompt-forge"
./dsh.sh plugin --profile web add D:/prompt-forge-dev   # pnpm 以 link 模式安装,改源码重启即生效
# 重启 dsh web
```

## 设计取舍(对比社区三个同类插件)

| 取舍 | 理由 |
|---|---|
| 零配置会话模型(来自 optimizer) | 免 Key 免填端点,默认路径零摩擦 |
| 三档模式(来自 enhancer) | 一键单模式不够,记忆链/模型链复杂度不值 |
| #快插 + {{变量}} + 转技能(来自 prompt-library) | 管理侧精华;SQLite 换成纯 JSON 文件:可审计、可同步、无锁 |
| 无遥测、无 CDN、无自更新、无原生编译 | 供应链面清零;更新走 npm/重装 |
| 全路径遵循 DSH_HOME | 数据全部落在自包含部署文件夹内 |

## 数据落点

| 内容 | 位置 |
|---|---|
| 词库 | `$DSH_HOME/prompt-forge/prompts.json` |
| 生成的技能 | `$DSH_HOME/skills/forge-*/SKILL.md` |

## 已知边界

- 优化质量取决于当前会话模型;API Key 无效时错误会流式显示在卡片里
- 草稿读写走 composer DOM(原生 setter + input 事件),与官方渲染器的 textarea 实现耦合;
  渲染器大改时需同步调整 `findComposer()`
- 0.1.1-rc.2 的槽位契约是旧形态(`{session, input}` props);升级到 ≥0.1.2-rc.1 的宿主时
  需按新契约(`sessionId` + hooks)适配

Install

dsh plugin --profile web add github:nina27486486/dsh-prompt-forge

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source