Back to home@DIAG5

dsh-better-input

Better input experience for DeepSeek Harness : voice input, AI prompt polishing, PDF & image input.DeepSeek Harness输入体验增强:语音输入、AI提示词润色、PDF转md、图片输入。

Stars
1
Language
JavaScript
Created
Aug 20, 2026
Updated
Aug 20, 2026
GitHub repo

Introduction

dsh-better-input banner

🎤 dsh-better-input

给 DeepSeek Harness 的智能体换一副更顺手的「输入」。

开源输入体验增强插件 · BetterInput for your DeepSeek Harness agent

English · 简体中文

DSH Platform MIT Stars

💡 它解决什么? 与智能体对话,输入不该只有键盘打字。语音说出来、PDF 甩进来、提示词一键优化——把更多种「输入」变成与智能体顺畅交谈的方式。图片输入 DSH 原生已支持,BetterInput 专注把其余还没被官方覆盖的输入做得更好。这才是 BetterInput 的意义:不只是语音,是更好的输入。


✨ 目前已实现

模块说明
🎙️
语音输入
点击麦克风,边说边转写,文字实时流式进入输入框。浏览器原生识别,无需 API Key
🤖
AI 润色
识别后自动清理:去口头禅、修同音错字(根木鹿→根目录、脱肯→Token)、补标点、把口语列举转成编号列表。复用 dsh 已配置的模型,无需额外 Key
🐘
防覆盖保护
润色进行中你手动改了草稿,结果不会覆盖你的编辑;失败保留原文。
⏱️
录音自动停止
可自定义单次录音上限(1–600 秒),不占麦克风。
⚙️
可视化设置页
识别语言、录音时长、润色开关、润色模型、自定义提示词,全部在设置里配置;内置提示词可一键展开查看。

🗺️ 下一步(输入增强的方向)

BetterInput 的目标是成为一套完整的输入体验增强套件。语音只是开始,接下来围绕"让喂给智能体的每一个输入都更顺"逐步展开:

文字 & 提示词

  • 提示词优化 — 输入框旁点一个图标,AI 帮你润色/优化写好的提示词,让提问更能命中
  • 📝 提示词模板库 — 一键插入常用模板(写代码 / 总结 / 翻译 / 角色扮演…)
  • 🧹 文本清洗 — 粘贴乱码 / 带行号 / 时间戳的文本,自动整理成干净正文
  • 🔤 即时翻译 — 写中文一键转英文给 AI(或反之)
  • 📋 智能粘贴 — 粘贴自动识别是代码 / 表格 / URL / 引用,智能包裹成合适格式

媒体 & 文件

📷 图片输入:DSH rc.8 起已原生支持(粘贴 / 拖拽 / 选择文件),无需插件。BetterInput 专注官方尚未覆盖的方向。

  • 🧾 PDF 转结构化 — PDF → AI 友好的易读格式(Markdown / 纯文本)
  • 🎬 音视频转写 — 粘贴本地音视频文件 → 转成文字(语音输入的进阶)

效率 & 协作

  • ⏱️ 草稿恢复 — 上次没发完的草稿自动保存,随时恢复
  • 🧮 变量填充 — 输入框里用 {{日期}}{{当前目录}} 等变量自动替换
  • 📎 快捷输入流 — 日报 / 周报等固定模板一键发送

以上按主题规划,会持续迭代。有想法欢迎提 Issue / PR,一起把它做成更好的输入套件。

🚀 安装

前置:DeepSeek Harness>= 0.1.0-rc.6)+ Node.js ^22.19.0 || >=24.0.0 + Chrome/Edge 浏览器。

💡 两种方式,任选其一。 装过 dsh CLI 的用短命令;没装或不想全局安装的,用下方 npx 全称——不需要任何全局环境配置

方式 A:有全局 dsh CLI

# 从 GitHub 仓库安装
dsh plugin --profile web add github:DIAG5/dsh-better-input

# 卸载
dsh plugin --profile web remove dsh-better-input

方式 B:没有 dsh,或不想全局安装(npx 全称)

下面的命令用 npx 直接运行 dsh CLI,不写入全局环境,临时拉取即可用:

# 从 GitHub 仓库安装
npx -y @deepseek-ai/dsh plugin --profile web add github:DIAG5/dsh-better-input

# 卸载
npx -y @deepseek-ai/dsh plugin --profile web remove dsh-better-input

-y 表示自动确认下载;首次运行会拉取 dsh CLI,之后有 npx 缓存。

从源码安装(开发)

git clone https://github.com/DIAG5/dsh-better-input.git
cd dsh-better-input
npm install
npm run build
# 有全局 CLI:
dsh plugin --profile web add "$PWD"
# 没有全局 CLI:
npx -y @deepseek-ai/dsh plugin --profile web add "$PWD"

备选:不装依赖,写进 preset 的 cordis.yml

如果你已经在用某个 agent preset,只需要加一行(无需跑安装命令):

- insert:
    - id: dsh-better-input
      name: dsh-better-input

安装后刷新 Web UI,输入框右侧会出现麦克风图标 🎤。

📖 使用

1. 语音输入

  1. 打开任意对话,点击输入框右侧的麦克风按钮
  2. 开始说话,识别文字实时流入输入框
  3. 再点按钮(或识别条上的停止)结束
  4. 检查、修改、发送

识别完全在浏览器本地完成(Web Speech API),无需 API Key、无服务器往返。Firefox/Safari 不支持时按钮自动禁用。

2. AI 润色

设置 → BetterInput → 打开 AI 润色 → 选择一个 dsh 里已配置的模型。

内置提示词会:去口头禅、修 ASR 同音错字、补标点、把口语列举转成编号列表(如「第一…第二…」→ 1. 2.)。留空用内置提示词,点「查看内置提示词」可展开原文;或粘贴自定义提示词(总会追加输出契约保护,保证只返回正文、不答非所问)。

3. 设置

设置项说明
识别语言留空自动跟随浏览器语言(如 zh-CNen-US
单次录音上限1–600 秒,默认 120,到点自动停止
AI 润色开/关
润色模型选择 dsh 已配置的模型路由
自定义润色提示词可选,替换内置提示词

🧩 兼容性

  • DeepSeek Harness >= 0.1.0-rc.6
  • Node.js ^22.19.0 || >=24.0.0
  • Chromium 内核浏览器(Chrome / Edge)

🛠️ 开发

npm install
npm run check    # 类型检查
npm run build    # 构建 lib/(Host ESM + 浏览器 bundle)

改 Client 端:npm run dev:watch 后刷新 UI;改 Host 端:重启 dsh web。

🏗️ 架构

  • src/index.ts — Host 插件入口,挂载润色服务
  • src/polish/service.tsBetterInputPolishService(Typert remote):设置、dsh 模型路由发现、LLM 润色(复用 ctx.llm
  • src/client/ — 浏览器端:麦克风按钮(conversation.input.right)、识别条(conversation.input.dock)、设置页(settings.section
  • src/typert.ts / src/remote.ts — Client↔Host 类型化通信契约

📄 License

MIT


⭐ 支持

这个插件正在从「语音」走向「完整的输入增强套件」——觉得它值得期待?

  • 点个 Star ⭐(你的收藏就是持续迭代的动力)
  • 提交 Issue / PR
  • 分享给同样用 DSH 的朋友

感谢你的支持 ❤️