CADAM:开源文本转 CAD 网络应用
在浏览器中,将自然语言和图像即时转换为参数化 3D CAD 模型。
证据显示:README 中列出了多个 API 密钥(Anthropic、OpenRouter、OpenAI、Google、FAL、Supabase 服务角色密钥等)的环境变量,但未说明最小权限原则、用户确认机制或数据流透明度。未发现任何关于敏感数据处理、依赖安全审计、外部影响控制、回滚机制或来源归属的说明。因此所有信任标准均得 0 分。
证据显示:README 提供了安装和开发步骤,但未提供任何关于自一致性、依赖可用性或失败消息的说明。没有测试结果或错误处理文档。因此所有可靠性标准均得 0 分。
证据显示:README 描述了目标受众(3D 打印和 CAD 社区)和多种使用场景(自然语言生成、图像参考等),但未明确能力边界、触发精度或环境适配细节。因此这些标准得 0 分。
证据显示:README 提供了信息架构(功能列表、基准测试)、安装说明、示例(基准测试)和许可证(GPL-3.0),但缺少命名稳定性、已知限制、版本变更日志和维护责任说明。因此部分标准得 0 分,部分得 1 分。
证据显示:README 展示了输出格式(STL、SCAD、DXF)和基准测试,但未提供关于输出可用性、边际价值或成本效益的定量或定性分析。因此所有标准得 0 分。
证据显示:README 中的声明(如“生成 CAD 模型”)未提供可追溯的证据,基准测试链接存在但未提供独立验证,且未区分事实与推断。因此所有标准得 0 分。
- 该仓库要求配置多个第三方 API 密钥,包括服务角色密钥,存在敏感信息泄露风险。
- 未提供任何安全审计或依赖漏洞扫描的证据。
- 未提供回滚或数据恢复机制。
- 未提供已知限制或故障排除指南。
- 未提供版本变更日志或维护责任说明。
这个 Agent 能做什么,适合哪些场景?
CADAM 是一款开源、基于浏览器的文本转 CAD 应用,利用 AI 将自然语言描述和图像转换为完全参数化的 OpenSCAD 模型。它采用 React 19、TypeScript 和 TanStack Start 构建,通过 WebAssembly 在浏览器中运行 OpenSCAD,支持实时预览和导出为 STL、SCAD 和 DXF 格式。该应用的后端由 Supabase 提供支持,支持 AI 生成、交互式参数控制和智能更新,无需重新生成即可高效调整参数。其基准测试展示从 V8 发动机到六角螺栓等复杂模型,证明了其能力。CADAM 为 3D 打印和 CAD 爱好者设计,注重可访问性,提供实时演示和本地开发环境。
CADAM 接收自然语言描述或参考图像,通过 AI 模型(如 Anthropic Claude)生成完全参数化的 OpenSCAD 代码。它提取关键尺寸作为可调参数,使用 Three.js 和 React Three Fiber 进行实时预览。应用集成 OpenSCAD WebAssembly 进行本地渲染,支持导出为 .STL、.SCAD 或 .DXF 格式。后端使用 Supabase 进行认证、存储和计费,并通过 TanStack Start 服务器路由提供服务。其工作流程包括使用 npm install 进行设置、运行 Supabase 本地实例,以及配置多个 API 密钥(如 Anthropic、OpenRouter、OpenAI、Google)来实现 AI 生成。
- 希望快速将口头概念转化为可打印的 3D 模型的 3D 打印爱好者,无需建模软件经验。
- 需要快速原型化零件并通过导出 .STL 文件获取 CAD 文件的机械工程师。
- 教育工作者希望通过自然语言和实时预览向学生演示 CAD 设计原理。
- 希望生成参数化模型库(如 V8 发动机或行星齿轮箱)以供进一步调整和打印的创客。
- 希望集成类似 CAD 生成功能并优先考虑可自托管和开源解决方案的软件开发者。
- 在车间环境中,希望无需安装重型软件即可进行快速设计迭代的设计师。
这个 Agent 有哪些优点和局限?
- 在浏览器中完全通过 WebAssembly 运行,无需本地安装 CAD 软件。
- 输出真正的参数化 OpenSCAD 代码,可完全编辑并导出为多种格式(STL、SCAD、DXF)。
- 支持自然语言和图像输入,覆盖广泛的设计场景。
- 具有基准测试库,展示对复杂机器(如 V8 发动机和涡轮风扇发动机)的建模能力。
- 采用现代技术栈(React、TanStack Start、Supabase、Anthropic Claude),易于定制和扩展。
- 依赖多个外部 AI API 提供商(Anthropic、OpenRouter、OpenAI、Google)和 FAL 生成图像,产生 API 成本和提供商锁定。
- 本地开发需要复杂的环境设置,包括 Supabase、ngrok 和多个 API 密钥。
- 核心 AI 生成能力与特定提供商(如 Anthropic)紧密耦合,更换提供商需要代码修改。
- 文档尚未完全覆盖所有部署场景,例如生产级部署的详细步骤。
- GPL-3.0 许可证可能限制某些商业用途或专有集成。
- 浏览器中的 WebAssembly OpenSCAD 渲染可能无法与桌面 CAD 软件的性能和精度相匹配。
如何安装或部署这个 Agent?
首先,克隆仓库并安装依赖:
git clone https://github.com/Adam-CAD/CADAM.git
cd CADAM
npm install需要 Node.js(^20.19.0 或 >=22.12.0)、npm 10+、Supabase CLI 和 ngrok(用于本地 Webhook)。启动 Supabase:
npx supabase start接下来,复制 .env.local.template 到 .env.local,并填写必需的密钥:VITE_SUPABASE_ANON_KEY、VITE_SUPABASE_URL,以及服务器端变量 ANTHROPIC_API_KEY、OPENROUTER_API_KEY、OPENAI_API_KEY、GOOGLE_API_KEY、FAL_KEY、SUPABASE_SERVICE_ROLE_KEY、BILLING_SERVICE_URL、BILLING_SERVICE_KEY、ENVIRONMENT="local"、ADAM_URL 和 WEBHOOK_BASE_URL。
如何使用这个 Agent?
设置完成后,启动 Supabase 函数和开发服务器:
npx supabase functions serve --no-verify-jwt
npm run dev在生产或本地部署时,需要为 Webhook 配置一个公共 URL(如 Ngrok),确保 WEBHOOK_BASE_URL 指向该地址。然后访问 http://localhost:3000 使用应用。在界面中输入描述或上传图像,CADAM 将生成参数化模型,您可以通过滑块调整参数,并导出为 .STL、.SCAD 或 .DXF。也可访问公开演示站点 https://adam.new/cadam。