前言¶
合同散落在邮件、网盘和纸质归档里时,台账往往靠 Excel 手工维护:上传一份 PDF、抄一遍金额和到期日,再单独设日历提醒。漏改、漏提醒的成本很高。Contract Ledger Pro 是 SkillHub 上的社区 Skill(business-ops),把「上传 PDF → 提取字段 → 本地台账 → 到期检查与飞书卡片」串成一套可被 Agent 调用的工作流;数据落在本地 JSON,不依赖单独部署数据库。
这是什么¶
Contract Ledger Pro(坐标 @user_26bdbd50/contract-ledger-pro,当前版本 1.0.1,来源 community,发布者 user_26bdbd50)面向合同台账与生命周期提醒。Skill 内说明的定位是:上传合同 PDF,由 AI 自动提取字段建档,并支持到期提醒与飞书推送。
在 SkillHub 上,该 Skill 分类为 business-ops,标签含 requires_api_key=true;页面侧统计为评分 100000、下载 932、安装 0(以 SkillHub 展示为准)。
技术实现上,Skill 包内提供 Python 脚本(scripts/main.py 等为 CLI 入口),依赖 PyMuPDF 做 PDF 文本提取、requests 做 HTTP 调用,台账写入 data/contracts.json。
核心功能¶
以下能力均来自 Skill 包内的 SKILL.md / README.md 与脚本模块划分,可按需交给 Agent 执行对应命令。
- PDF 解析:用 PyMuPDF(
fitz)从合同 PDF 提取文本。 - AI 字段提取:识别合同名称、金额、日期、对方、关键节点等字段并建档。
- 台账 CRUD:列表、详情、更新、删除;支持按状态、金额、到期等筛选与排序。
- 到期提醒:可为单份合同配置「提前 N 天」提醒;支持检查未来若干天内到期的合同。
- 飞书推送:
check --feishu可输出到期提醒相关的飞书消息卡片结构(由feishu_notifier.py维护模板)。 - 导出:支持 CSV;Excel/PDF 等格式与套餐档位相关(见下文套餐表)。
套餐与 API Key¶
收费档位在 Skill 文档中有明确表格;未传 Key 或验证失败时,逻辑上按 FREE 档位约束使用(网络异常时 Token 模块会降级为 FREE,不阻断基础使用)。
| 套餐 | 月费 | 合同数 | 提醒数 | 导出 |
|---|---|---|---|---|
| FREE | 免费 | 5 份 | 1 个 | CSV |
| BSC | ¥29 | 50 份 | 5 个 | CSV |
| PRO | ¥99 | 300 份 | 无限 | Excel/PDF |
| ENT | ¥299 | 无限 | 无限 | 全部 |
API Key 前缀为 CONTRACT-LGR-*。验证接口:
- 方法:
POST https://api.yk-global.com/v1/verify - 请求头:
Authorization: Bearer {api_key} - 本地缓存:
.token_cache.json,TTL 5 分钟
购买收费版入口见 Skill 文档中的 YK-Global.com。
安装与启用¶
通过 SkillHub CLI 安装到 Agent¶
先确认本机是否已有 skillhub:
command -v skillhub && skillhub --version
未安装时可按 SkillHub 安装文档执行完整安装或仅 CLI(见 skillhub.cn/install/skillhub.md)。安装 Skill 时必须用 --dir 指向当前 Agent 的 skills 目录,否则默认落在 ./skills/ 可能不会被识别。
skillhub install @user_26bdbd50/contract-ledger-pro --dir ~/.cursor/skills/
在 Cursor 中,常用路径为 ~/.cursor/skills/;Claude Code 为 ~/.claude/skills/;Codex 为 ~/.codex/skills/ 或项目下 .agents/skills/。其他客户端以各自文档为准。
也可按 SkillHub 页面提示,让 AI 阅读 安装说明 后安装 @user_26bdbd50/contract-ledger-pro。
Python 依赖¶
进入 Skill 解压目录后安装依赖(Python 3.8+):
pip install -r requirements.txt
requirements.txt 内容为:
PyMuPDF>=1.23.0
requests>=2.28.0
典型用法¶
Skill 文档给出两套等价入口:OpenClaw 子命令形式,以及包内 python scripts/main.py。下面以本地 CLI 为例,步骤可直接复现。
1. 初始化 / 查看台账
python scripts/main.py list
2. 上传合同 PDF
python scripts/main.py upload /path/to/contract.pdf
python scripts/main.py upload /path/to/contract.pdf --api-key CONTRACT-LGR-PRO-xxxxx
3. 筛选与排序
python scripts/main.py list --status 执行中
python scripts/main.py list --sort end_date
OpenClaw 场景下文档示例为 openclaw run contract-ledger list --status 执行中 --sort amount,语义与上类似。
4. 单条合同维护
python scripts/main.py get <contract_id>
python scripts/main.py update <contract_id> --name "新名称" --status "已终止"
python scripts/main.py delete <contract_id>
5. 提醒
python scripts/main.py reminder <contract_id> add --days 7
python scripts/main.py reminder <contract_id> list
python scripts/main.py reminder <contract_id> remove --index 0
6. 到期检查与飞书卡片
python scripts/main.py check --days 30
python scripts/main.py check --feishu
7. 导出
python scripts/main.py export --format csv -o contracts.csv
python scripts/main.py export --format xlsx -o contracts.xlsx --api-key CONTRACT-LGR-PRO-xxxxx
启用 Skill 后,也可在对话中描述业务意图(例如「上传这份合同并设提前 7 天提醒」),由 Agent 按 SKILL.md 选择上述命令;涉及 PRO/ENT 能力时需准备有效 CONTRACT-LGR-* Key。
适用场景与注意¶
适合谁:中小团队法务/商务/运营,需要把合同 PDF 快速变成可检索台账,并周期性扫到期日;已使用飞书做协同、希望提醒以卡片形式落地的场景。
限制与注意:
- SkillHub 标记 requires_api_key=true;高级配额与导出格式与 Key 档位绑定,验证依赖
api.yk-global.com,需自行评估合规与可用性。 - 台账默认存于 Skill 目录下
data/contracts.json,备份与权限需自行管理;多机同步不在 Skill 说明范围内。 - 「AI 字段提取」准确度取决于 PDF 质量与模型/实现细节,重要字段仍建议人工复核。
- OpenClaw 与裸跑
main.py二选一即可,勿混用路径导致找不到data/目录。
结尾¶
Contract Ledger Pro 把合同 PDF、本地台账、到期扫描和飞书提醒收进一个可安装的 Agent Skill,适合作为 business-ops 类能力接入 Cursor 等客户端。安装与元数据以 SkillHub 为准:
- SkillHub 页面:https://www.skillhub.cn/skills/user_26bdbd50/contract-ledger-pro
- API 条目:https://api.skillhub.cn/user_26bdbd50/contract-ledger-pro