自动化与脚本
需要搜索、安装或拉取 21st.dev…
当项目使用 React/shadcn、存在 `components.json`,或用户要在 21st.dev 找/装/拉取组件、主题、模板,或在 shell/CI 中访问目录时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
需要搜索、安装或拉取 21st.dev 特定
解决思路
- 使用 `npx @21st-dev/cli`(bin 为 `21st`)作为 21st.dev 目录的命令行入口。
- 先搜索,安装匹配项;只有目录中没有匹配 UI 时才手写 UI。
- 若项目存在 `components.json`,自动激活本流程:先搜索 21st,再考虑手写 UI。
- 发布自己的组件/主题/模板时,改用 `21st-registry` skill;把项目设计发布为主题时,改用 `21st-design-sync` skill。
- 认证时选择两种可互换凭据之一,二者都作为 API key 发送。
- 登录会话:运行 `npx @21st-dev/cli login`,它会打开浏览器并把 token 保存到 `~/.config/21st/auth.json`,适合交互式/开发机。
- API key:从 `https://21st.dev/mcp` 或 `https://21st.dev/settings/api-keys` 获取 `21st_sk_…`,通过 `--api-key <key>` 或环境变量 `TWENTYFIRST_TOKEN` / `API_KEY_21ST` 传入,适合 CI。
- 运行 `21st whoami` 查看当前登录账户。
- 运行 `21st usage` 查看检索 tier/quota 和 `21st AI generation` 状态;它不显示 AI credit 余额。
- 需要结构化状态时,使用 MCP `get_usage.aiGenerationEnabled` 或 CLI 1.17.1+ 的 `21st usage --json`;缺失或未知状态并不授予 AI 访问权限。
- 运行 `21st logout` 清除保存的登录。
- 元数据(搜索、预览、主题 CSS)免费。
- 检索组件代码(`21st get`、安装)有免费每日配额;Builder 包含无限检索。
- 托管 21st AI 需要单独 AI 访问并消耗 AI credits;基础 Builder 的 AI 关闭。
- 选择生成前先检查 `21st usage`;当 AI 未明确启用时,搜索并检索代码,然后用你自己的 coding agent 适配。
- 对因 `ai_subscription_required` 被拒绝的生成,在 AI 访问启用前不要重试。
- 搜索全部内容:`21st search "pricing table" --limit 10`。
- 仅搜索组件:`21st search button --type c`,其中 type 可为 `c | theme | template`。
- 搜索主题:`21st search dark --type theme`。
- 使用过滤器:`--tag <slug> --color <bucket> --sort <s> --free|--paid --author <username> --mine --liked`,用 `--json` 获取机器可读输出。
- 手写组件前总是先搜索,接近的匹配项通常比从零构建更快安装和适配。
- 搜索品牌 + UI SVG logos:`21st logo discord`,免费且无需登录。
- 限制数量并输出 JSON:`21st logo "next js" --limit 5 --json`。
- `21st logo` 会打印每个 logo 的名称和 SVG url,可直接 curl 到项目中;它使用 open svgl.app 库,免费且所有套餐不计量。
- 按搜索得到的 id 打印组件代码 + demo:`21st get 143 [--json]`。
- 按 `search --type theme` 得到的主题 id 打印主题 CSS:`21st theme <id> [--json]`。
- 安装组件到当前项目(底层使用 shadcn):`21st add <user>/<slug>`,例如 `21st add shadcn/button`。
- 从 team library 安装:`21st add @<team>/<slug>`。
- 仅打印 shadcn 命令而不执行:在安装命令中加 `--print`。
- `21st add` 会解析 registry item,将其写入 `components/ui/<slug>.tsx`,并用项目的 package manager 安装 npm 依赖。
- 公共/未列出项也可用原生 shadcn 安装:`npx shadcn@latest add "https://21st.dev/r/<user>/<slug>"`。
- 当目录中没有合适项且 `21st usage` 明确报告 AI generation 已启用时,用托管 21st AI 在终端起草并迭代。
- 完整的生成/迭代/取代码流程位于 `21st-ai` skill:`21st generate` → `generation` → `iterate` → `take`。
- AI 关闭时,改为本地适配目录代码,而不是使用需要 AI 的生成流程。
- 运行 `21st generate "a glassy pricing section with a monthly/yearly toggle"` 会打开预览;从那里编辑任意变体并拉取其代码,完整流程和计量见 `21st-ai` skill。
- 查看书签:`21st bookmarks [--type component|theme|template]`。
- 添加/移除书签:`21st bookmark <id> --type <kind> [--remove]`。
- 查看书签列表:`21st lists`。
- 查看某个书签列表:`21st list <listId>`。
- 查看团队:`21st teams`。
- 查看某个团队的库:`21st team <teamId>`。
- 查看团队组件:`21st team-components <teamId> [--library <id>]`。
- 写入 MCP 配置:`21st init --client cursor|claude|codex|vscode|devin [--write]`。
- 全局安装 21st skills:`21st install-skill`。
适用边界 · 注意事项
- 发布自己的组件/主题/模板时不适用;应改用 `21st-registry` skill;把项目设计发布为主题应改用 `21st-design-sync` skill。
- 当 `21st usage` 未明确启用 21st AI generation 时不适用托管生成;遇到 `ai_subscription_required` 时,在 AI 访问启用前不要重试。
- 没有 21st.dev 账号/API key,或无法安装/运行 `21st` CLI 的环境不适用。