前言¶
在 DeepSeek Harness(DSH)裏做知識庫、長文檔問答或 RAG 時,語料往往是 Word、Excel、PDF 或圖片,而不是現成的 Markdown。Agent 若只能讀純文本,就要麼讓人先手工導出,要麼在對話裏反覆說明「請先轉換」。本倉庫同時提供 doc2md 命令行(監控目錄、批量轉換、OCR)和 npm 包 dsh-doc2md,後者在 DSH 中註冊 doc2md 工具,把轉換能力接到 harness 上。插件本身不解析文檔,只確定性調用本機已安裝的 doc2md CLI。
這是什麼¶
- 插件標識:
github:jessehoo89/markdown_monitor - 維護者:jessehoo89
- 分類:聯網工具(目錄頁歸類;底層 doc2md 對掃描件 PDF 可走多雲端 OCR,是否聯網由本機
config.json/.env決定,插件不替你做選擇) - npm 包名:
dsh-doc2md(當前 package.json 版本 1.0.1,MIT 許可證) - 倉庫:https://github.com/jessehoo89/markdown_monitor
- 目錄頁:https://www.skillhub.cn/plugins/jessehoo89/markdown_monitor
項目名是 markdown_monitor,命令行與安裝產物仍沿用 doc2md 命名,已裝過的實例不受影響。
核心功能¶
本機 doc2md 能做什麼(插件透傳的能力)¶
監控模式下,watchdog 監聽多個根目錄的新增與修改,帶寫入防抖與自觸發保護(生成的 .md 不會再次觸發)。state.db 記錄已處理文件,重啓或重複投放不會重轉。改 config.json 可熱加載監控目錄、排除規則、擴展名、防抖時長、輸出位置、PDF 引擎等(OCR 相關改動需重啓)。
支持的輸入包括 docx / doc / xls / xlsx / pdf / 圖片。本地直轉路徑包括 mammoth(docx)、openpyxl(xlsx)、Office COM 或 LibreOffice(老式 doc/xls)、pymupdf4llm(有文本層 PDF)。掃描件或無文本層 PDF 走多後端 OCR(paddle、mineru、sf-deepseek-ocr 等),配額用盡或鑑權失敗時會熔斷並切換後端。
批量轉換仍可用 doc2md convert <目錄>;監控常駐用 doc2md watch。
DSH 插件暴露的四個 action¶
插件在 harness 中註冊工具 doc2md,提供下表動作(參數會進入會話日誌,勿把含密鑰的路徑當祕密):
| action | 作用 |
|---|---|
convert |
轉換給定絕對路徑(文件或目錄),報出每個「源文件 → md」的落點 |
read |
讀回某個 .md 或源文檔旁同名 md 的正文 |
scan |
試運行:只列分流與 OCR 量,不寫任何文件 |
status |
打印轉換統計(含各後端今日用量) |
插件只讀寫你點名的路徑;不解析文檔、不抓網頁、不加載遠程資源。文檔解析與是否上傳雲端 OCR 均由本機 doc2md 進程按自己的配置執行。
查找本機 doc2md¶
裝插件前,機器上需要可用的 doc2md。插件按順序解析,也可用環境變量指定:
| 環境變量 | 含義 |
|---|---|
DOC2MD_BIN |
doc2md / doc2md.exe 的絕對路徑(最高優先級) |
DOC2MD_REPO |
源碼倉庫根,改用 <python> -m doc2md |
DOC2MD_PYTHON |
配合 DOC2MD_REPO 的解釋器 |
未設置時再從 PATH 與常見安裝目錄查找(如 Windows 的 %LOCALAPPDATA%\Programs\doc2md、C:\Program Files\doc2md,Linux 的 ~/.local/bin、/opt/doc2md)。要求 Node ≥ 22.19。
convert 依賴 doc2md 1.0.3 起的 --print-outputs 以得到準確產出路徑;更老版本會降級爲同目錄同名推斷,並在結果中註明。
安裝與啓用¶
1、安裝 doc2md(本機 CLI,插件前置條件)¶
Linux(推薦一條命令,默認裝到 ~/.local,約 130M):
curl -fsSL https://raw.githubusercontent.com/jessehoo89/markdown_monitor/main/install.sh | bash
老式 .doc / .xls 在 Debian/Ubuntu 上需 LibreOffice:
sudo apt install -y libreoffice-writer libreoffice-calc
bash install.sh
Windows: 在 Releases 下載 doc2md-*-win-x64-installer.exe 安裝,或解壓 *-win-x64.zip 運行 doc2md-gui.exe。
裝完後建議:首次運行生成 config.json,把 roots 改成語料目錄;在 .env 填雲端 OCR 憑據(不填也能轉 docx/xlsx/有文字層 PDF);執行一次 doc2md scan 看分流,不寫文件。
2、在 DSH 中安裝插件¶
dsh plugin --profile web add github:jessehoo89/markdown_monitor
也可在 DSH 桌面端市場裏選「手動輸入」,填 github:jessehoo89/markdown_monitor。裝完重啓該 profile。插件無 build 腳本,不會觸發 allowBuilds。若缺少 pnpm,可先執行 corepack enable pnpm。
典型用法¶
Agent 側通過 harness 的 doc2md 工具調用;本機調試時可對照 CLI:
doc2md scan --root ~/語料 # 試運行
doc2md run --root ~/語料 # 批量轉換
doc2md convert a.docx b.pdf # 只轉指定文件
doc2md watch # 常駐監控目錄
監控語料目錄時,把文件丟進 config.json 裏配置的 roots 即可隨放隨轉;DSH 會話裏更適合用 convert / scan / read / status 對明確路徑操作。
指定非默認 doc2md 時,在加載插件前設置例如:
export DOC2MD_BIN=/opt/doc2md/doc2md
Windows 打包版 doc2md.exe 控制台輸出爲 GBK,插件會兼容解碼。
適用場景與注意¶
適合: 已在 DSH 中跑 agent,語料是 Office/PDF/圖片,希望 agent 能「轉換 → 讀 md → 繼續推理」,且你願意在本機維護 doc2md 與(可選)OCR 憑據。
注意:
- 插件以當前 dsh 進程的用戶權限 運行,只能訪問該用戶可讀寫的路徑;安裝前請自行審閱倉庫源碼與 MIT 許可證。
- 掃描件是否上雲、敏感目錄是否標記不上雲,由 doc2md 的
config.json(如sensitive_markers)和.env控制,與插件無關。 - 社區目錄 skillhub.cn 是獨立站點,與 DeepSeek / 幻方無官方從屬關係;星標等元數據以各頁面當時顯示爲準(目錄頁標註星標爲 0)。
結尾¶
markdown_monitor / dsh-doc2md 把本機 doc2md 的轉換、試跑、讀回與統計接到 DSH,適合「文檔進目錄、Agent 用 Markdown 繼續幹活」的流程。先裝 doc2md 並配好語料目錄,再用官方命令裝入 harness 即可。