OpenContracts
开源文档智能平台,支持 AI 标注、向量检索与 MCP Agent 接入的可编程 DMS
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
开源文档智能平台,支持 AI 标注、向量检索与 MCP Agent 接入的可编程 DMS
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
场景切入: 想象你是一位合同审查律师,桌面上堆着 300 份 PDF 合同,每份少则 10 页、多则上百页。客户问:「这些合同里,有多少份包含竞业限制条款?哪些允许甲方单方面终止?」你只能一行行手动搜索,还是可以让 AI 在几秒内给你答案?
OpenContracts 正是为解决这类场景而生。它是一个开源的文档智能平台,支持对海量文档(PDF、Word、Excel、邮件等)进行 OCR 识别、结构化提取、AI 标注、向量检索和多轮对话,并且内置 MCP(Model Context Protocol)服务器,可被 AI 助手直接调用。
OpenContracts 由 Open Source Legal 团队开发维护,核心作者为 John Scrudato IV,项目采用 MIT 许可证完全开源。项目官方 demo 部署于 https://contracts.opensource.legal,任何人都可以在线体验其核心功能。
项目的核心理念是:文档即数据,标注即代码。传统文档管理系统(DMS)只负责存储和检索,而 OpenContracts 将文档视为结构化知识来源,通过 AI 将非结构化文本转化为可编程的引用图谱(Citation Graph),支持构建法律审查、学术研究、合规审计等多种知识密集型应用。
OpenContracts 的架构设计体现了现代 AI 应用的专业分工理念:
后端技术栈(Django + Channels):
前端技术栈(React + Apollo):
AI/ML 管道(Pipeline Architecture):
项目实现了高度模块化的文档处理管道(opencontractserver/pipeline/),各环节可插拔替换:
| 模块 | 负责 | 关键依赖 |
|---|---|---|
| 解析器(Parsers) | PDF/DOCX/Excel 等格式提取文本和结构 | docling, PyMuPDF |
| OCR(EasyOCR) | 扫描件和图片文字识别 | easyocr |
| 分块(Chunking) | 将长文档切分为语义块 | spaCy NLP |
| 嵌入(Embeddings) | 文本向量化(Sentence-Transformers) | sentence-transformers |
| 向量化存储(Vector Stores) | pgvector 存储 + 相似度搜索 | pgvector-python |
| 分析器(Analyzers) | 基于 LLM 的标注和结构化提取 | 支持多 LLM Provider |
| LLM 提供商(LLM Providers) | 统一 LLM 调用接口 | OpenAI / Anthropic / 本地模型 |
项目预置了多种模型下载脚本(model_preloaders/),包括 GLiNER(实体识别)、Docling(文档布局分析)、Sentence-Transformers(文本嵌入)和 spaCy(NLP 分词)。
Agent 框架(MCP Server):
opencontractserver/mcp/ 实现了 MCP(Model Context Protocol)服务器,这是一个被 AI 助手广泛支持的标准化协议。通过 MCP 接口,外部 AI 助手可以直接读取 OpenContracts 中的文档内容、标注数据,进行检索增强生成(RAG)。这使得 OpenContracts 成为了AI Agent 的外部知识库。
多语言支持:

图1:OpenContracts Web UI 主界面
1. 文档导入与处理管道
用户上传文档后,系统自动触发处理管道:
2. 标注与引用图谱
OpenContracts 支持多种类型的标注:
所有标注形成引用图谱(Citation Graph),每个标注都带有原文引用(文本片段 + 文档来源 + 位置),确保可溯源、可审计。
3. 检索与问答
4. Agent 集成(MCP Server)
MCP Server 提供以下只读工具:
get_public_corpus:获取公开语料库信息get_public_document:获取文档内容和元数据search_public_corpus:在语料库中进行向量检索get_document_annotations:获取文档标注数据这使得 OpenContracts 可以作为 AI 助手的可信知识源,特别适合法律/合规领域的 RAG 应用。
多阶段 Docker 构建:
docker-compose 编排(local.yml): services 包含 django(Django + Daphne ASGI)、frontend(Nginx)、postgres(PostgreSQL + pgvector)、redis(缓存 + Celery broker)、celery(Celery worker)、flower(Celery 监控界面)。
一键启动命令:docker compose -f local.yml up,约 20 分钟完成首次部署(包含模型下载)。硬件需求:4GB RAM、10GB 磁盘,无需 GPU(CPU 推理)。
适用场景:
局限性:
OpenContracts 代表了文档管理从「存储检索」到「智能理解」的技术跃迁。它不仅是 DMS,更是AI Agent 的可信知识基础设施。随着 MCP 协议的普及,OpenContracts 这类支持标准化 Agent 接入的文档平台将成为 AI Native 应用栈中的重要一环。
项目的 GitHub 活跃度较高,topics 覆盖 agent、agentic-ai、llm、vector-database 等热点方向,在开源文档智能领域具有较强的参考价值和技术领先性。
分析时间:2026-06-14 | 数据来源:GitHub API + 官方文档