本地多文檔交叉查重器:在 Agent 裏做段落級本地交叉查重

前言

投標或方案類項目裏,常見做法是把多份 Word、PDF 放進文件夾,靠人工通讀或簡單全文比對找雷同。前者費時且容易漏段,後者對版式、標題和短句碎片往往不敏感,也很難給出可歸檔的對比報告。

下面介紹 SkillHub 社區 Skill「本地多文檔交叉查重器」(座標 @user_509b3ac1/tender-similarity-analyzer)。它把多文檔交叉查重、HTML 報告生成和本地安全約束寫進 SKILL.md,讓 Cursor 等支持 Skills 的 Agent 按固定流程調用本機 Python 腳本,而不是把文檔內容發到外部服務。

這是什麼

「本地多文檔交叉查重器」是面向投標文件查重與分析的 Agent Skill,核心定位是本地多文檔交叉查重,精確到段落。發佈者爲 SkillHub 用戶 user_509b3ac1,來源爲 community,分類爲 data-analysis,當前商店版本爲 1.0.0,標籤標明 requires_api_key=false,無需配置 API Key。

SkillHub 頁面數據(截至資料抓取):評分 100000,下載 1413,安裝 15。

  • 商店頁:https://www.skillhub.cn/skills/user_509b3ac1/tender-similarity-analyzer
  • API 座標頁:https://api.skillhub.cn/user_509b3ac1/tender-similarity-analyzer

核心功能

以下能力均來自該 Skill 包內的 SKILL.md 與 scripts/main.py,在本地執行,不依賴外網傳文件。

  1. 多文檔交叉查重
    至少 2 個文件方可分析。支持按目錄掃描或直接傳入文件列表,可對子目錄遞歸掃描,並可限制擴展名。

  2. 段落級檢測與報告
    輸出美化 HTML 查重報告,包含總體統計、重複率與段落對分佈、狀態判定(通過 / 警告 / 不合格),以及重複段落的原文對比。正文重複率判定閾值在 Skill 文檔中定義爲:低於 10% 爲通過,10%~30% 爲警告,不低於 30% 爲不合格。

  3. 可選修改建議
    Skill 說明中強調:可提供 AI 生成的改寫方向,僅作建議,默認不寫入源文件。

  4. 本地與安全約束
    文件僅在本地讀取;運行查重時會啓用網絡隔離(限制常見 HTTP 庫),不修改源文件、不上傳內容。首次使用需在本機 pip install -r requirements.txt 安裝 Python 依賴。

  5. 算法概要(Skill 文檔中的「三層漏斗」)
    段落分類與短段合併 → N-gram(3-gram)初篩(Jaccard ≥ 0.25)→ 字符級 TF-IDF 精比(動態閾值約 0.30~0.50)。標題類段落會被識別並過濾,短於約 50 字的段落可與上下文合併,以降低碎片誤判。

  6. 支持格式
    .docx / .doc、.pdf、.txt、.md。

安裝與啓用

1. 安裝 SkillHub CLI(若尚未安裝)

按 SkillHub 安裝說明 檢查或安裝 CLI:

command -v skillhub && skillhub --version

未安裝時可執行官方推薦的一鍵安裝(完整包含 CLI 與默認 Skill):

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash

2. 將 Skill 裝到當前 Agent 的 skills 目錄

安裝時必須使用 --dir 指向當前環境能識別的 skills 目錄,否則默認落在 ./skills/ 可能無法被 Agent 加載。

Cursor 示例:

skillhub install @user_509b3ac1/tender-similarity-analyzer --dir ~/.cursor/skills/

Claude Code 可使用 ~/.claude/skills/;Codex 可使用 ~/.codex/skills/ 或項目下的 .agents/skills/。路徑規則與更多客戶端見同一安裝文檔第四節。

也可把下面提示詞發給 Agent,讓其按官方流程安裝:

請根據 https://skillhub.cn/install/skillhub.md,安裝 `@user_509b3ac1/tender-similarity-analyzer`。

3. 安裝 Python 依賴

進入 Skill 安裝目錄(Cursor 下一般爲 ~/.cursor/skills/@user_509b3ac1/tender-similarity-analyzer),安裝依賴:

pip install -r requirements.txt

requirements.txt 中包含 python-docx、pdfplumber、scikit-learn、Jinja2、jieba、simhash 等,用於抽取文本、相似度計算與報告渲染。

典型用法

在對話裏觸發(Skill 約定)

Skill 文檔給出的自然語言示例:

查重 ~/Desktop/投標文件

Agent 應掃描目錄、調用本機腳本完成分析,並返回 HTML 報告路徑或摘要。可選參數在 Skill 中寫作 --include docx,pdf(限制格式)、--output <路徑>(報告位置);目錄掃描還可配合 --recursive。

命令行直接運行

在 Skill 包的 scripts 目錄下執行 main.py(路徑請按本機安裝位置替換):

cd ~/.cursor/skills/@user_509b3ac1/tender-similarity-analyzer
pip install -r requirements.txt

# 掃描目錄(默認報告 tender_plagiarism_report.html)
python scripts/main.py --dir ~/Desktop/投標文件

# 遞歸子目錄
python scripts/main.py --dir ./chapters --recursive

# 僅 docx 與 pdf
python scripts/main.py --dir ./docs --include docx,pdf

# 指定輸出文件
python scripts/main.py --dir ~/Desktop/tender -o my_report.html

# 直接指定多個文件
python scripts/main.py --files a.docx b.docx c.pdf

默認報告文件名爲 tender_plagiarism_report.html,可用 -o / --output 修改。

適用場景與注意

適合誰

  • 需要在本機對多份投標書、技術方案、標書附件做交叉雷同檢查的團隊或個人。
  • 已在使用 Cursor、Claude Code 等 Skills 能力,希望用固定話術和腳本減少「每次重新描述查重步驟」的成本。
  • 對數據出境敏感、希望查重過程儘量留在本地的場景(Skill 明確強調本地讀取與網絡隔離,但仍需在本機信任所安裝的 Python 環境與依賴包)。

限制與注意

  • 至少兩個文件才能出有意義結果;單文件只會提示不足。
  • 依賴 PDF/Word 解析質量,掃描版 PDF 若無法提取文本,查重效果會下降。
  • 判定閾值(10% / 30%)來自 Skill 文檔中的投標規範示例,不同行業或內部制度可能需要人工複覈,不宜機械等同合規結論。
  • Skill 商店版本號爲 1.0.0,包內 SKILL.md 文末另有更細的修訂記錄;以你實際安裝的包內容爲準。
  • 修改建議默認不寫回文件;若使用代碼中的自動修改能力,需自行確認是否符合流程與留痕要求。

結尾

「本地多文檔交叉查重器」把段落級交叉查重、HTML 報告和本地安全約束封裝成可安裝的 Agent Skill,適合在 Skills 環境裏用一句話觸發目錄掃描,或在命令行用 scripts/main.py 復現同一套流程。

官方入口:

  • https://www.skillhub.cn/skills/user_509b3ac1/tender-similarity-analyzer
  • https://api.skillhub.cn/user_509b3ac1/tender-similarity-analyzer
羽毛球分组比赛记分
小程序二维码

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

小夜