AB
AiBoss站
project

SOMA - 与编码智能体协作设计参数化 3D 模型的桌面 CAD 应用

SOMA 是一款桌面 CAD 应用,由编码智能体用 CadQuery 编写 Python 代码来建模,应用负责构建并实时显示结果。本文介绍其维护状态、主要能力、安装入口与 GPL-3.0 许可下的使用边界。

SOMA 是一款桌面 CAD 应用,定位是「Solid Object Modeling with Agents」:用户向编码智能体描述需求,智能体用 CadQuery 把模型写成 Python 代码,SOMA 负责构建并在 3D 视图中显示结果;用户查看、测量、在视图上标注问题,再让智能体改代码。按项目自述,它面向需要外壳、支架或安装件的创客与动手派,目标是不必花几个小时泡在传统 CAD 软件里,也不必先学会 CadQuery。它本身不是智能体,而是给已有 CLI 智能体提供工作区、3D 视图和一套命令行工具。

维护者与状态

仓库由 Kai-Jungsthoefel 维护,地址为 github.com/Kai-Jungsthoefel/SOMA,创建于 2026-10-10,最后一次提交在 2026-10-26。截至 2026-10-27,仓库获得 384 个星标,尚无正式 release。许可证为 GPL-3.0。项目另有一个官网 somacad.app。

据项目自述,SOMA 目前是早期原型(early prototype):主要在 Windows 上开发和测试,安装包也能在 Linux(Kubuntu)与 macOS(Apple Silicon)上运行,但在这两个平台上的使用量少得多;测试主要搭配 Claude Code 与 Claude Opus 5.5 作为智能体模型,其他智能体与模型同样可用;文件格式与 soma API 在 0.x 版本之间仍可能变化。项目还说明自身大部分代码由编码智能体(主要是 Claude Code)在人工指导与审查下写成,虽有测试,但要有遇到粗糙边缘的心理准备。目前接受 issue 形式的缺陷报告与想法,暂不接受 pull request。

主要能力

以下能力均据项目 README 自述整理:

  • 模型即代码:模型是 CadQuery 的 Python 代码,每次改动都会重新构建。
  • 一个模型一个文件:.soma 文件同时保存代码、结果与历史,类似传统 CAD 文件。
  • 指点、测量、绘制:点击零件、精确测量或在视图上画草图,并把标注发给智能体。
  • 剖切与爆炸视图:把模型切开查看内部,或把装配体拆开,SOMA 会推算每个零件的拆出方向。
  • 参数:修改智能体设为可调的数值,无需直接改代码。
  • 历史时间线:智能体的每一步都记录在时间线上,可预览并恢复旧状态。
  • 标准件与 STEP 导入:按尺寸表提供螺钉、螺母、垫圈与热熔嵌件,采购件可用 STEP 导入。
  • 技能(Skills):面向智能体的规则集,例如 3D 打印、CNC、激光切割、钣金与公差,按模型开关,可编辑或自行添加。
  • 分析:悬垂、壁厚检查,以及基于 CalculiX 的有限元强度分析。
  • 动画:用 Python 描述运动,在视图中播放或渲染成视频。
  • 导出:STEP、STL、3MF、DXF 等格式,技术图纸可导出为 PDF。
  • CadQuery 进出自由:可从现有 CadQuery 脚本起步,也可把模型导出为脚本供 CQ-editor 或 VS Code 使用。
  • 使用自己的文件夹:可直接打开已有文件夹(例如 Git 仓库)在其中工作。

在协作方式上,README 说明 SOMA 不绑定特定智能体:任何能读文件、执行命令的 CLI 智能体都可以,例如 Claude Code、OpenCode、Codex CLI、Gemini CLI;智能体在模型文件夹内的普通终端中运行,SOMA 能识别常见几种并可直接启动。智能体由用户自行安装和登录,订阅、模型选择与权限设置都留在用户手里。SOMA 提供给智能体的是一个命令行工具(soma build、soma analyze、soma render 等)以及一份写明项目规则的 AGENTS.md。此外也可以改用能操作本地文件夹并执行命令的桌面智能体应用,通过「Copy path for agent app」把模型路径交给它。

使用入口

代码仓库:Kai-Jungsthoefel/SOMA;官网与下载页:somacad.app。

据项目说明,安装包可从官网下载页或 releases 获取:Windows 提供安装程序或便携 ZIP,Linux 提供 AppImage 或 tar.gz,macOS(Apple Silicon)提供 dmg。Python、CadQuery、Git 与 CalculiX 已随包附带。前置条件是自行安装并登录一个 CLI 智能体,SOMA 不自带。从源码运行面向开发用途,安装脚本仅支持 Windows,需要 Node.js 22、Python 3.12 与 uv:

powershell -File python/scripts/setup_env.ps1
cd app
npm install
npm start

上手流程按 README 的描述是:新建模型(从一个带盖盒子的示例起步),用终端上方的「+」启动智能体,用自然语言描述需求,SOMA 在每次改动后重建并显示模型,最后从菜单导出 STL 或 3MF 等格式。应用内按 F1 可打开带编号截图的简短指南。

许可与限制

SOMA 以 GPL-3.0 发布。据 README 说明,它是自由软件,可使用、修改与分享;若分发修改后的版本,其源代码须以同一许可证开放。用户用 SOMA 设计的模型归用户所有,SOMA Model Exception 允许模型文件采用任意许可条款,即使它们 import 了 soma;STEP、STL 等导出文件不受 GPL 影响;「As CadQuery script」写入导出脚本的兼容代码另以 Apache License 2.0 提供。第三方组件保留各自许可证。

已知限制方面,README 提到:安装后占用超过 1 GB 磁盘空间,主要是 Python、CadQuery 与 OpenCascade;安装包尚未签名,Windows 首次启动会触发 SmartScreen 警告(可选「更多信息」后仍要运行),便携 ZIP 需先在属性中勾选「解除锁定」再解压到本地文件夹,macOS 首次打开需右键选择「打开」;Linux 需要 glibc 2.31 或更新版本。另外,没有文件访问与命令执行能力的纯聊天界面无法配合使用。项目自述为早期原型,格式与 API 仍可能变动,跨平台成熟度以 Windows 为主。