AI Notepad:DSH 上的輕量通用 AI 文本編輯器

前言

在 DeepSeek Harness(DSH)裏做智能體或插件開發時,經常要在 Web UI 裏改配置、日誌、Markdown 說明或純文本產物。瀏覽器裏臨時粘貼可以應付一次兩次,但缺少穩定的打開/保存、編碼與換行處理,以及「選中一段再讓模型改、改完先看 diff 再落盤」這類工作流。AI Notepad 是 DSH 的一款客戶端插件,把 Harness Web UI 擴展成輕量、通用的 AI 原生文本編輯器,並在 Windows 上支持通過文件關聯從資源管理器打開文本文件。

這是什麼

AI Notepad(倉庫 JackWangSIA/dsh-ai-notepad)由 JackWangSIA 維護,分類爲客戶端插件。定位是:面向 DeepSeek Harness 的輕量通用文本編輯,疊加選區/全文 AI、diff 審閱、Markdown 預覽,以及 Windows 側真實的文件關聯註冊。插件 Host 側提供 /api/ai-notepad/* 路由與有界文件 I/O;Client 側以 CodeMirror 6 爲主編輯面,React 構建 UI。

核心功能

下面按 README 已列能力歸納,均爲插件當前聲明支持的行爲。

本地文件編輯

  1. 通過 Windows 原生文件選擇器打開、編輯、保存與另存爲任意文本文件,或將文件拖入編輯器。
  2. 多標籤頁;CodeMirror 6 提供撤銷/重做、查找、行號、自動換行、未保存提示。
  3. 編碼感知讀寫:UTF-8、UTF-8 BOM、UTF-16 LE/BE、GB18030/GBK、Windows-1252;保存時保留檢測到的編碼、BOM 與主導換行符;GB18030/Windows-1252 會做往返校驗,拒絕有損寫入。
  4. 二進制文件檢測,避免誤當文本編輯。
  5. 基於哈希的寫前比對:若文件在外部被修改,保存返回衝突且不寫入。

AI 編輯與審閱

  • 選區 AI:精簡、潤色、擴寫、重組、校對,或自定義指令(快捷鍵見下文 Ctrl+Alt+1..4 等)。
  • 全文 AI:潤色、精簡、摘要、大綱與標題生成。
  • Diff 審閱:接受、拒絕、重新生成;接受前不會寫入磁盤;接受後走正常 CodeMirror 事務,仍可用 Ctrl+Z 撤銷。
  • 批註批處理:可收集多處批註一次性發送;每個審閱區域在單次可撤銷編輯前都會相對原文校驗。

Markdown 與界面

  • Markdown 預覽:對原始 HTML 轉義,採用保守的 CommonMark 子集;Ctrl+E 在預覽與編輯間切換,雙擊預覽也可回到編輯;浮動工具條顯示模式與快捷鍵。
  • 字體、字號、行高、字重、換行、主題、行號、Tab 寬度等獨立設置,持久化在瀏覽器存儲;Windows 字體選擇器支持搜索、中/拉丁推薦字體與預覽。
  • Ctrl+滾輪 在 8–48 px 間縮放編輯區字體;Ctrl+= / Ctrl+- / Ctrl+0 同樣有效,當前字號顯示在狀態欄。

Windows 文件關聯

插件註冊當前用戶的 ProgID、OpenWithProgids、RegisteredApplications,並用輕量 VBS 啓動器把路徑寫入 inbox、啓動或聚焦 DSH;Host 監聽隊列,Client 打開文件。關聯的安裝、移除、恢復與狀態在 View → File associations。Windows 10/11 的默認應用受 UserChoice 哈希保護,插件不能靜默設爲系統默認;用戶需在資源管理器 打開方式 → 始終使用此應用 中主動選擇一次。卸載會移除 ProgID 與 Open With 條目;若當前默認仍是 AI Notepad,會清掉該 UserChoice 以便系統再次詢問,無法恢復此前被哈希保護的默認項。

架構要點(便於讀源碼)

  • lib/index.js:Host;路由、文件 I/O、編碼、衝突防護、LLM 調用、Windows 註冊表、inbox、選擇器與字體枚舉。
  • src/:Client 源碼;app.jsx 主欄頁面,editor.jsx 編輯器,store.js 標籤/AI/審閱/設置,diff.js、markdown.js 爲純輔助模塊。
  • lib/client.js:esbuild 生成的 ModuleLoader 包(React 外置)。
  • 要求 DSH 環境:package.json 中 dsh.env.minVersion 爲 0.2.0-rc.2。

安裝與啓用

插件以當前 DSH 進程權限運行;安裝前請自行查看倉庫源碼與 MIT 許可證。

Web profile(CLI) — 官方命令如下:

dsh plugin --profile web add JackWangSIA/dsh-ai-notepad

也可使用 GitHub Release 的無版本 tarball(插件市場上線後同樣可用該包,無需 npm 賬號):

https://github.com/JackWangSIA/dsh-ai-notepad/releases/latest/download/dsh-ai-notepad.tgz

若日後發佈到 npm,dsh plugin --profile web add dsh-ai-notepad 也可安裝。

DSH Desktop:優先使用 Plugins → Add plugin,填入倉庫 URL;desktop profile 由應用管理,不要用 CLI 手改。

目錄頁(社區插件站點,與 DeepSeek / 幻方無官方從屬關係):https://www.skillhub.cn/plugins/JackWangSIA/dsh-ai-notepad

典型用法

  1. 安裝並確認 Host 行處於 active;Client 會註冊主頁面、側欄圖標與設置區塊(見 README Verification notes)。
  2. 在編輯器中打開或拖入文本文件,正常編輯後 Ctrl+S 保存;若外部已改文件,按衝突提示處理後再保存。
  3. 選中段落,用 Ctrl+Alt+1..4 做精簡/潤色/擴寫/校對,或添加批註(Ctrl+Alt+B)後批量送審;在 diff 模態框中接受或拒絕,接受前內容不會寫回文件。
  4. 編輯 Markdown 時用 Ctrl+E 切換預覽;需要時通過 View → File associations 安裝「打開方式」關聯,再在資源管理器中選擇「始終使用此應用」。

常用快捷鍵:

快捷鍵 作用
Ctrl+S / Ctrl+Shift+S 保存 / 另存爲
Ctrl+Z / Ctrl+Y 撤銷 / 重做
Ctrl+F 查找
Ctrl+E Markdown 預覽 / 編輯切換
Ctrl+wheel,Ctrl+=,Ctrl+-,Ctrl+0 字體放大 / 縮小 / 重置
Ctrl+Alt+1..4 選區精簡 / 潤色 / 擴寫 / 校對
Ctrl+Alt+B 添加批註
Ctrl+Alt+N 從主 shell 聚焦 AI Notepad

About 菜單(與 File、View 並列)提供版本、構建時間、快捷鍵說明、運行時信息(平臺、當前模型、關聯狀態)及一鍵複製版本信息。

適用場景與注意

  • 適合:在 DSH Web/Desktop 內日常改純文本與 Markdown;需要在 Windows 上用「打開方式」把 .txt 等交給 Harness 編輯;強調編碼正確與寫前衝突檢測的本地文件工作流。
  • 注意:文件關聯與 VBS 啓動器面向 Windows;Desktop shell 當前單實例鎖且不解析 argv 中的路徑,故 VBS 是真實的註冊處理器,經 inbox 把路徑交給已運行的 Harness。插件依賴 Harness 提供的模型與 API 做 AI 功能,邊界與用法說明見 About 面板。
  • 自構建(維護者文檔):在倉庫內用 DSH 自帶 Node/pnpm 執行 pnpm install 與 scripts/build.mjs,再通過 Harness plugin_manager 的 install_bundle 安裝絕對路徑目錄,不要手動拷貝進 profile。

結尾

AI Notepad 把 DSH UI 補成編碼安全、帶 diff 審閱的通用文本編輯器,並把 Windows 打開方式接到 Harness 上。進一步瞭解實現與更新記錄見 GitHub 倉庫:

  • 目錄頁:https://www.skillhub.cn/plugins/JackWangSIA/dsh-ai-notepad
  • GitHub:https://github.com/JackWangSIA/dsh-ai-notepad
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜