
1、安装 Nocobase CLI
参考网址:https://docs.nocobase.com/cn/ai/quick-start
第一步:安装 CLI
npm install -g @nocobase/cli@beta
nb —version
第二步:创建工作目录
工作目录名字可以自定义,但建议不要有空格等特殊字符,以免后续操作出问题。后续 CLI 相关的命令都需要在这个目录里执行。
注意,工作目录并不是安装的 Nocobase 实例目录,创建一个空目录就可以了:
mkdir my-nocobase && cd my-nocobase
第三步:初始化
nb init --ui
浏览器会自动打开可视化配置页面,分步引导你完成配置:
1)开始设置

2)连接已有应用
建议使用 API 密钥(API Key)进行连接。(在 Nocobase 应用的“设置 > API 密钥”创建密钥)
API 基础地址可以是本地的,也可以是远程的。

初始化成功后,工作区目录如下,已包含 .claude 目录(Claude Code 的项目级配置目录):

2、使用 Claude Code 给 Nocobase 应用创建数据表和页面
1)启动 Claude Code
在前面创建的工作目录(例如 my-nocobase)下运行 claude 命令:
claude --dangerously-skip-permissions
2)创建数据表和页面
使用以下提示词来创建客户数据表,以及客户管理页面:
帮我创建一个客户管理页面,包含姓名搜索框和客户表格,表格显示名称、电话、邮箱、创建时间,自动创建数据表,除 ID 外其他字段都要使用中文标题。

耗时2分13秒:

3)查看效果




4)添加新字段
提示词:
给客户添加一个联系人字段,数据表和页面(包含添加、查看、编辑、表格等)都要相应的修改。
耗时1分32秒:

5)查看添加字段的效果


6)创建工作流
提示词:
帮我创建客户修改记录功能,当客户信息修改后,新增一条客户修改记录。
## 数据表
customer_change_logs,字段:customer(关联客户,obo)、field_name(字段名称)、old_value(修改
前)、new_value(修改后)、operator(操作人)
## 工作流
request-interception 全局拦截 customers 的 update
节点链:query(旧值)→ script(对比生成变更数组)→ condition(判断非空,**必须用 basic
引擎,notEqual 与 “[]” 比较**)→ loop → create(写记录)
## 避坑
1. **condition 禁止用 LENGTH** — formula.js 不支持,只能 basic + notEqual
2. **scope 路径必须完整** — $scopes.<loop节点key>.item.xxx,不能用 $scopes.item.xxx
3. **script 过滤系统字段** — skipFields 排除 createdAt、updatedAt 等
4. **改配置前先 revision** — 已执行的节点不可修改
5. **关联字段用 obo** — collections apply 中 belongsTo 的接口名
生成的流程图如下:

其中的 Javascript 节点脚本:
const fieldLabels = { name: "名称", phone: "电话", email: "邮箱", contact: "联系人" };
const skipFields = ["id","createdAt","updatedAt","createdById","updatedById","created_at","updated_byId"];
const changes = [];
if (oldRecord && newValues) {
for (const key of Object.keys(newValues)) {
if (skipFields.includes(key)) continue;
const oldVal = oldRecord[key];
const newVal = newValues[key];
if (String(oldVal ?? "") !== String(newVal ?? "")) {
changes.push({ field_name: fieldLabels[key] || key, old_value: oldVal == null ? "" : String(oldVal), new_value: newVal == null ? "" : String(newVal) });
}
}
}
return changes;
客户修改记录如下:

