关于 Dealroom
Dealroom 是面向两方异步合同协商的平台,适用于需要结构化条款讨论的团队。它按双方的坚定程度和选项偏好计算折中建议,并支持自托管部署。
主要功能
- 01逐条协商合同条款
- 02按坚定程度与偏好建议折中
- 03内置 NDA、DPA、MSA 模板
- 04支持英语与卡斯蒂利亚西班牙语
- 05平台管理员与监督员分级管理
适用场景
- 01双方异步协商合同条款
- 02按各方偏好生成折中方案
- 03使用内置合同模板起草协议
- 04由律所自托管管理协商
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://dealroom.todo.law/api/v1/agent/mcpclaude mcp add --transport http sergiomaldo-dealroom https://dealroom.todo.law/api/v1/agent/mcp{"mcpServers":{"sergiomaldo-dealroom":{"type":"http","url":"https://dealroom.todo.law/api/v1/agent/mcp"}}}在 Cursor 中打开{"servers":{"sergiomaldo-dealroom":{"type":"http","url":"https://dealroom.todo.law/api/v1/agent/mcp"}}}在 VS Code 中打开{"mcpServers":{"sergiomaldo-dealroom":{"type":"http","url":"https://dealroom.todo.law/api/v1/agent/mcp"}}}{"mcpServers":{"sergiomaldo-dealroom":{"serverUrl":"https://dealroom.todo.law/api/v1/agent/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://dealroom.todo.law/api/v1/agent/mcp需要授权工具
18| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| lang | enum | 否 | 名称和标签的语言en | es |
| summary | boolean | 否 | 可选:省略每种类型的输入(此时每种类型都会包含 inputCount) |
| contractType | string | 否 | 可选:一个代码(例如 DPA)或指南 slug;仅返回该类型及其输入 |
详细介绍
Dealroom
双方法律合同异步协商平台,采用加权妥协算法。
功能
- 合同协商 — 按条款逐项进行的结构化协商工作流
- 加权妥协 — 根据各方的立场坚定程度和选项偏好,使用算法建议公平的妥协方案
- 合同技能 — 内置模板(NDA、DPA、MSA 等),并为你自己的实例提供高级技能
- 双语合同 — 支持英语和卡斯蒂利亚西班牙语;创建交易时选择合同语言,双方都使用该语言进行协商
- 两级管理 — 平台管理员管理市场;主管监控交易
- 可自托管 — 采用 AGPL 许可的主权套件,可在自己的硬件上运行(见下文)
托管服务和套件
- 托管服务(dealroom.todo.law)按合同收费。 起草和协商免费。每份合同只需付费一次,在首次下载或开始签署时支付;该价格涵盖所有技能,包括高级技能。Agent 使用预付额度按合同付费,额度以十份为一包出售(参见
docs/agent-api.md中的“按合同付费”)。没有月度套餐。 - 套件(自托管)没有使用上限。 高级技能仅面向套件销售:在 todo.law 商店购买,每项技能每年 60(以你的货币计价),通过许可证文件离线安装并激活。
托管版本采用 Vercel 生产环境(VERCEL_ENV=production,或 AUTH_COOKIE_DOMAIN=.todo.law);规则位于 src/lib/hosted.ts 和 src/config/features.ts。此前免费试用期间的限制(编辑时限、记录数量上限)已于 2026 年 10 月 11 日取消。
注意: 此前的双品牌系统(todo.law + northend.law)已于 2026 年 5 月停用;现在的代码库仅包含一个品牌(
src/config/brand.ts说明了原因和恢复方式)。
技术栈
- 框架: Next.js 16(App Router)
- 语言: TypeScript
- API: tRPC
- 数据库: PostgreSQL + Prisma
- 身份验证: NextAuth(魔法链接、邀请码、Google OAuth)
开始使用
前置条件
- Node.js 20+
- PostgreSQL 数据库
- Resend 账户(用于发送魔法链接邮件)
安装
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env
# Push database schema
npx prisma generate && npx prisma db push
# Seed initial data
npx prisma db seed
# Start development server
npm run dev
打开 http://localhost:3000 访问应用。
自托管(主权套件)
律师事务所可以使用基于 Docker 的主权套件,在自己的硬件上完整运行 Dealroom — 应用 + PostgreSQL + 迁移器(+ 可选的 Caddy TLS),通过端口 8486 发布,并通过 /api/health 进行健康状态检查:
cd deploy/sovereign
cp .env.example .env # fill in secrets
docker compose up -d
完整运行手册(备份、恢复、cron 配置、加固检查清单)请参阅 deploy/sovereign/README.md。 docs/deployment.md 介绍托管/Vercel 部署方式。
环境变量
DATABASE_URL=postgresql://...
NEXTAUTH_SECRET=...
NEXTAUTH_URL=http://localhost:3000
RESEND_API_KEY=...
[email protected]
GOOGLE_CLIENT_ID=...
GOOGLE_CLIENT_SECRET=...
SKILLS_DIR=/path/to/skills # Optional: premium skills directory
STRIPE_SECRET_KEY=... # Optional: in-app billing (ignored on hosted dealroom.todo.law)
管理
创建平台管理员
npm run admin:create -- [email protected] --name="Admin Name"
访问 /admin 平台管理门户。
创建主管
npm run supervisor:create -- [email protected] --name="Jane Smith"
也可以通过 /admin/supervisors 管理门户创建。
主管通过 /supervise 访问其门户,且只能查看分配给他们的交易。
文档
| 文档 | 描述 |
|---|---|
| deployment.md | 托管(Vercel)和自托管配置、环境变量 |
| administration.md | 两级管理系统、交易生命周期、签署 |
| lawyer-involvement.md | 律师参与的三个阶段(EN) |
| intervencion-abogado.md | 律师参与的三个阶段(ES) |
| agent-api.md | Agent Negotiation REST API 参考 |
| skills-and-licensing.md | 技能包、许可、激活、国际化 |
项目治理:SECURITY.md · CONTRIBUTING.md · NOTICES.md · CHANGELOG.md
项目结构
src/
├── app/ # Next.js App Router pages
│ ├── (admin)/ # Platform admin portal
│ ├── (supervisor)/ # Supervisor portal
│ ├── (dashboard)/ # User dashboard
│ └── api/ # API routes
├── components/ # React components
├── config/
│ ├── brand.ts # Brand router
│ ├── brands/ # Brand config (todo.ts; single brand since May 2026)
│ └── features.ts # Feature flags
├── lib/ # Shared utilities
└── server/
├── routers/ # tRPC routers
└── services/ # Business logic
prisma/
├── schema.prisma # Database schema
└── seed.ts # Seed data
skills/ # Built-in contract templates
docs/ # Documentation
核心概念
交易流程
- 创建 — 发起方创建交易,选择技能和司法管辖区
- 邀请 — 响应方收到邀请链接
- 提交 — 双方提交条款偏好和坚定程度
- 协商 — 算法提出折中方案;双方也可以对开放字段(可协商参数)提出修改
- 达成一致 — 双方接受最终条款
- 签署 — 生成合同以供签署
折中算法
stake = ((5-flexibility)/5 × 0.6) + (|bias| × 0.4)
双方为每个条款设置 坚定程度(1–5);界面显示坚定程度,数据库存储灵活度(6 − 坚定程度)。利益权重较高的一方赢得该条款;利益权重相同时,则达成平衡的折中方案。如果一方赢得的条款明显过多,全局公平性调整会重新平衡结果。
管理级别
| 角色 | 门户 | 访问权限 |
|---|---|---|
| 平台管理员 | /admin | 管理技能目录、客户和主管 |
| 主管 | /supervise | 仅监控分配给自己的交易 |
| 用户 | /deals | 仅处理自己的谈判 |
许可证
Copyright (c) 2025-2026 Rindogatan LLC
本项目根据 GNU Affero General Public License v3.0 授权。
根据 AGPL §13,如果你将修改后的 Dealroom 作为网络服务运行,就必须向用户提供其对应源码。/licenses 页面包含该声明(自 2026-10-01 起,页脚不再链接到该页面);构建时通过 NEXT_PUBLIC_SOURCE_URL 将其指向你的分支,并在部署需要时添加可见链接。第三方归属信息见 NOTICES.md。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。