视觉画布设计
canvas-design
基于设计原则创作静态视觉作品,用于海报与品牌图形。
baserow【文档与办公】Build database-powered applications with Baserow, the open-source no-code database. Use when a user asks to create spreadsheet databases, build API-connected workflows, manage relational data, or self-host Baserow as an Airtable alternative.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Baserow is an open-source no-code database platform and Airtable alternative, with a spreadsheet interface, a REST API, forms, and workflow automation, self-hosted on the user's own infrastructure. Use this skill when a user asks to create spreadsheet-style relational databases, build API-connected workflows, manage relational data, or self-host Baserow.
# All-in-one image, pinned to a specific release (never :latest in production)
docker run -d --name baserow -p 80:80 -p 443:443 \
-v baserow_data:/baserow/data \
-e BASEROW_PUBLIC_URL='http://localhost' \
baserow/baserow:2.3.3
# Or docker-compose.yml with the same image; production setups split into
# separate baserow/backend and baserow/web-frontend containers plus Celery
# workers (see the official "Install with Docker Compose" guide) and require
# SECRET_KEY, DATABASE_PASSWORD, and REDIS_PASSWORD to be set.
docker compose up -d
## Table Types and Fields
### Field Types
- Text, Long text, Number, Boolean, Date, URL, Email, Phone
- Single select, Multiple select (colored tags)
- Link to table (relationships between tables)
- Lookup (pull data from linked records)
- Rollup (aggregate linked records: SUM, COUNT, AVG)
- Formula (computed fields using other fields)
- File (attachments)
- Created by, Last modified, Auto-number
### Formulas
concat(field('First Name'), ' ', field('Last Name'))
if(field('Status') = 'Paid', field('Amount'), 0)
datetime_format(field('Created'), 'YYYY-MM-DD')
year(now()) - year(field('Birth Date'))
Create a database token in the Baserow UI (per-table create/read/update/delete permissions) and send it as Authorization: Token YOUR_DATABASE_TOKEN — this is different from the Authorization: JWT ... header used by the web app's own user session.
# List rows with filtering (filter__<field>__<operator>, or filter__field_<id>__<operator>)
curl "https://baserow.northstar-robotics.internal/api/database/rows/table/412/?user_field_names=true&filter__Status__equal=Active&order_by=-Created" \
-H "Authorization: Token YOUR_DATABASE_TOKEN"
# Create row
curl -X POST "https://baserow.northstar-robotics.internal/api/database/rows/table/412/?user_field_names=true" \
-H "Authorization: Token YOUR_DATABASE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"Name": "Q3 renewal outreach", "Status": "Active", "Priority": "High"}'
# Update row
curl -X PATCH "https://baserow.northstar-robotics.internal/api/database/rows/table/412/1038/?user_field_names=true" \
-H "Authorization: Token YOUR_DATABASE_TOKEN" \
-d '{"Status": "Completed"}'
# Webhooks — trigger on row events
# Configure in UI: Settings → Webhooks
# Events: rows.created, rows.updated, rows.deleted
User request: "Set up Baserow on our server and give me a way to push new leads into a table from a Python script."
Agent workflow:
baserow/baserow:2.3.3 image (or docker-compose for a production split) and set BASEROW_PUBLIC_URL to the real hostname.curl/Python snippet using POST /api/database/rows/table/<id>/?user_field_names=true with the token to insert a row.Output: A running Baserow instance, a "Leads" table, and a working insert call the user's script can reuse.
User request: "I have a Clients table and an Invoices table — show total paid per client without duplicating data."
Agent workflow:
sum(lookup('Invoices', 'Amount')) where Status = Paid.Output: A "Total Paid" rollup column on Clients that stays in sync as invoices change, with no copied data.