DSH 的 AI 原生文本编辑器:多标签、编码保留、选区/全文 AI 与 Diff 审阅、Markdown 预览及 Windows 文件关联。
安装
# Release 预构建包
dsh plugin --profile web add "https://github.com/JackWangSIA/dsh-ai-notepad/releases/latest/download/dsh-ai-notepad.tgz"
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:JackWangSIA/dsh-ai-notepad
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。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
English | 中文

这是什么
AI Notepad 不是完整的 IDE,也不是一个只支持 Markdown 的预览器。它把日常最常用的文本编辑能力做轻,再把 AI 放到真正有用的位置:只改你选中的内容,Diff 确认后才写入。
适合:
- 临时打开 TXT、LOG、JSON、YAML、CSV、配置文件;
- 写 Markdown、README、笔记和文档;
- 查看代码或日志,做局部 AI 润色、纠错、精简;
- 在 Windows 资源管理器里直接双击文本文件,进入 Harness 编辑。
功能
通用文本编辑
- 支持任意可识别为文本的文件,不只限于 TXT / Markdown。
- 多标签页、拖放打开、另存为、最近文件、查找、撤销/重做。
- UTF-8、UTF-8 BOM、UTF-16 LE/BE、GB18030/GBK、Windows-1252 自动识别。
- 保存时保留原始编码、BOM 和主导换行符。
- 二进制文件识别与保护。
- 保存前校验磁盘内容 SHA-256;文件被外部修改时拒绝静默覆盖。
选区 AI
选中文字后,可通过浮动工具栏、右键菜单或右侧 AI 面板执行:
- 精简
- 润色
- 扩写
- 重构
- 纠错
- 自定义要求
AI 只输出选中区域的替换文本;原文件不会被直接修改。修改会先进入 Diff 审阅,只有点击接受修改后才会进入编辑器,并且仍可 Ctrl+Z 撤销。
全文与批注
- 全文润色、全文精简、内容总结、逻辑梳理、生成标题。
- 对多个区域分别写批注,最后统一交给 AI 处理。
- 批量修改逐段校验原文,再以一个可撤销事务应用。
Markdown
- Markdown 预览,原始 HTML 会被转义。
Ctrl+E切换预览 / 编辑。- 双击预览区域直接回到编辑器。
外观
- 可搜索的系统字体选择器,带推荐字体、字体样例和实时排版预览。
- 字号 8–48px,
Ctrl+滚轮快速缩放。 - 行距、字重、自动换行、行号、Tab 宽度、浅色/深色主题。
- 设置持久保存。

Windows 文件关联
- 当前用户级注册,无需管理员权限。
- 注册
OpenWithProgids、RegisteredApplications和AI NotepadProgID。 - 通过轻量 VBS 启动器把文件写入队列并唤起 Harness。
- 已运行 DSH 时优先在现有窗口打开,不重复启动实例。
- 支持关联状态、注册、移除和恢复。
- 受 Windows
UserChoice保护,无法静默强制成为默认程序;注册后需在“打开方式”中手动选择一次“始终使用”。
快捷键
| 快捷键 | 操作 |
|---|---|
Ctrl+S / Ctrl+Shift+S |
保存 / 另存为 |
Ctrl+Z / Ctrl+Y |
撤销 / 重做 |
Ctrl+F |
查找 |
Ctrl+E |
切换 Markdown 预览 / 编辑 |
Ctrl+滚轮、Ctrl+=、Ctrl+-、Ctrl+0 |
放大 / 缩小 / 恢复字号 |
Ctrl+Alt+1..4 |
选区精简 / 润色 / 扩写 / 纠错 |
Ctrl+Alt+B |
加入批注 |
Ctrl+Alt+N |
从主界面切换到 AI Notepad |
安装
从插件市场
市场条目上线后,可在 DSH 的 插件 / Discover 中搜索 AI Notepad。市场条目使用 GitHub Release 的稳定 tarball,不需要 npm 账号。
从 GitHub 安装
dsh plugin --profile web add JackWangSIA/dsh-ai-notepad
预构建包:
https://github.com/JackWangSIA/dsh-ai-notepad/releases/latest/download/dsh-ai-notepad.tgz
如果之后发布到 npm,也可以使用 dsh plugin --profile web add dsh-ai-notepad。
桌面端建议通过侧栏 插件 → 添加插件 使用仓库地址;Desktop profile 由桌面应用管理,不建议直接运行 CLI 修改 desktop profile。
本地开发
$node = "$env:USERPROFILE\.dsh\dsh-runtimes\dsh-primary-runtime\dependencies\node\bin\node.exe"
$pnpm = "$env:USERPROFILE\.dsh\dsh-runtimes\dsh-primary-runtime\dependencies\pnpm\bin\pnpm.mjs"
& $node $pnpm install --ignore-scripts
& $node scripts/build.mjs
& $node --test test/*.test.mjs
然后用 Harness 的 plugin_manager install_bundle 安装本目录。
架构
lib/index.js— Host:文件 I/O、编码、Hash 冲突保护、LLM 路由、Windows 注册表、文件队列、原生选择器。src/— Client:app.jsx页面、editor.jsxCodeMirror、store.js状态、diff.js/markdown.js。lib/client.js— 构建后的经典 ModuleLoader bundle;React 由 Harness 页面提供。lib/scripts/— Windows 文件选择器、字体枚举、外部文件启动器。scripts/build.mjs— esbuild 构建并注入版本/构建时间。test/— Host 路由、编码、VBS→inbox、AI、批注、客户端加载与 SSR 测试。
限制与安全
- 单文件读取上限 16 MiB。
- 单次全文 AI 上下文约 120k 字符,超长文档会省略中间上下文。
- 预览是快速阅读模式,不是 WYSIWYG 富文本编辑器。
- AI 请求复用 Harness 当前模型路由,不额外保存 API Key;发送内容受该模型提供方策略约束。
- Windows 默认应用受
UserChoice哈希保护,插件不会伪造系统默认值。 - 文件读写和二进制保护说明见 SECURITY.md。
开发与发布
pnpm install --ignore-scripts
pnpm run build
pnpm test
发布流程见 CHANGELOG.md 与 GitHub Actions:
ci.yml:每次 push / PR 构建并测试。release.yml:推送v*tag 后构建、打包、发布 npm,并创建 GitHub Release。
许可
MIT © 2026 Wang Heran
链接
同类插件
tt-a1i/archify#integrations/deepseek-harness★ 92724
从仓库或系统描述生成经过校验的自包含交互式架构图、流程图、时序图、数据流图和生命周期图。
dream-num/dsh-univer-office★ 657
为 DeepSeek Harness 打造一个真正的办公环境。Univer Office 插件将电子表格、文档、幻灯片、画布、多维表格等汇聚到同一个运行时——数据互联、修改经过校验、变更按版本管理,并以隔离工作树支持多 Agent 协作。
ECNU/EduWork#dsh-knowledge-studio★ 275
基于工作区资料的 Studio,复用 DSH 模型与共享成果服务,制作报告、演示文稿、表格、思维导图、测验、闪卡及音视频。Office 生成需 Python 3.12+ 及相关依赖,并配置 DSH_OFFICE_PYTHON;媒体渲染需 Chromium;本地语音转写另需 whisper.cpp 和模型。
PerryLink/dsh-industry-research★ 215
面向 DeepSeek Harness 的确定性行业研究报告:公司与行业研究流程基于分阶段证据产出结构化、可核验的报告。
HuanLinOTO/dsh-plugin-mineru★ 51
向模型暴露 MineRU 文档解析工具。
PolinniZhong/dsh-knit★ 48
把会话工作区里已有的 Markdown 文档、源码、图片与视频列进 DSH 侧边栏,按与当前对话的相关性排序。默认的词法模式用最近几条消息在本地与标题、摘要、正文做带 IDF 加权的匹配(BM25)—— 不调用模型、没有网络出口,内容不出本机。列表来自工作区扫描,而不是「最近打开记录」,所以重启 DSH 或新开会话都不会变空。排序结果组织成主要 / 辅助 / 相关三层的阅读顺序,每一条都写明可核验的理由(命中了哪个字段、被哪一篇引用),点一行即可就地预览:Markdown 按渲染后的样子显示、相对路径图片真实渲染、源码走宿主自带的语法高亮、视频走 HTTP Range 流式播放。同一份 Context Pack 也作为 knit_docs 工具交给 agent。后续版本陆续补上读取证据与生命周期(归因在读那一刻冻结)、固定 / 排除(排除先于检索生效,且可恢复)、关系证据(引用 / 导入 / 测试,带行号)与增量索引(重启后复用)。v0.23 起还多一条可选的混合检索:默认关闭,只有你自己配好 Ollama 或 OpenAI 兼容的 embedding 服务才会生效。它生效时,发出去的是你这句查询原话加上每篇候选文件的标题与摘要 —— Markdown 的摘要取自正文首段(不超过 60 字),代码的摘要是它所在的工作区相对目录,图片 / 视频贡献的是文件名;完整正文与绝对路径都不发送,指向本机服务(loopback)时内容不出这台机器。v0.24 起还能做变更关联:用一条只读的 git status(固定 argv、不走 shell、子进程环境白名单),配合同一套引用 / 导入 / 测试 / 提及证据,指出这次改动大概率该一起看哪些文件 —— 默认关闭。语义检索的收益仍待真 provider 实测,因此不承诺召回提升。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。