关于 nocodb
nocodb 是用于 NocoDB API 的命令行技能,通过脚本管理工作区、Base、表、字段和记录等资源。它支持名称或 ID 参数,并按套餐开放不同 API。
主要功能
- 01通过 Bash 脚本调用 NocoDB API
- 02管理 Base、表、字段和记录
- 03筛选、排序及关联记录操作
- 04上传附件
- 05企业版 API 的工作区与团队管理
适用场景
- 01从命令行维护表结构和记录
- 02按条件筛选并排序记录
- 03关联记录或上传附件
- 04管理企业版工作区成员
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ nocodb/ agent-skills --skill nocodb安装后在 Claude Code 中输入/nocodb确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdLICENSE.claude-plugin/marketplace.json.cursor-plugin/marketplace.jsonplugins/nocodb/CHANGELOG.md.mcp.jsonLICENSEmcp.jsonREADME.mdplugins/nocodb/.claude-plugin/plugin.jsonplugins/nocodb/.cursor-plugin/plugin.jsonplugins/nocodb/.grok-plugin/plugin.jsonplugins/nocodb/skills/nocodb/scripts/nocodb.ps1nocodb.shscripts/nocodb.sh详细介绍
NocoDB CLI
NocoDB API 的 CLI。
平台支持
- Linux / macOS:
scripts/nocodb.sh(Bash,需要curl和jq)
以下所有示例均调用 scripts/nocodb.sh(相对于此技能目录)——没有独立的 nc 二进制文件,且不得使用 nc,因为它是 netcat 工具。
计划要求
免费计划: Base、Table、Field、Record、Link、Attachment API、Fiter、Sorts API
企业版(可自托管或云托管): Workspace、Workspace Collaboration API、Base Collaboration API、View、Script、Team、API Token API
设置
export NOCODB_TOKEN="your-api-token"
export NOCODB_URL="https://app.nocodb.com" # optional, this is default
export NOCODB_VERBOSE=1 # optional, shows resolved IDs
获取 API 令牌:NocoDB → Team & Settings → API Tokens → Add New Token。
参数顺序
命令遵循分层模式。参数始终按以下顺序排列:
WORKSPACE → BASE → TABLE → VIEW/FIELD → RECORD
你可以使用名称(便于人类阅读)或 ID(速度更快,可从 NocoDB 获取)。
ID 前缀: w=工作区,p=Base,m=表,c=列,vw=视图
示例:
- 名称:
scripts/nocodb.sh record:list MyBase Users - ID:
scripts/nocodb.sh record:list pdef5678uvw mghi9012rst
设置 NOCODB_VERBOSE=1 可查看解析后的 ID:
NOCODB_VERBOSE=1 scripts/nocodb.sh field:list MyBase Users
# → base: MyBase → pdef5678uvw
# → table: Users → mghi9012rst
快速参考
# Workspace APIs (Enterprise only)
scripts/nocodb.sh workspace:list # → wabc1234xyz
# Free plan APIs
scripts/nocodb.sh base:list wabc1234xyz # → pdef5678uvw
scripts/nocodb.sh table:list pdef5678uvw # → mghi9012rst
scripts/nocodb.sh field:list pdef5678uvw mghi9012rst # → cjkl3456opq
scripts/nocodb.sh record:list pdef5678uvw mghi9012rst
scripts/nocodb.sh record:get pdef5678uvw mghi9012rst 31
scripts/nocodb.sh filter:list pdef5678uvw mghi9012rst vwmno7890abc
# View APIs (Enterprise only: self-hosted or cloud-hosted)
scripts/nocodb.sh view:list pdef5678uvw mghi9012rst # → vwmno7890abc
# Filter syntax help
scripts/nocodb.sh where:help
命令
工作区
注意: Workspace API 和 Workspace Collaboration API 仅适用于可自托管的企业版计划和云托管的企业版计划。
scripts/nocodb.sh workspace:list # → wabc1234xyz
scripts/nocodb.sh workspace:get wabc1234xyz
scripts/nocodb.sh workspace:create '{"title":"New Workspace"}'
scripts/nocodb.sh workspace:update wabc1234xyz '{"title":"Renamed"}'
scripts/nocodb.sh workspace:delete wabc1234xyz
scripts/nocodb.sh workspace:members wabc1234xyz
scripts/nocodb.sh workspace:members:add wabc1234xyz '{"email":"[email protected]","roles":"workspace-creator"}'
scripts/nocodb.sh workspace:members:update wabc1234xyz '{"email":"[email protected]","roles":"workspace-viewer"}'
scripts/nocodb.sh workspace:members:remove wabc1234xyz '{"email":"[email protected]"}'
Base
scripts/nocodb.sh base:list wabc1234xyz # → pdef5678uvw
scripts/nocodb.sh base:get pdef5678uvw
scripts/nocodb.sh base:create wabc1234xyz '{"title":"New Base"}'
scripts/nocodb.sh base:update pdef5678uvw '{"title":"Renamed"}'
scripts/nocodb.sh base:delete pdef5678uvw
Base Collaboration(仅限企业版计划)
scripts/nocodb.sh base:members pdef5678uvw
scripts/nocodb.sh base:members:add pdef5678uvw '{"email":"[email protected]","roles":"base-editor"}'
scripts/nocodb.sh base:members:update pdef5678uvw '{"email":"[email protected]","roles":"base-viewer"}'
scripts/nocodb.sh base:members:remove pdef5678uvw '{"email":"[email protected]"}'
表
scripts/nocodb.sh table:list pdef5678uvw # → mghi9012rst
scripts/nocodb.sh table:get pdef5678uvw mghi9012rst
scripts/nocodb.sh table:create pdef5678uvw '{"title":"NewTable"}'
scripts/nocodb.sh table:update pdef5678uvw mghi9012rst '{"title":"Customers"}'
scripts/nocodb.sh table:delete pdef5678uvw mghi9012rst
字段
scripts/nocodb.sh field:list pdef5678uvw mghi9012rst # → cjkl3456opq
scripts/nocodb.sh field:get pdef5678uvw mghi9012rst cjkl3456opq
scripts/nocodb.sh field:create pdef5678uvw mghi9012rst '{"title":"Phone","type":"PhoneNumber"}'
scripts/nocodb.sh field:update pdef5678uvw mghi9012rst cjkl3456opq '{"title":"Mobile"}'
scripts/nocodb.sh field:delete pdef5678uvw mghi9012rst cjkl3456opq
字段类型:SingleLineText、LongText、Number、Decimal、Currency、Percent、Email、URL、PhoneNumber、Date、DateTime、Time、SingleSelect、MultiSelect、Checkbox、Rating、Attachment、Links、User、JSON 等。
视图
注意: View API 仅适用于可自托管和云托管的企业版计划。
scripts/nocodb.sh view:list pdef5678uvw mghi9012rst # → vwmno7890abc
scripts/nocodb.sh view:get pdef5678uvw mghi9012rst vwmno7890abc
scripts/nocodb.sh view:create pdef5678uvw mghi9012rst '{"title":"Active Users","type":"grid"}'
scripts/nocodb.sh view:update pdef5678uvw mghi9012rst vwmno7890abc '{"title":"Renamed"}'
scripts/nocodb.sh view:delete pdef5678uvw mghi9012rst vwmno7890abc
视图类型:grid、gallery、kanban、calendar
记录
scripts/nocodb.sh record:list pdef5678uvw mghi9012rst # page 1, 25 records
scripts/nocodb.sh record:list pdef5678uvw mghi9012rst 2 50 # page 2, 50 records
scripts/nocodb.sh record:list pdef5678uvw mghi9012rst 1 25 "(status,eq,active)"
scripts/nocodb.sh record:list pdef5678uvw mghi9012rst 1 25 "" '[{"field":"cjkl3456opq","direction":"desc"}]'
scripts/nocodb.sh record:get pdef5678uvw mghi9012rst 31
scripts/nocodb.sh record:get pdef5678uvw mghi9012rst 31 "name,email"
scripts/nocodb.sh record:create pdef5678uvw mghi9012rst '{"fields":{"name":"Alice"}}'
scripts/nocodb.sh record:update pdef5678uvw mghi9012rst 31 '{"status":"active"}'
scripts/nocodb.sh record:update-many pdef5678uvw mghi9012rst '[{"id":31,"fields":{"status":"done"}}]'
scripts/nocodb.sh record:delete pdef5678uvw mghi9012rst 31
scripts/nocodb.sh record:delete pdef5678uvw mghi9012rst '[31,32]'
scripts/nocodb.sh record:count pdef5678uvw mghi9012rst
scripts/nocodb.sh record:count pdef5678uvw mghi9012rst "(status,eq,active)"
关联记录
scripts/nocodb.sh link:list pdef5678uvw mghi9012rst cjkl3456opq 31
scripts/nocodb.sh link:add pdef5678uvw mghi9012rst cjkl3456opq 31 '[{"id":42}]'
scripts/nocodb.sh link:remove pdef5678uvw mghi9012rst cjkl3456opq 31 '[{"id":42}]'
筛选器和排序(视图级别)
scripts/nocodb.sh filter:list pdef5678uvw mghi9012rst vwmno7890abc
scripts/nocodb.sh filter:create pdef5678uvw mghi9012rst vwmno7890abc '{"field_id":"cjkl3456opq","operator":"eq","value":"active"}'
scripts/nocodb.sh sort:list pdef5678uvw mghi9012rst vwmno7890abc
scripts/nocodb.sh sort:create pdef5678uvw mghi9012rst vwmno7890abc '{"field_id":"cjkl3456opq","direction":"desc"}'
附件
scripts/nocodb.sh attachment:upload pdef5678uvw mghi9012rst 31 cjkl3456opq ./report.pdf
脚本
注意: Script API 仅适用于可自托管和云托管的企业版计划。
scripts/nocodb.sh script:list pdef5678uvw
scripts/nocodb.sh script:create pdef5678uvw '{"title":"My Script"}'
团队
注意: Team API 需要企业版计划(工作区团队仅限企业版)。
scripts/nocodb.sh team:list wabc1234xyz
scripts/nocodb.sh team:create wabc1234xyz '{"title":"Engineering"}'
API 令牌
注意: API Token API 仅适用于可自托管的企业版计划和云托管的企业版计划。
scripts/nocodb.sh token:list
scripts/nocodb.sh token:create '{"title":"CI Token"}'
scripts/nocodb.sh token:delete tkn1a2b3c4d5e6f7g
Where 筛选语法
运行 scripts/nocodb.sh where:help 查看完整文档。
基本语法
(field,operator,value)
(field,operator) # for null/blank/checked operators
(field,operator,sub_op) # for date operators
(field,operator,sub_op,value) # for date with value
常用运算符
| 运算符 | 描述 | 示例 |
|---|---|---|
| eq | 等于 | (name,eq,John) |
| neq | 不等于 | (status,neq,archived) |
| like | 包含(% 通配符) | (name,like,%john%) |
| in | 属于列表 | (status,in,active,pending) |
| gt, lt, gte, lte | 数值比较 | (price,gt,100) |
| blank, notblank | 空值或空内容 | (notes,blank) |
| checked, notchecked | 布尔值 | (is_active,checked) |
日期运算符
(created_at,eq,today)
(created_at,isWithin,pastWeek)
(created_at,isWithin,pastNumberOfDays,14)
(due_date,lt,today) # overdue
(event_date,eq,exactDate,2024-06-15)
组合筛选条件
重要: 使用 ~and、~or、~not(带波浪号前缀)
(name,eq,John)~and(age,gte,18)
(status,eq,active)~or(status,eq,pending)
~not(is_deleted,checked)
(status,in,active,pending)~and(country,eq,USA)
复杂示例
# Active users created this month
"(status,eq,active)~and(created_at,isWithin,pastMonth)"
# Overdue high-priority tasks
"(due_date,lt,today)~and(priority,eq,high)~and(completed,notchecked)"
# Orders $100-$500 in pending/processing
"(amount,gte,100)~and(amount,lte,500)~and(status,in,pending,processing)"