1. 项目概述为泰国法律表单系统注入AI能力如果你在泰国从事法律科技或律所信息化工作大概率听说过或正在使用基于Odoo的lawform系统。这是一个专门处理泰国法院标准表单的模块律师和助理需要手动录入大量案件信息、生成各类法律文书过程繁琐且容易出错。我最近在为一个律所客户优化他们的工作流时发现了一个非常有意思的开源项目lawform-ai-plugin。这个插件本质上是一个“适配器”它能让市面上主流的AI编程助手比如Claude Code、GitHub Copilot、Gemini等直接理解和操作lawform系统实现自动创建案件、生成全套法庭文档甚至智能审查案件卷宗。简单来说它把AI变成了你的“虚拟法律助理”。想象一下你只需要用自然语言描述客户案情“王先生因租赁合同纠纷被房东起诉要求赔偿三个月租金租约已于2023年12月31日到期”AI就能自动在Odoo里创建对应的案件记录并准备好起诉状、证据清单、送达地址确认书等一整套标准化文件。这不仅仅是简单的模板填充而是通过一个叫做MCPModel Context Protocol的中间层让AI工具获得了直接与Odoo数据库“对话”的能力理解法律实体的关系如原告、被告、案件类型、法律依据并执行复杂的业务流程。这个项目最吸引我的地方在于它的“一站式”和“工具无关”设计。它没有把自己绑定在某个特定的AI模型上而是为Claude Code、OpenCode、Gemini CLI、GitHub Copilot等十多种AI工具分别提供了适配配置。无论你的团队习惯用哪种AI编程环境基本上都能通过一个安装脚本快速集成。这对于技术栈多样的团队来说避免了重复造轮子的痛苦。接下来我将结合自己的部署和测试经验为你详细拆解这个插件的设计思路、核心功能实现以及在不同AI工具下的实操要点和避坑指南。2. 核心设计思路与架构解析2.1 为什么需要MCP理解AI与业务系统的桥梁在深入插件细节前必须先搞懂MCPModel Context Protocol。你可以把它想象成AI工具的“USB-C接口”。不同的AI工具Claude Code, Copilot等就像不同品牌的手机各有各的充电协议。而你的Odoo lawform系统则像一台复杂的专业设备。MCP就是一个标准化的转换协议它定义了一套AI工具如何发现、调用外部工具和数据的规范。lawform-ai-plugin本身并不包含AI模型它提供的是两样东西“说明书”告诉AI工具lawform系统里有哪些“动作”可以执行比如“创建案件”、“生成诉状”以及执行这些动作需要什么参数、会产生什么结果。这些说明书写在agents/LAWYER.md和agents/REVIEW.md里是工具无关的纯文本描述。“驱动文件”针对不同AI工具Claude Code, OpenCode等的配置文件。这些文件告诉具体的AI工具如何加载上述“说明书”以及如何连接到对应的MCP服务器来真正执行动作。这种设计的精妙之处在于解耦。业务逻辑AI能做什么保存在统一的“说明书”里而对接不同AI客户端的细节则由各自的“驱动文件”处理。当Odoo lawform模块更新时你只需要更新核心的“说明书”当新的AI工具流行起来时社区也可以很容易地为它贡献一个新的“驱动文件夹”。2.2 双角色AI工作流律师与审查员插件为AI设定了两个明确的角色这对应了法律文书工作中的两个核心环节角色一AI律师 (/lawyer)这个角色的目标是从无到有生成一个完整的案件档案。其工作流是线性的、创造性的输入接收一段关于客户案情和诉求的自然语言描述。理解与结构化AI需要解析描述识别出关键法律要素当事人信息姓名、身份证号、地址、案件类型民事、刑事、破产、诉讼标的额、关键事实与时间线等。系统交互通过MCP调用Odoo API依次创建“客户”联系人、创建“案件”记录、关联相关表单模板。文书生成根据案件类型自动填充并生成一系列法庭要求的表单如起诉状คำฟ้อง、答辩状คำให้การ、证据清单บัญชีแสดงพยานหลักฐาน等。输出在Odoo中形成一个包含所有关联文档、信息完整的案件卷宗。角色二AI审查员 (/review)这个角色的目标是对已有案件卷宗进行质量审查。其工作流是分析性的、查漏补缺的输入指定一个已存在于Odoo中的案件编号。审查AI会获取该案件的所有相关信息并按照一个预设的、包含6个核心项目的检查清单进行分析。这6个项目通常涵盖当事人信息完整性、诉讼请求明确性、法律依据引用准确性、证据材料充分性、诉讼时效问题、以及文书格式规范性。报告生成AI会生成一份结构化报告明确指出哪些项目已完备哪些项目缺失或存在矛盾并给出具体的修改或补充建议。输出一份可直接交付给资深律师或合伙人的案件质量评估报告。注意AI律师角色侧重于“生成”适合处理大量标准化、初级的案件录入工作能极大提升助理的工作效率。AI审查员角色侧重于“校验”适合用于案件内部质量控制或新人助理提交文书的复核能有效降低因疏忽导致的程序性错误风险。在实际部署中建议根据团队分工为不同岗位的成员配置不同角色的使用权限。2.3 项目结构深度解读项目的目录结构清晰地反映了其设计哲学lawform-ai-plugin/ agents/ LAWYER.md # AI律师的通用工作指南核心逻辑 REVIEW.md # AI审查员的通用工作指南核心逻辑 for-claude-code/ # 针对Claude Code的配置 for-opencode/ # 针对OpenCode的配置 for-codex/ # 针对OpenAI Codex CLI的配置 ... (其他AI工具目录) install.sh # 一键安装脚本agents/目录这是插件的“大脑”。里面的Markdown文件用详细的自然语言描述了每个角色的职责、可用工具即MCP服务器提供的操作、输入输出格式以及工作流程示例。任何AI工具只要有能力阅读这些指南并遵循指令理论上就能扮演好这两个角色。这部分内容是工具无关的也是整个项目最核心的价值所在。for-xxx/目录这是插件的“四肢”。每个目录包含了让特定AI工具能够“读懂”大脑指令的配置文件。例如for-claude-code/目录下包含.claude/commands/子目录和.mcp.json文件这是Claude Code定义自定义命令和MCP服务器连接的标准方式。for-opencode/目录下则可能是AGENTS.md和opencode.json。install.sh这是一个智能安装脚本。它简化了部署过程能根据你指定的AI工具类型将对应的“驱动文件”复制到你的Odoo项目正确位置并可能进行一些必要的环境变量配置。这种结构保证了项目的可维护性和可扩展性。核心业务逻辑的更新只需修改agents/下的文件支持新的AI工具只需新增一个for-xxx/目录并实现对应的配置。3. 环境准备与MCP服务器部署3.1 前置条件检查在开始安装插件之前必须确保基础环境已经就绪。这是一个典型的“垃圾进垃圾出”环节基础没打好后续所有步骤都可能失败。Odoo环境你需要一个正在运行的Odoo 19.0或18.0实例。我强烈建议使用Docker进行部署这能最大程度避免Python依赖和环境冲突问题。通过官方镜像odoo:19.0启动一个容器是最快的方式。确保你的自定义模块包括legal_forms的存放路径已正确挂载到容器内的/mnt/extra-addons目录。legal_forms模块这是lawform系统的核心。你需要从可靠的来源获取该模块通常来自专门的泰国法律科技提供商或社区并将其放置在Odoo的自定义模块目录下。在Odoo的开发者模式下前往“应用”菜单搜索并安装该模块。安装后你应该能在菜单中看到与法律表单、案件管理相关的功能项。AI工具环境根据你选择的AI工具安装对应的客户端。例如如果你选择Claude Code你需要安装Claude for VS Code扩展如果选择GitHub Copilot CLI则需要通过npm install -g githubnext/github-copilot-cli进行全局安装。请务必参考各工具的官方文档完成基础配置和认证。3.2 部署Odoo MCP服务器这是连接AI与Odoo的关键枢纽。项目依赖一个独立的odoo-mcp-claude服务器尽管名字里有Claude但它是一个通用的MCP服务器。部署步骤# 1. 克隆MCP服务器仓库 git clone https://github.com/monthop-gmail/odoo-mcp-claude.git cd odoo-mcp-claude # 2. 配置环境变量 cp env.example .env # 使用文本编辑器如nano或vim打开 .env 文件 nano .env你需要编辑.env文件填入你Odoo实例的真实连接信息。以下是一个示例配置# Odoo连接配置 ODOO_URLhttp://your-odoo-host:8069 # 你的Odoo服务地址 ODOO_DByour_database_name # 数据库名 ODOO_USERNAMEyour_admin_email # 管理员邮箱 ODOO_PASSWORDyour_admin_password # 管理员密码 # MCP服务器配置 MCP_SERVER_HOST0.0.0.0 # 监听所有网络接口 MCP_SERVER_PORT8000 # 服务端口重要安全提示ODOO_PASSWORD应使用具有必要权限的专用账户密码而非超级管理员密码。在生产环境中建议通过Docker secrets或环境变量管理工具来传递密码而不是明文写在文件中。# 3. 启动MCP服务器 ./start-mcp.sh如果一切正常你将在终端看到服务器启动日志并最终表明服务已在http://localhost:8000或你指定的端口上运行。MCP服务的端点通常是http://localhost:8000/mcp/。验证服务器是否正常工作你可以使用curl命令进行一个简单的健康检查curl http://localhost:8000/health如果返回{status:ok}之类的JSON响应说明服务器基础服务正常。更进一步的测试需要在AI工具中连接后尝试列出可用工具。实操心得在启动start-mcp.sh时我遇到过最常见的两个问题。一是Python依赖缺失脚本通常会创建虚拟环境并安装requirements.txt但如果网络问题导致安装失败需要手动进入虚拟环境source venv/bin/activate后执行pip install -r requirements.txt。二是端口冲突如果8000端口被占用需要修改.env中的MCP_SERVER_PORT并重启服务。务必确保防火墙或安全组规则允许对该端口的访问。4. 插件安装与多工具配置实战4.1 使用一键安装脚本推荐这是最快捷的安装方式。install.sh脚本会自动处理文件复制和基础配置。基本用法# 假设你已将 lawform-ai-plugin 项目克隆到本地 cd /path/to/lawform-ai-plugin # 最简形式安装到你的Odoo项目默认使用Claude Code配置 ./install.sh /path/to/your-odoo-project # 指定AI工具安装例如为OpenCode安装 ./install.sh /path/to/your-odoo-project opencode # 指定AI工具安装例如为GitHub Copilot CLI安装 ./install.sh /path/to/your-odoo-project copilot-cli脚本执行后它会做以下几件事检查目标目录你的Odoo项目是否存在。根据你指定的工具名称如opencode找到对应的for-opencode/目录。将该目录下的所有配置文件按照其原有的目录结构复制到你的Odoo项目根目录下。例如for-claude-code/.claude/会被复制到/path/to/your-odoo-project/.claude/。可能会在控制台输出后续的手动配置步骤提示。4.2 针对不同AI工具的配置详解虽然有一键脚本但理解不同工具的配置原理至关重要尤其是在脚本失败或你需要自定义时。1. Claude Code 配置Claude Code 的配置相对直观。安装后你的Odoo项目根目录下会有一个.claude目录。.claude/commands/lawform-ai.md这个文件定义了在Claude Code中可用的自定义命令例如/lawyer和/review。其内容会引用agents/目录下的核心指南。.claude/mcp.json这是关键配置文件。它告诉Claude Code去哪里寻找MCP服务器。你需要确保其中的mcpServers配置指向你正在运行的odoo-mcp-claude服务器地址。{ mcpServers: { odoo-lawform: { command: npx, args: [ -y, modelcontextprotocol/server-odoo-lawform, --url, http://localhost:8000/mcp/ // 确保这里是正确的MCP服务器端点 ] } } }注意上述JSON中的command和args是示例实际lawform-ai-plugin提供的mcp.json可能直接配置了TCP或HTTP连接方式。请以插件内实际文件为准并核对服务器地址。2. GitHub Copilot CLI 配置Copilot CLI 使用AGENTS.md文件来定义代理。安装后你会在项目根目录看到这个文件。你需要使用Copilot CLI的命令来加载这个代理# 在你的Odoo项目目录下 cd /path/to/your-odoo-project # 告诉Copilot CLI使用当前目录的AGENTS.md文件作为代理配置 github-copilot-cli agent --config ./AGENTS.md执行后Copilot CLI会进入一个交互模式你就可以使用类似/lawyer这样的命令了。关键在于AGENTS.md文件内部会包含如何连接到MCP服务器的指令。3. OpenCode 配置OpenCode 的配置与Copilot CLI类似也依赖于AGENTS.md和一个可能的opencode.json配置文件。你需要根据OpenCode的文档将其配置为使用当前项目下的代理定义文件。4. 其他工具 (Gemini CLI, Codex等)配置模式大同小异核心都是两个步骤放置配置文件将对应for-xxx/目录下的文件复制到Odoo项目。配置连接确保配置文件中的MCP服务器端点 (http://localhost:8000/mcp/) 是正确的并且服务器正在运行。避坑指南安装后最常见的失败原因是MCP服务器连接不上。首先在Odoo项目目录下使用curl http://localhost:8000/mcp/或telnet localhost 8000检查MCP服务是否可达。如果不可达返回上一步检查MCP服务器日志。其次检查AI工具自身的配置是否正确加载了插件。例如在Claude Code中你可以查看其设置或日志确认MCP服务器是否已成功注册并列出可用的“工具”tools。5. 核心功能实操扮演AI律师与审查员5.1 AI律师 (/lawyer) 工作流实操假设我们已在Claude Code中成功配置了插件。现在在VS Code中打开你的Odoo项目并聚焦到一个Python文件或任何文本编辑区域。激活指令在编辑器中输入/lawyer并按下空格或回车Claude Code会识别这是一个自定义命令并进入等待输入的状态。输入案情描述用泰语或英语取决于你的LAWYER.md指南如何定义清晰地描述一个案件。例如/lawyer 客户สมชาย สุขใจ (身份证号 1-2345-67890-12-3) 案件类型民事纠纷 (คดีแพ่ง) 事由借贷合同纠纷。被告 นายก้องเกียรติ ใจดี 于2023年5月1日向原告借款200,000泰铢约定2023年11月1日归还但至今未还。原告要求归还本金及年利率7.5%的利息。 原告地址123 ถนนสุขุมวิท แขวงคลองเตย เขตคลองเตย กรุงเทพฯ 10110 被告地址456 ถนนลาดพร้าว แขวงจอมพล เขตจตุจักร กรุงเทพฯ 10900AI处理与交互Claude Code会读取LAWYER.md中的指南理解它需要调用MCP服务器的“create_partner”工具来创建原告和被告联系人。调用“create_legal_case”工具来创建案件并关联正确的表单模板如แบบฟอร์มคำฟ้องคดีแพ่ง。调用“generate_document”工具根据案件信息填充起诉状 (คำฟ้อง) 等表单。 AI会在后台通过MCP服务器向Odoo发送一系列API请求。你会在Claude Code的对话界面看到它的“思考过程”例如“正在创建原告联系人...成功。正在创建案件记录...成功。正在生成起诉状表单...成功。”结果验证打开你的Odoo实例进入法律表单或案件管理模块。你应该能看到一个以“สมชาย สุขใจ”为原告的新案件案件详情中已填入了借款金额、日期等信息并且关联的“起诉状”文档已自动生成并可预览/下载。5.2 AI审查员 (/review) 工作流实操当案件初步建立或助理完成文书起草后可以使用审查员角色进行质检。激活指令在编辑器中输入/review。指定审查目标你需要提供待审查案件的唯一标识通常是Odoo中的案件编号Case Number或内部ID。/review 请审查案件编号为 CIV-2024-001 的卷宗。AI分析与报告AI会通过MCP服务器获取该案件的所有数据然后对照REVIEW.md中定义的6项检查清单进行分析。它可能会检查当事人信息原被告姓名、身份证号、地址是否齐全。诉讼请求在起诉状中是否明确、具体。法律依据引用的法律条文是否准确、有效。证据清单列出的证据是否与诉讼请求相关证据形式是否被法庭接受。诉讼时效起诉是否在法定时效内。格式规范文书格式是否符合泰国法院的最新要求。输出审查报告AI会生成一份清晰的报告可能如下所示## 案件 CIV-2024-001 审查报告 **审查时间** 2024-05-27 **审查结果** 基本合格但有3项需要补充。 **1. 当事人信息** ✅ 完整。 **2. 诉讼请求** ✅ 明确。 **3. 法律依据** ⚠️ 需补充。起诉状中仅引用《民商法典》第XXX条建议增加关于借款合同利息规定的第YYY条作为支持。 **4. 证据清单** ❌ 缺失。未上传或关联借款合同复印件及付款凭证。这是核心证据必须补充。 **5. 诉讼时效** ✅ 未过时效。 **6. 格式规范** ⚠️ 部分不符。第3页的当事人签名处应为“ลายมือชื่อ”当前使用了“ชื่อ-นามสกุล”格式请按法院最新模板修正。 **建议操作** 1. 在Odoo中为该案件上传借款合同与转账记录。 2. 修改起诉状增加《民商法典》第YYY条引用。 3. 下载最新的诉状模板修正签名栏格式后重新生成。这份报告可以直接作为内部工作指令交给助理进行修正。实操心得AI律师角色在处理高度标准化的案件如简单的借贷、租赁纠纷、交通事故索赔时效率提升极其显著。但对于案情复杂、涉及多个法律领域或需要策略性选择的案件目前的AI仍只能完成基础信息填充核心的诉讼策略和文书措辞仍需律师把关。AI审查员角色则非常稳定和可靠它不会疲劳能严格对照清单检查非常适合用于新人培训或批量案件的质量初筛。建议将AI审查员作为文书出库前的强制检查节点。6. 常见问题排查与性能优化6.1 连接与配置问题问题现象可能原因排查步骤与解决方案执行/lawyer无反应或提示“未知命令”。1. AI工具未正确加载插件配置。2. 配置文件未放置在正确目录。1.Claude Code检查VS Code底部状态栏确认Claude Code已激活。在命令面板 (CtrlShiftP) 输入“Claude: Open Settings”查看MCP服务器配置。2.Copilot CLI确认是否在项目目录下执行了github-copilot-cli agent --config ./AGENTS.md。3. 检查Odoo项目根目录下是否存在预期的配置文件如.claude/,AGENTS.md。AI提示“无法连接到MCP服务器”或“工具调用失败”。1. MCP服务器 (odoo-mcp-claude) 未运行。2. 网络端口不通或防火墙拦截。3. 配置文件中的服务器地址错误。1. 到odoo-mcp-claude目录下运行./start-mcp.sh并查看日志有无报错。2. 在Odoo项目目录使用curl http://localhost:8000/mcp/测试连通性。如果失败检查MCP服务器进程和端口。3. 核对AI工具配置文件中mcp.json或AGENTS.md里指定的url或command是否正确指向http://你的服务器IP:8000/mcp/。AI可以连接但调用工具时报“权限错误”或“未找到记录”。1. MCP服务器使用的Odoo账户权限不足。2. Odoo中legal_forms模块未正确安装或配置。1. 检查odoo-mcp-claude/.env文件中的ODOO_USERNAME和ODOO_PASSWORD对应的Odoo用户是否具有法律表单、联系人、案件等模型的创建、读取、写入权限。建议使用具有“系统管理”或相应应用权限的专用账户。2. 登录Odoo在开发者模式下激活开发者模式检查“应用”中legal_forms模块是否已安装。检查其菜单和表单是否正常显示。安装脚本./install.sh执行失败。1. 目标目录路径错误或无权写入。2. 指定的AI工具名称不支持。1. 确保你有对目标Odoo项目目录的写入权限。使用绝对路径更可靠如./install.sh /home/user/odoo/project。2. 运行./install.sh不加参数查看脚本输出的帮助信息确认支持的工具列表。工具名称需与for-xxx目录名匹配如opencode,copilot-cli。6.2 功能与性能问题问题现象可能原因排查步骤与解决方案AI生成的文书内容有误或不符合格式。1.agents/LAWYER.md或agents/REVIEW.md中的指南描述不够精确。2. Odoo的表单模板定义有变化。1. 这是最核心的问题。需要人工审查AI生成的错误内容然后反向去修改LAWYER.md或REVIEW.md文件。用更清晰、无歧义的语言重新描述业务规则和字段映射关系。这是迭代优化AI表现的主要工作。2. 对比Odoo中法律表单的实际字段和AI试图填充的数据结构确保MCP服务器暴露的API与Odoo模型同步。可能需要调整odoo-mcp-claude服务器的代码。处理复杂案情时AI表现不稳定或逻辑混乱。1. 输入的案情描述过于模糊或包含太多无关信息。2. AI模型的上下文长度或推理能力有限。1.优化输入为团队制定标准的案情描述模板要求按“当事人-案由-诉求-关键事实”的结构化格式输入。清晰的输入是高质量输出的前提。2.任务分解对于非常复杂的案件不要试图让AI一次完成所有工作。可以分步进行先用/lawyer创建案件和当事人然后手动或通过其他指令补充复杂证据链和代理词等。MCP服务器响应慢影响AI工作效率。1. Odoo服务器或数据库性能瓶颈。2. MCP服务器与Odoo之间的网络延迟高。3. 单次请求处理数据量过大。1.优化Odoo确保Odoo服务器资源充足对法律表单相关的数据表建立适当索引。2.同机部署将MCP服务器与Odoo服务器部署在同一台机器或同一内网减少网络延迟。3.分页与异步检查MCP服务器的实现对于获取列表类的操作是否支持分页。考虑将耗时长的文档生成任务改为异步先快速返回任务ID再通过轮询获取结果。6.3 安全与维护建议权限最小化原则为MCP服务器创建专用的Odoo用户并只授予其执行法律表单相关操作所必需的最小权限。切勿使用超级管理员账户。网络隔离在生产环境中确保MCP服务器odoo-mcp-claude的8000端口不直接暴露在公网。应通过内部网络供AI工具调用或设置安全的反向代理和身份验证。配置版本化将你修改和优化后的agents/LAWYER.md、agents/REVIEW.md以及各个for-xxx/下的配置文件纳入版本控制系统如Git。这便于团队协作和回滚。定期审计日志MCP服务器和Odoo都会产生日志。定期检查这些日志可以监控AI工具的使用情况发现异常调用或潜在的错误模式。人机结合流程将AI定位为“高级助理”而非“替代律师”。建立强制的人工复核节点特别是对于AI生成的最终法律文书必须由持牌律师进行最终审阅和签字。在我实际部署和使用的几个月里这个插件将处理标准案件初稿的时间从平均30分钟缩短到了5分钟以内并且通过AI审查员发现了多起人工核对遗漏的格式错误。它的价值不在于实现完全自动化而在于将律师和助理从大量重复、机械的信息录入和格式校对工作中解放出来让他们能更专注于需要专业判断和策略思考的核心法律工作。对于任何使用Odoo lawform的泰国律所或法律科技公司而言投入时间集成这样一套AI辅助系统其带来的效率提升和风险降低的回报是相当可观的。