DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

wufeng0105 /

wufeng0105/dsh-draft-studio

Verified

Turn a half-formed draft in the composer into a prompt the AI can actually follow. Rewritten in place, one click, never sent.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@a15d3fe8

Draft Studio · 草稿工坊

输入框里那个想到一半的草稿,点一下,变成 AI 真能照着干的提示词。

不发送、不弹窗、不换页面——就在输入框里原地改写。不满意就点回去,或者 Ctrl+Z。


1. 它解决什么

你打字往往是一边想一边写:

帮我弄个爬虫抓豆瓣

这句话你自己知道要什么,但交给 AI 就会跑偏——它不知道抓哪些字段、要不要存库、频率多少、出错怎么办。你得多轮来回才能说清。

点一下这个按钮,同样一句话会变成:

用 Python 写一个抓豆瓣电影 Top250 的爬虫,输出字段包括片名、评分、简介、链接。要求:遵守 robots.txt,请求间隔不低于 2 秒,结果存为 JSON 文件。若页面结构变化导致解析失败,输出明确的错误信息而不是静默跳过。<技术栈候选:requests+BeautifulSoup / Playwright>

——目标、约束、输出格式、验收标准都在里面了。而且它不会替你选中任何你还没决定的事:草稿里没说的技术栈,它会列几个候选让你挑,而不是自己拍板。

为什么值得单独装一个

不用它 用它
提示词质量 取决于你当时写得多细 每次都补齐目标、约束、输出格式
来回沟通 常要追问两三轮 一次说清
会改你的原文吗 — 会,但你一键能还原

2. 它是怎么做的(够用就行,不必细看)

按钮点下去之后,它拿你的草稿(可选加上当前会话最近几轮发言,用来消解"刚才说的"这类指代)发给模型,要求模型只返回改写后的提示词,然后写回输入框。

  • 模型两档:跟着当前会话走(连思考强度一起跟随),或者在设置里固定一个。
  • 四套预设:通用 / 编程 / 写作 / 翻译。每套是一份完整、可编辑的系统提示词——觉得它改得不符合你口味,就直接改那套提示词。
  • 不发送:改完还是草稿,发不发、什么时候发,你说了算。

3. 安装 / 卸载

安装:DSH 插件页 → 添加插件 → 本地目录,指向本文件夹。

卸载:插件页 → 本插件 → 移除。只想暂时停用就关掉开关,不必卸载。


4. 用

4.1 按钮

草稿非空时出现在发送按钮左侧。四种状态循环:

状态 看到什么 点它会
空闲 一个图标 开始改写
运行中 「已用 N 秒」 取消
可回退 结果已写回 还原成原文
失败 悬停看原因 重试

等待期间你可以继续打字、切到别的会话、甚至直接发送:

  • 草稿已经变了,结果不会覆盖你的新内容,会保留着等你重试;
  • 切走再切回,请求不会断,状态还在;
  • 发送之后,转圈会自己停掉。

4.2 设置页

设置 → 草稿工坊:

  • 两个开关:总开关、是否读取会话上下文。
  • 预设下拉:选中哪套,下方编辑的就是哪套的提示词。
  • 提示词编辑:一份完整的系统提示词。清空并保存 = 恢复内置默认。
  • 模型来源:「跟随会话 / 固定模型」切换。固定时展开两个下拉——模型、思考强度。
  • 底部:左侧未保存项数,右侧放弃 / 保存。

5. 配置项

15 个字段,可在 cordis.patch.yml 的 config: 块或设置页改。改完即时生效——每次请求都重读配置。

字段 默认 说明
enabled true 总开关
preset general 当前预设(general / code / writing / translation)
promptGeneral / promptCode / promptWriting / promptTranslation 内置文本 每套预设的完整提示词
contextEnabled true 读取会话上下文
modelMode follow follow 或 fixed
provider / model 空 固定模型的 provider 与模型 id
reasoningEffort 空(模型默认) 固定模型的思考强度
maxOutputTokens 2000 单次输出上限
timeoutMs 180000 单次请求截止时间
contextMaxMessages / contextMaxChars 8 / 4000 上下文条数与字符预算

6. 边界(说在前面)

  • 命令芯片:草稿里含 / 命令标签(从 / 菜单认领的那种)时,结果可能写不回去——宿主没发布这类标签的坐标换算数据。原稿不会丢,结果会保留待重试;把那个标签删掉再点即可。@ 引用标签不受影响。
  • 手打的 /xxx 是普通文字,不是芯片,无影响。
  • 思考强度被拒:固定模型不支持所选档位时,自动按该模型默认强度重试——结果正常,只是强度覆盖失效。
  • 耗时取决于模型与强度:跟随模式会继承会话强度(会话是 Max 就跑满 Max)。要快要省,固定模型里选低强度或轻量模型。
  • 超时 180 秒;超时后草稿不变,可重试。
  • 不做:自动发送、多轮改写、模板库、历史记录、重启后的上下文回放。

7. DSH 升级后跑一下

DSH 每升一次版本,先跑这个,三十秒内知道插件还活着没有:

npm run self-check

四层验证:源码语法 → 清单契约 → 宿主运行时 → 端到端真打一次接口。任一失败会给出可操作提示并以退出码 1 结束;只想验证不花模型额度就加 -SkipLive。

DSH 大版本升级最可能坏在两处:engines.dsh 的预发布范围把新 rc 排除、以及官方库的声明方式变了——这两条脚本都会直接报出来。


8. 源码地图

纯 JavaScript,无构建、无 node_modules(依赖由宿主提供)。验证方式:node --check + self-check + 真机。

文件 职责
index.js 宿主半包:Config schema(15 字段全 volatile)、三级模型路由、上下文装配、generate(finish.kind 分派 + 预算翻倍重试 + 强度回退)、POST /dsh-draft-studio/refine(loopback + Origin + Content-Type 三重栅栏、1 MiB 上限、超时)
client.js 浏览器半包:按钮四态、insertText 写回(draftRev 守卫 + 芯片坐标折算)、一键回退、模块级任务注册表、设置页、中英文案
cordis.patch.yml 装载声明(一行 insert,entry id 全局唯一)
package.json dsh.bundle.patch + dsh.client;@deepseek-ai/schemastery 为 peerDependencies
locale/*.json 市场卡片元数据

改提示词文本看 index.js 的 PROMPT_BASE / PRESETS;改交互看 client.js 的 RefineControl;改模型路由看 index.js 的 resolveRoute;设置页控件看 client.js 的 SettingsSection。


9. 更多

  • 发布流程:RELEASE.md
  • 设计决定的原因、两次独立审计的结论、真机缺陷修复史:docs/PROJECT-NOTES.md
—/ 5

No ratings yet

Verified DSH bundle

Commit a15d3fe80ad8

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout