Dealroom

io.github.sergiomaldov1.0.0更新于 Oct 5, 2026

Draft and negotiate contracts clause by clause; a published formula proposes the compromise.

已验证Streamable HTTP可网页运行Business & CommerceProductivity & Workflow

概览

AI 生成的概览

让助手逐条起草和协商双方合同,并由算法提出加权折中方案。

功能
Dealroom 是一个以远程 MCP 端点提供的双方异步合同协商平台。它支持结构化的逐条协商流程:选择技能模板和司法管辖区创建交易、邀请对方、提交条款偏好和坚定程度、由加权折中算法建议条款,然后达成一致并生成合同以供签署。内置模板包括 NDA、DPA 和 MSA,合同支持英语和卡斯蒂利亚西班牙语双语。
适用场景
当助手需要协助双方起草或协商协议(如 NDA、DPA 或 MSA),并且希望采用带有折中建议的结构化、可审计协商流程而非自由起草时,适合使用。
运行要求
通过 streamable HTTP 连接 dealroom.todo.law 的远程 MCP 端点。身份验证使用 Authorization 头,内容为 Bearer 加 Dealroom API 密钥。托管服务按合同收费,使用预付积分;若自行托管 AGPL 套件,则需要 Node.js 20+、PostgreSQL、Resend 账户以及 DATABASE_URL、NEXTAUTH_SECRET、RESEND_API_KEY 等环境变量。
安装前请注意
Authorization 头携带 Dealroom API 密钥,应视为机密。托管服务按合同收费,在合同首次下载或开始签署时一次性支付,使用按十份一包出售的预付积分,因此助手可能产生费用。协商和签署会更改合同数据,并可能生成具有法律约束力的文件;签署前应审阅条款。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Dealroom,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "dealroom": {
      "type": "http",
      "url": "https://dealroom.todo.law/api/v1/agent/mcp"
    }
  }
}

README

Dealroom

[License: AGPL v3]

Two-party async contract negotiation platform with weighted compromise algorithm.

Features

  • Contract Negotiation — Structured clause-by-clause negotiation workflow
  • Weighted Compromise — Algorithm suggests fair compromises based on party firmness and option bias
  • Contract Skills — Built-in templates (NDA, DPA, MSA, etc.) plus premium skills for your own instance
  • Bilingual Contracts — English and Castilian Spanish; the contract language is chosen when the deal is created and both parties negotiate in it
  • Two-Level Admin — Platform admins manage marketplace; supervisors monitor deals
  • Self-Hostable — AGPL-licensed sovereign kit for running on your own hardware (see below)

Hosted and the kit

  • Hosted (dealroom.todo.law) charges per contract. Drafting and negotiating are free. Each contract is paid once, when it is first downloaded or when its signature starts; every skill, premium ones included, is covered by that price. Agents pay per contract with prepaid credits sold in packs of ten (see docs/agent-api.md, "Paying per contract"). There is no monthly plan.
  • The kit (self-hosted) has no caps. Premium skills are sold only for the kit: 60 a year each in the kit (in your currency) on the todo.law storefront, installed and activated offline with a licence file.

The free-pilot limits (edit window, record ceilings) apply only to the hosted build (Vercel production, VERCEL_ENV=production, or AUTH_COOKIE_DOMAIN=.todo.law) while hosted billing is off; once billing is on they no longer apply. The rules live in src/lib/pilot.ts and src/config/features.ts.

Note: the earlier dual-brand system (todo.law + northend.law) was retired in May 2026; the codebase now ships a single brand (src/config/brand.ts documents the rationale and the restore path).

Tech Stack

  • Framework: Next.js 16 (App Router)
  • Language: TypeScript
  • API: tRPC
  • Database: PostgreSQL + Prisma
  • Auth: NextAuth (magic link, invite code, Google OAuth)

Getting Started

Prerequisites

  • Node.js 20+
  • PostgreSQL database
  • Resend account (for magic link emails)

Installation

bash
# Install dependenciesnpm install
# Set up environment variablescp .env.example .env
# Push database schemanpx prisma generate && npx prisma db push
# Seed initial datanpx prisma db seed
# Start development servernpm run dev

Open http://localhost:3000 to access the app.

Self-Hosting (Sovereign Kit)

Law firms can run Dealroom entirely on their own hardware with the Docker-based sovereign kit — app + PostgreSQL + migrator (+ optional Caddy TLS), published on port 8486, health-gated via /api/health:

bash
cd deploy/sovereigncp .env.example .env   # fill in secretsdocker compose up -d

See deploy/sovereign/README.md for the full runbook (backups, restore, cron wiring, hardening checklist). docs/deployment.md covers the hosted/Vercel path.

Environment Variables

DATABASE_URL=postgresql://...NEXTAUTH_SECRET=...NEXTAUTH_URL=http://localhost:3000RESEND_API_KEY=...[email protected]GOOGLE_CLIENT_ID=...GOOGLE_CLIENT_SECRET=...SKILLS_DIR=/path/to/skills          # Optional: premium skills directorySTRIPE_SECRET_KEY=...               # Optional: in-app billing (ignored on hosted dealroom.todo.law)

Administration

Create Platform Admin

bash
npm run admin:create -- [email protected] --name="Admin Name"

Access the platform admin portal at /admin.

Create Supervisor

bash
npm run supervisor:create -- [email protected] --name="Jane Smith"

Or create via the admin portal at /admin/supervisors.

Supervisors access their portal at /supervise and can only view deals assigned to them.

Documentation

DocumentDescription
deployment.mdHosted (Vercel) and self-hosted postures, environment variables
administration.mdTwo-level admin system, deal lifecycle, signing
lawyer-involvement.mdThree stages of lawyer involvement (EN)
intervencion-abogado.mdTres fases de intervención de abogado/a (ES)
agent-api.mdAgent Negotiation REST API reference
skills-and-licensing.mdSkill packages, licensing, activation, i18n

Project governance: SECURITY.md · CONTRIBUTING.md · NOTICES.md · CHANGELOG.md

Project Structure

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 logicprisma/├── schema.prisma          # Database schema└── seed.ts               # Seed dataskills/                    # Built-in contract templatesdocs/                      # Documentation

Key Concepts

Deal Flow

  1. Create — Initiator creates deal, selects skill and jurisdiction
  2. Invite — Respondent receives invitation link
  3. Submit — Both parties submit clause preferences and firmness levels
  4. Negotiate — Algorithm suggests compromises; parties can also propose changes to open fields (negotiable parameters)
  5. Agree — Parties accept final terms
  6. Sign — Contract generated for signing

Compromise Algorithm

stake = ((5-flexibility)/5 × 0.6) + (|bias| × 0.4)

Each party sets a firmness level (1–5) per clause; the UI shows firmness while the database stores flexibility (6 − firmness). The party with higher stake wins the clause; equal stakes trigger a balanced compromise. A global fairness pass rebalances if one party wins disproportionately.

Administration Levels

RolePortalAccess
Platform Admin/adminManage skill catalog, customers, supervisors
Supervisor/superviseMonitor assigned deals only
User/dealsOwn negotiations only

License

Copyright (c) 2025-2026 Rindogatan LLC

This project is licensed under the GNU Affero General Public License v3.0.

Under AGPL §13, if you run a modified Dealroom as a network service you must offer its Corresponding Source to your users. The /licenses page carries that offer (the footers no longer link to it since 2026-10-01); point it at your fork with NEXT_PUBLIC_SOURCE_URL at build time, and add a visible link if your deployment needs one. Third-party attribution lives in NOTICES.md.

来源:README.md,提交 8a63880

工具

0
工具元数据尚未被收录。

版本历史

1
  1. v1.0.0最新Oct 5, 2026