内容
# 提取 P&ID 联合编辑器
一个托管的、多租户的网络应用程序,拥有实时 Excalidraw 画布,用于设计大麻/碳氢化合物提取设备 P&ID 风格的图表。该应用程序暴露了自己的远程流式 HTTP MCP 服务器,用户将其作为自定义连接器添加到 Claude Desktop。人类在浏览器中绘制;Claude 通过 MCP 工具提出更改;人类在浏览器中接受/拒绝。确定性验证器控制每次提交。
> 不是认证的/盖章的工程工具。类似于 ISA-5.1;从未声称具有 PE 或许可有效性。
参见 `CLAUDE.md` 了解管辖工程背景,`docs/PRD_extraction-pid-coeditor_v0.1.0.md` 了解规格,`docs/TASK_GRAPH_v0.2.0.md` + `docs/EXECUTION.md` 了解构建计划。
## 技术栈
- Next.js 16(应用路由器,Turbopack)+ React 19 + TypeScript(严格模式)
- Tailwind CSS
- Postgres(迁移在 `db/migrations` 中)
- MCP 流式 HTTP 传输(协议 2025-11-25),OAuth + DCR
- Zod 验证在所有边界
## 先决条件
- Node.js 20+
- pnpm 9+
- Postgres(从 DEV-1132 开始需要;脚手架不需要)
## 快速开始
```bash
pnpm install
pnpm dev # 服务于 http://localhost:3000
```
## 脚本
| 命令 | 目的 |
|---------|---------|
| `pnpm dev` | 在 :3000 上运行开发服务器 |
| `pnpm build` | 生产构建 |
| `pnpm start` | 提供生产构建 |
| `pnpm lint` | ESLint |
| `pnpm typecheck` | `tsc --noEmit` |
| `pnpm test` | Vitest 单元/集成套件 |
| `pnpm test:e2e` | Playwright 端到端套件 |
## 目录布局
```
app/ Next.js 应用路由器路由 + 服务器操作
(canvas)/ 编辑器 UI
api/mcp/ MCP 流式 HTTP 端点
components/ React 组件(画布,调色板,提案审查)
lib/
validator/ 验证接口 + 连接性规则(域 = v2)
claude-transport/ 隔离的 MCP 传输(备用缝隙)
symbols/ 提取设备符号定义 + 必需属性
diagram/ 规范状态,提交管道,版本控制
metadata/ 并行元素 ID 键控元数据存储
proposals/ 提案生命周期(阶段/接受/拒绝)
db/migrations/ Postgres 迁移
test/
golden/ 视觉差异任务的黄金 SVG/截图装置
e2e/ Playwright 端到端规格
docs/ PRD,任务图,决策记录,HUMAN-VERIFY 注释
```