技能详情(站内镜像,无评论)
作者:Anbarasu @DarkPhoenix2704
许可证:MIT-0
MIT-0 ·免费使用、修改和重新分发。无需归因。
版本:v0.0.2
统计:⭐ 2 · 1.2k · 0 current installs · 0 all-time installs
⭐ 2
安装量(当前) 0
🛡 VirusTotal :良性 · OpenClaw :良性
Package:darkphoenix2704/nocodb-official
安全扫描(ClawHub)
- VirusTotal :良性
- OpenClaw :良性
OpenClaw 评估
The skill is internally consistent with its stated purpose: it provides a curl/jq-based CLI wrapper around the NocoDB v3 REST API and only requires the NocoDB token and URL to operate.
目的
Name/description match the provided assets: SKILL.md documents a NocoDB CLI and scripts/nocodb.sh implements API calls. Required binaries (curl, jq) and primary env NOCODB_TOKEN are appropriate for this purpose.
说明范围
Runtime instructions and the shell script confine actions to calling the configured NocoDB API (NC_URL/api/v3). The script validates inputs and does not attempt to read unrelated system files or unrelated environment variables. File upload support reads user-specified files (expected behavior for attachments).
安装机制
No install spec — instruction-only with an included Bash script. Nothing is downloaded from external, untrusted URLs; risk is limited to executing the included script locally (standard for a CLI script).
证书
Requested environment variables are proportional: NOCODB_TOKEN (primary) and NOCODB_URL are justified. NOCODB_VERBOSE is listed among required env vars in metadata but is actually optional in the script — minor mismatch in manifests vs runtime behavior.
持久
always:false (no forced permanence). The skill does not request system-wide config changes or other skills' credentials.
综合结论
This skill appears to be what it says: a command-line wrapper for the NocoDB v3 API that needs an API token and the API URL. Before installing or running: (1) confirm you provide a valid NocoDB API token (NOCODB_TOKEN) and set NOCODB_URL to the correct instance — the script will send data to that URL (default: https://app.nocodb.com); (2) ensure curl and jq are installed; (3) review the provided scripts if you plan to run them, especially uplo…
安装(复制给龙虾 AI)
将下方整段复制到龙虾中文库对话中,由龙虾按 SKILL.md 完成安装。
请把本段交给龙虾中文库(龙虾 AI)执行:为本机安装 OpenClaw 技能「NocoDB Skiils」。简介:Access and manage NocoDB databases via v3 REST API. Use for managing workspaces…。
请 fetch 以下地址读取 SKILL.md 并按文档完成安装:https://raw.githubusercontent.com/openclaw/skills/refs/heads/main/skills/darkphoenix2704/nocodb-official/SKILL.md
(来源:yingzhi8.cn 技能库)
SKILL.md
---
name: nocodb
description: Access and manage NocoDB databases via REST APIs. Free plans support bases, tables, fields, records, links, filters, sorts, and attachments. Enterprise plans add workspaces, views, scripts, teams, and collaboration features.
metadata:
openclaw:
requires:
env:
- NOCODB_TOKEN
- NOCODB_URL
- NOCODB_VERBOSE
bins:
- curl
- jq
primaryEnv: NOCODB_TOKEN
---
# NocoDB CLI
CLI for NocoDB API.
## Platform Support
- **Linux / macOS**: `scripts/nocodb.sh` (Bash, requires `curl` and `jq`)
## Plan Requirements
**FREE PLANS:** Base, Table, Field, Record, Link, Attachment APIs, Fiter, Sorts APIs
**ENTERPRISE (self-hosted OR cloud-hosted):** Workspace, Workspace Collaboration APIs, Base Collaboration APIs, View, Script, Team, API Token APIs
## Setup
```bash
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
```
Get your API token: NocoDB → Team & Settings → API Tokens → Add New Token.
## Argument Order
Commands follow a hierarchical pattern. Arguments are always in this order:
```
WORKSPACE → BASE → TABLE → VIEW/FIELD → RECORD
```
You can use **names** (human-readable) or **IDs** (faster, from NocoDB).
**ID Prefixes:** `w`=workspace, `p`=base, `m`=table, `c`=column, `vw`=view
Examples:
- Name: `nc record:list MyBase Users`
- ID: `nc record:list pdef5678uvw mghi9012rst`
Set `NOCODB_VERBOSE=1` to see resolved IDs:
```bash
NOCODB_VERBOSE=1 nc field:list MyBase Users
# → base: MyBase → pdef5678uvw
# → table: Users → mghi9012rst
```
## Quick Reference
```bash
# Workspace APIs (Enterprise only)
nc workspace:list # → wabc1234xyz
# Free plan APIs
nc base:list wabc1234xyz # → pdef5678uvw
nc table:list pdef5678uvw # → mghi9012rst
nc field:list pdef5678uvw mghi9012rst # → cjkl3456opq
nc record:list pdef5678uvw mghi9012rst
nc record:get pdef5678uvw mghi9012rst 31
nc filter:list pdef5678uvw mghi9012rst vwmno7890abc
# View APIs (Enterprise only: self-hosted or cloud-hosted)
nc view:list pdef5678uvw mghi9012rst # → vwmno7890abc
# Filter syntax help
nc where:help
```
## Commands
### Workspaces
**Note:** Workspace APIs and Workspace Collaboration APIs are available only with self-hosted **Enterprise** plans and cloud-hosted **Enterprise** plans.
```bash
nc workspace:list # → wabc1234xyz
nc workspace:get wabc1234xyz
nc workspace:create '{"title":"New Workspace"}'
nc workspace:update wabc1234xyz '{"title":"Renamed"}'
nc workspace:delete wabc1234xyz
nc workspace:members wabc1234xyz
nc workspace:members:add wabc1234xyz '{"email":"user@example.com","roles":"workspace-creator"}'
nc workspace:members:update wabc1234xyz '{"email":"user@example.com","roles":"workspace-viewer"}'
nc workspace:members:remove wabc1234xyz '{"email":"user@example.com"}'
```
### Bases
```bash
nc base:list wabc1234xyz # → pdef5678uvw
nc base:get pdef5678uvw
nc base:create wabc1234xyz '{"title":"New Base"}'
nc base:update pdef5678uvw '{"title":"Renamed"}'
nc base:delete pdef5678uvw
```
**Base Collaboration (Enterprise plans only)**
```bash
nc base:members pdef5678uvw
nc base:members:add pdef5678uvw '{"email":"user@example.com","roles":"base-editor"}'
nc base:members:update pdef5678uvw '{"email":"user@example.com","roles":"base-viewer"}'
nc base:members:remove pdef5678uvw '{"email":"user@example.com"}'
```
### Tables
```bash
nc table:list pdef5678uvw # → mghi9012rst
nc table:get pdef5678uvw mghi9012rst
nc table:create pdef5678uvw '{"title":"NewTable"}'
nc table:update pdef5678uvw mghi9012rst '{"title":"Customers"}'
nc table:delete pdef5678uvw mghi9012rst
```
### Fields
```bash
nc field:list pdef5678uvw mghi9012rst # → cjkl3456opq
nc field:get pdef5678uvw mghi9012rst cjkl3456opq
nc field:create pdef5678uvw mghi9012rst '{"title":"Phone","type":"PhoneNumber"}'
nc field:update pdef5678uvw mghi9012rst cjkl3456opq '{"title":"Mobile"}'
nc field:delete pdef5678uvw mghi9012rst cjkl3456opq
```
Field types: SingleLineText, LongText, Number, Decimal, Currency, Percent, Email, URL, PhoneNumber, Date, DateTime, Time, SingleSelect, MultiSelect, Checkbox, Rating, Attachment, Links, User, JSON, etc.
### Views
**Note:** View APIs are available only on self-hosted and cloud-hosted **Enterprise** plans.
```bash
nc view:list pdef5678uvw mghi9012rst # → vwmno7890abc
nc view:get pdef5678uvw mghi9012rst vwmno7890abc
nc view:create pdef5678uvw mghi9012rst '{"title":"Active Users","type":"grid"}'
nc view:update pdef5678uvw mghi9012rst vwmno7890abc '{"title":"Renamed"}'
nc view:delete pdef5678uvw mghi9012rst vwmno7890abc
```
View types: grid, gallery, kanban, calendar
### Records
```bash
nc record:list pdef5678uvw mghi9012rst # page 1, 25 records
nc record:list pdef5678uvw mghi9012rst 2 50 # page 2, 50 records
nc record:list pdef5678uvw mghi9012rst 1 25 "(status,eq,active)"
nc record:list pdef5678uvw mghi9012rst 1 25 "" '[{"field":"cjkl3456opq","direction":"desc"}]'
nc record:get pdef5678uvw mghi9012rst 31
nc record:get pdef5678uvw mghi9012rst 31 "name,email"
nc record:create pdef5678uvw mghi9012rst '{"fields":{"name":"Alice"}}'
nc record:update pdef5678uvw mghi9012rst 31 '{"status":"active"}'
nc record:update-many pdef5678uvw mghi9012rst '[{"id":31,"fields":{"status":"done"}}]'
nc record:delete pdef5678uvw mghi9012rst 31
nc record:delete pdef5678uvw mghi9012rst '[31,32]'
nc record:count pdef5678uvw mghi9012rst
nc record:count pdef5678uvw mghi9012rst "(status,eq,active)"
```
### Linked Records
```bash
nc link:list pdef5678uvw mghi9012rst cjkl3456opq 31
nc link:add pdef5678uvw mghi9012rst cjkl3456opq 31 '[{"id":42}]'
nc link:remove pdef5678uvw mghi9012rst cjkl3456opq 31 '[{"id":42}]'
```
### Filters & Sorts (View-level)
```bash
nc filter:list pdef5678uvw mghi9012rst vwmno7890abc
nc filter:create pdef5678uvw mghi9012rst vwmno7890abc '{"field_id":"cjkl3456opq","operator":"eq","value":"active"}'
nc sort:list pdef5678uvw mghi9012rst vwmno7890abc
nc sort:create pdef5678uvw mghi9012rst vwmno7890abc '{"field_id":"cjkl3456opq","direction":"desc"}'
```
### Attachments
```bash
nc attachment:upload pdef5678uvw mghi9012rst 31 cjkl3456opq ./report.pdf
```
### Scripts
**Note:** Script APIs are available only on self-hosted and cloud-hosted **Enterprise** plans.
```bash
nc script:list pdef5678uvw
nc script:create pdef5678uvw '{"title":"My Script"}'
```
### Teams
**Note:** Team APIs require Enterprise plans (workspace teams are Enterprise-only).
```bash
nc team:list wabc1234xyz
nc team:create wabc1234xyz '{"title":"Engineering"}'
```
### API Tokens
**Note:** API Token APIs are available only with self-hosted **Enterprise** plans and cloud-hosted **Enterprise** plans.
```bash
nc token:list
nc token:create '{"title":"CI Token"}'
nc token:delete tkn1a2b3c4d5e6f7g
```
## Where Filter Syntax
Run `nc where:help` for full documentation.
### Basic Syntax
```
(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
```
### Common Operators
| Operator | Description | Example |
|----------|-------------|---------|
| eq | Equal | `(name,eq,John)` |
| neq | Not equal | `(status,neq,archived)` |
| like | Contains (% wildcard) | `(name,like,%john%)` |
| in | In list | `(status,in,active,pending)` |
| gt, lt, gte, lte | Numeric comparison | `(price,gt,100)` |
| blank, notblank | Null or empty | `(notes,blank)` |
| checked, notchecked | Boolean | `(is_active,checked)` |
### Date Operators
```bash
(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)
```
### Combining Filters
**IMPORTANT:** Use `~and`, `~or`, `~not` (with tilde prefix)
```bash
(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)
```
### Complex Examples
```bash
# 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)"
```