rejection-check:基於 DeepSeek Harness 的標書廢標項檢查插件

前言

寫過投標文件的人都知道:標書內容做得再好,只要踩中招標文件裏的某一條廢標項,前面所有工作就白做了。常見的自查方式是把招標文件裏的「無效投標」「廢標項」條款整理成清單,再逐條回到幾百頁的投標文件裏找對應內容,順帶檢查錯別字和前後不一致的地方。這個過程費時,而且靠人眼很容易漏。

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 / 幻方無官方從屬關係)
羽毛球分组比赛记分
小程序二维码

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

小夜