前言¶
寫過投標文件的人都知道:標書內容做得再好,只要踩中招標文件裏的某一條廢標項,前面所有工作就白做了。常見的自查方式是把招標文件裏的「無效投標」「廢標項」條款整理成清單,再逐條回到幾百頁的投標文件裏找對應內容,順帶檢查錯別字和前後不一致的地方。這個過程費時,而且靠人眼很容易漏。
DeepSeek Harness(DSH)的理念是「一切皆插件」:把一類任務的固定流程做成 bundle,安裝後註冊爲技能,模型在 Harness 裏就能按流程執行。本文介紹的 rejection-check 就是這樣一個插件:上傳招標文件和投標文件,它負責提取廢標項條款、逐項檢查風險、查錯別字和邏輯不一致,最後生成檢查報告。
這是什麼¶
rejection-check 是 maike-china 維護的標書廢標項檢查工具,以 DeepSeek Harness 插件(bundle)形式分發,許可證爲 MIT,package.json 中的版本號爲 1.0.1。
它解決的問題很具體:解析招標/投標文件,從招標文件中提取「無效投標」與「廢標項」條款,對投標文件做三輪風險檢查,再加錯別字與邏輯謬誤檢查,最後生成 PDF / HTML / Markdown 三種格式的檢查報告。整個流程不需要外部 API Key,使用 DSH 自身模型,數據僅在本地分析,不上傳第三方。
核心功能¶
- 文檔解析:支持
.docx/.pdf/.md/.txt四種格式的招標文件和投標文件。 - 廢標項提取:自動從招標文件中提取「無效投標」和「廢標項」條款,逐條引用原文,方便回溯覈對。
- 三輪風險檢查:分析檢查範圍 → 逐項覈查 → 合併定稿,輸出結構化的風險項。
- 錯別字檢測:自動識別投標文件中的錯別字、別字和明顯錄入錯誤。
- 邏輯謬誤檢查:檢測投標文件中前後不一致的內容,例如人員名單、工期、金額、服務期限等。
- 報告生成:一鍵生成 PDF + HTML + Markdown 三種格式的檢查報告。
- 無需 API Key:使用 DSH 自身模型,數據僅本地分析。
安裝與啓用¶
安裝插件¶
從 GitHub 安裝倉庫最新 main 分支:
dsh plugin --profile <你的profile名> add github:maike-china/rejection-check
如果想避免後續推送悄悄改變實際運行的代碼,可以鎖定具體 commit:
dsh plugin --profile <你的profile名> add github:maike-china/rejection-check#<commit-sha>
首次對某個 profile 使用 dsh plugin 時,它會自動初始化該 profile(以 @deepseek-ai/dsh-base 作爲第一個組合包),然後安裝本插件並把它追加進 profile 的組合包列表。
驗證與啓動¶
確認配置層已生效,輸出中應能看到 # == dsh-rejection-check 層:
dsh --profile <你的profile名> --dump-config
然後用該 profile 啓動 Harness(Web UI 或 headless 均可):
dsh --profile <你的profile名> web
更新¶
更新到作者的最新代碼:
dsh plugin --profile <你的profile名> update dsh-rejection-check
關於構建:本插件是純 ESM + 運行時依賴(mammoth / pdf-parse / pdfkit),沒有構建步驟。git 安裝拉取的是源碼,安裝時自動裝依賴,dsh.bundle 聲明直接激活配置層,無需 prepare 腳本,也無需任何構建授權。
典型用法¶
1、用安裝了本插件的 profile 啓動 Harness(Web UI 或 headless)。
2、在對話框上傳招標文件 + 投標文件,支持 .docx / .pdf / .md / .txt。
3、輸入指令,例如:
檢查這兩個文件的廢標項
或者:
用廢標項檢查工具查一下
4、Harness 自動完成整個流程:解析 → 三輪檢查 → 錯別字 + 邏輯檢查 → 生成報告。
5、獲取生成的 廢標項檢查報告.pdf 文件路徑,保存即可。
工作原理¶
插件本身是一個標準 DSH 組合包(bundle),幾個關鍵文件各司其職:
package.json— 聲明dsh.bundle.patch,讓dsh plugin add識別爲可激活的 profile 層。cordis.patch.yml— bundle 配置層,插入一行啓用插件(- id: rejection-check)。index.js— 插件入口(apply(ctx)+inject: ['skills']),啓動時調用ctx.skills.register()把SKILL.md註冊爲運行時技能,並把resourceBase指向插件目錄,使scripts/可被技能解析。SKILL.md— 技能核心指令(frontmatter + 檢查流程)。scripts/parse.mjs— 文檔解析器:用mammoth解析.docx,pdf-parse解析.pdf,.md/.txt直接讀取,輸出 UTF-8 純文本工作文件,供後續三輪檢查使用。scripts/report.mjs— 報告生成器:讀取findings.json(rejection / typo / logic 三組結果),自動選擇系統中的中文字體(覆蓋 macOS / Windows / Linux 常見字體路徑),用pdfkit生成 PDF,同時輸出 HTML 與 Markdown。
適用場景與注意¶
適合兩類人:一是需要在投標前自查廢標風險的標書編寫團隊,用它把條款覈對、錯別字和前後一致性檢查交給插件跑一遍;二是已經有 DSH 環境、想通過裝插件擴展能力的用戶,裝完即用,不用改自己的流程。
使用前有幾點需要注意:
- 全程使用簡體中文。
- 不虛構投標文件中不存在的證據;證據不足時會標註「建議人工複覈」。
- 不因圖片、掃描件、附件正文不可見而判定材料缺失,避免誤報。
- 系統中沒有可用中文字體時,報告會回退爲僅生成 HTML。
- 報告末尾會提示:這是自動化輔助檢查,正式投標請由專業人員複覈。
- 插件以當前 dsh 進程的權限運行,安裝前請自行檢查插件源碼與許可證(本項目爲 MIT)。
- 一個細節:README 的打包示例中 tarball 文件名爲
dsh-rejection-check-1.0.0.tgz,而package.json中的版本是 1.0.1,兩處不一致,安裝打包產物時以實際文件名爲準。
結尾¶
rejection-check 把「提取廢標項 → 逐項覈查 → 查錯別字和邏輯 → 出報告」這條固定流程做成了 DSH 插件,裝進 profile 後上傳兩個文件就能跑完,且不依賴外部 API Key。對經常投標的團隊來說,可以在正式提交前多一道機器自查;結果仍需人工複覈,這一點插件在報告裏也明確寫了。
項目地址:
- GitHub:https://github.com/maike-china/rejection-check
- 社區插件目錄:https://www.skillhub.cn/plugins/maike-china/rejection-check (獨立社區站點,與 DeepSeek / 幻方無官方從屬關係)