前言¶
投标或方案类项目里,常见做法是把多份 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,在本地执行,不依赖外网传文件。
-
多文档交叉查重
至少 2 个文件方可分析。支持按目录扫描或直接传入文件列表,可对子目录递归扫描,并可限制扩展名。 -
段落级检测与报告
输出美化 HTML 查重报告,包含总体统计、重复率与段落对分布、状态判定(通过 / 警告 / 不合格),以及重复段落的原文对比。正文重复率判定阈值在 Skill 文档中定义为:低于 10% 为通过,10%~30% 为警告,不低于 30% 为不合格。 -
可选修改建议
Skill 说明中强调:可提供 AI 生成的改写方向,仅作建议,默认不写入源文件。 -
本地与安全约束
文件仅在本地读取;运行查重时会启用网络隔离(限制常见 HTTP 库),不修改源文件、不上传内容。首次使用需在本机pip install -r requirements.txt安装 Python 依赖。 -
算法概要(Skill 文档中的「三层漏斗」)
段落分类与短段合并 → N-gram(3-gram)初筛(Jaccard ≥ 0.25)→ 字符级 TF-IDF 精比(动态阈值约 0.30~0.50)。标题类段落会被识别并过滤,短于约 50 字的段落可与上下文合并,以降低碎片误判。 -
支持格式
.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