你只管正常打字,停下约两秒,它就把你刚写的话自动改写成更容易得到好答案的样子;贴进来的代码、网址、长文原样不动,一次问几件事也一件不漏、排好顺序。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-input-rewriter
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:feiertu/dsh-input-rewriter
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
一个 DeepSeek Harness(dsh)插件:帮你把问题问得更好,而且是全自动的。
你正常打字就行。停下来约 2 秒,它就悄悄把你刚才的话改写成更容易得到好答案的样子,直接显示在输入框上方。你不用点任何按钮,也不用学什么「提问技巧」。
它能帮你做什么
- 全自动,零打扰:停止输入约 2 秒就改写,不用点任何按钮。你接着改,它就接着更新,不会把过期的旧结果发出去。
- 你贴的代码、网址、长文本,一律原样保留:它会自动认出问题里「不该乱动」的部分——代码、网址、一大段数据——只改写你真正「提问」的部分,绝不动你的原文,省得 AI 答非所问。
- 看得懂你在问什么:它能判断你问的是生活、工作、学习、写代码、写作、安全还是别的,然后套用对应的套路,帮你补全目标、结构和要求。
- 一次问好几件事,一件都不漏:多个问题会一个个帮你保留、编号、排好顺序,只补说明,绝不把你的意思改没。
- 不碰你的秘密:它只记住你「选了哪个模型」,从来不接触你的密钥、密码。
怎么安装
先确认你电脑上已经装好了 dsh:打开终端,输入 dsh --version,能看到版本号就说明装好了。
然后,复制下面这一行,粘贴到终端里,回车:
dsh plugin --profile web add dsh-input-rewriter
看到命令最后出现 Done,就说明装好了。
如果上面这行报错装不上,就用这一行代替:
dsh plugin --profile web add github:feiertu/dsh-input-rewriter
装完怎么用
- 重启
dsh web。 - 刷新浏览器页面。
- 完事。以后你打字停下约 2 秒,输入框上方就会出现改写好的版本。
如果一直没反应,多半是还没选「改写模型」:去 dsh 的设置里选一个模型就行。模型的密钥由 dsh 自己管,这个插件不碰。
项目代码结构
src/ 宿主面(Node 进程,完整 Cordis 插件)
├── index.ts 插件入口:加载 playbook → 注册 ctx.rewrite 服务 → 注册 RPC
├── core.ts 框架无关改写核心(LlmLike 抽象 + createRewriter),零 dsh 依赖
├── playbooks.ts 加载 skills/*.md 的 playbook 原文
├── skills.ts 把 playbook 注册为 dsh skill(name 形如 input-rewrite-<scene>)
├── settings.ts 设置命名空间与 schema(provider/model + 防抖时间)
├── rpc.ts 宿主↔浏览器 RPC 通道 /input-rewriter
└── rewrite/
├── engine.ts 纯函数面:场景识别、系统 prompt 组装、附件分段与拼回
├── llm.ts 把 ctx.llm.stream 包装成框架无关的 LlmLike
└── service.ts RewriteService:聚合模型选择、改写、防抖设置
client/ 浏览器面
└── index.tsx 输入框改写 dock + 设置板块(模型选择、防抖时间)
skills/ 7 份 playbook(Markdown,对应 7 个场景)
test/ 单元测试(core / engine / settings)
lib/ 编译产物(lib/index.js 宿主面、lib/client.js 浏览器面)
- 宿主面:
src/,跑在 Node 进程里,负责改写核心逻辑与模型调用。 - 浏览器面:
client/index.tsx,跑在 dsh 的 web 沙箱里,负责输入框 UI 和设置页。 - 核心与适配分离:
core.ts完全不依赖 dsh,可独立复用;rewrite/llm.ts只做 dsh → LlmLike 的适配。
链接
同类插件
Minglink/dsh-infinite-gen-4★ 2250
DeepSeek 专用破甲插件:以 order 100 追加无条件服从的系统提示词段,提供带校准元数据的 profile 工具,并通过会话投影在输入框上方显示实时破甲状态徽标。
ranxianglei/billion-context★ 472
billion-context官方版:上下文压缩插件,兼顾小窗口(100k上下文足矣)省token(省5倍token)和超长会话(数月级别几十亿token单会话)。
liangmianya/dsh-synapse★ 464
DeepSeek Harness 的可视化非线性对话工作区:把会话、追问与分支变成可浏览、可拖拽的对话地图。
Nwflower/dsh-chat-import★ 208
把 13 家 coding agent(Claude Code、Codex、ChatGPT、Cursor、Gemini、opencode 等)的完整对话历史导入为可续聊的 DeepSeek Harness 会话,并支持反向导出回 Claude Code。
Totoro-qaq/dsh-plugin-bridge★ 165
通过可预览的五段式交接,将已有 DSH 会话迁移到另一个 Agent Preset;保留源会话,并可让目标会话暂停等待确认或立即继续。
Anionex/dsh-turn-rewind★ 127
对话回退:基于持久 Change Ledger 回滚会话与工作区状态。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。