SuperAPI AI 工具集

anythink-cli

Anythink CLI(anythink-cli)是 Anythink 无头后端平台的官方开源命令行工具,供开发者和创业者直接在终端中管理项目。Anythink 平台提供关系型数据与行级安全、搜索、RBAC、工作流、增长留存工具与支付等后端能力。通过该 CLI 可以创建和管理项目、实体(数据库表)与字段、执行数据增删改查、全文搜索与索引管理、自动化工作流、用户与文件管理、事务邮件模板、角色与 API 密钥、仪表板菜单、图表与仪表板、项目设置(含 CORS)、第三方集成(Claude、OpenAI、Slack、Google 等)以及 AnythinkPay(Stripe Connect、Apple 应用内购买、订阅计划与订阅)。安装方式包括 Homebrew(同时安装 anythink CLI 与 anythink-mcp MCP 服务器)、下载各平台二进制、.NET 全局工具或从源码构建。凭据与项目配置保存在 ~/.anythink/config.json。

访问官网

工具介绍

Anythink CLI 是 Anythink 无头后端平台的官方命令行界面,面向开发者与创业者,让用户在终端中完成对后端项目的管理。Anythink 平台本身提供关系型数据与行级安全、搜索、RBAC、工作流、增长与留存工具以及支付能力,该 CLI 覆盖平台的主要操作。

主要能力

  • 账户与项目:signup、login、logout 为交互式操作,首次运行会引导连接计费账户和项目;billing accounts 管理计费账户(一个计费账户包含一个或多个项目并持有订阅与支付信息);projects 创建和管理项目,每个项目是独立的后端实例,拥有自己的数据库、认证、文件和工作流;config 查看和管理 CLI 配置文件,可用 projects use 在多个项目间切换。
  • 实体与字段:entities 管理项目中的实体(数据库表),fields 管理实体字段,字段直接映射为数据库列。
  • 数据操作:data 提供记录级 CRUD;data list 支持过滤操作符;data export 按页流式导出到文件,data import 每行创建一条记录,导入前应先用 --dry-run 校验。
  • 搜索:跨实体全文搜索,并支持索引生命周期管理;search rehydrate 从数据库重建索引,search purge 删除索引,search audit 检查公开搜索数据泄露(检测到泄露时退出码为 1,可用于 CI/CD)。
  • 工作流:workflows 管理自动化工作流,触发器可以是 cron 计划、实体事件、API 路由或手动运行。
  • 用户与文件:users 管理项目用户;files 管理已上传文件。
  • 邮件:查看和编辑事务邮件模板(确认、邀请、恢复等)以及包裹所有邮件正文的 HTML shell。
  • 角色与 API 密钥:roles 控制已认证用户可访问的内容;api-keys 为 CI 管道、脚本、集成等非交互访问签发和管理密钥,密钥含权限范围、有效期,并与创建者绑定,原始密钥仅在创建时显示一次,之后无法取回。
  • 菜单、图表与仪表板:menus 管理仪表板侧边栏菜单;charts 构建和预览图表;dashboards 管理由图表、列表、备注等小部件组成、采用 12 列网格布局的仪表板。
  • 项目设置与集成:settings 查看和修改项目设置,包括允许浏览器调用 API 的 CORS 来源;integrations 管理可用提供商目录(Claude、OpenAI、Slack、Google 等)及其凭据连接。
  • 支付与订阅:pay 管理 AnythinkPay,包括 Stripe Connect、Apple 应用内购买、支付、订阅计划与实时订阅。

安装方式

  • Homebrew(macOS / Linux,推荐):同时安装 anythink CLI 和 anythink-mcp(MCP 服务器)到 PATH,也可先 tap 再安装,可更新到最新版本。
  • 下载二进制(macOS / Linux):从 Releases 页面获取对应平台的最新版本,MCP 服务器为同一发布中匹配平台的 anythink-mcp-<platform> 二进制;可用 checksums.txt 校验下载。
  • .NET 全局工具:需要 .NET 8 SDK。
  • 从源码构建。

配置与使用 凭据和项目配置保存在 ~/.anythink/config.json,配置按项目别名或 ID 命名,可通过 projects use 切换。

数据导入导出的细节(依据资料)

  • 过滤操作符(JSON 形式):{"field": value} 精确匹配,{"field": [a, b]} 匹配任意一个,{"field": null} 匹配空值;其他情况使用操作符对象,如 {"price": {"gte": 10, "lt": 100}}。
  • CSV 遵循 RFC 4180:含逗号、引号或换行的单元格会加引号,引号会双写,带引号的单元格可跨行;对象、数组、JSON 字段和关系以紧凑 JSON 文本写入。
  • 公式防护(导出):以 =、+、-、@、制表符或回车开头的 CSV 文本会被加上前缀 ',避免被电子表格当作公式执行;数字不受影响,包括 +44 20 7946 0000 这类电话号码。该防护是单向的:导入该文件时会保留 ',除非导出时使用了 --no-formula-guard。
  • 类型按实体字段处理:文本保留精确字符(00123 仍是 00123);整数和小数要求以 . 为小数点(1,5 会被拒绝,不会猜测);布尔接受 true/false、1/0、yes/no;日期须为 ISO 8601(2025-03-31、2025-03-31T09:30:00Z,无偏移量按 UTC);JSON 字段须为合法 JSON。
  • 空 CSV 单元格作为 null 发送;JSON 与 JSONL 输入中的空字符串保持为空字符串。
  • 错误行会被跳过而不会发送,并报告行号(CSV 为记录号,表头为第 1 行;JSONL 为行号;JSON 为数组位置)并计入 skipped;服务器拒绝的行计入 failed。有任何跳过或失败时退出码非零。
  • 重试:400、409、422 永不重试,避免重复创建;仅 429/503 响应和从未到达服务器的请求(DNS、连接或 TLS 失败)会重试。超时或发送后连接断开时,该行会被报告为 UNCERTAIN: may have been created,需在重新导入前检查项目。
  • 系统列在导入时被忽略:id、created_at、updated_at、tenant_id、locked 永不发送,导入会说明忽略了哪些;把导出文件重新导入同一项目会创建新 id 与时间戳的重复记录,不会更新原记录。
  • 一对多集合和秘密字段在导入时跳过;除非在 --fields 中指定,一对多列不会导出;多对多、文件和用户列以 id 复制,仅在同一项目内有意义,导入时每列警告一次。
  • 空布尔单元格作为 null 发送而不是 false。
  • Ctrl+C 会停止读取文件、完成已排队的行并打印部分摘要(退出码 1);被中断的导出会删除临时文件。
  • data import 和 data export 读写本地文件,因此不通过托管(HTTP)MCP 服务器提供。

适用场景 适合希望通过终端统一管理后端项目、实体与数据、工作流、用户、文件、邮件模板、角色、密钥、仪表板、集成与支付的开发者;也适合在 CI/CD 中使用 search audit 做公开搜索泄露检查、用 api-keys 做非交互访问。

限制与注意事项(依据资料)

  • 暂不支持:按键更新或 upsert 已有记录、按自然键查找关系(需使用相关记录的 id)、文件上传。
  • 通过 MCP 服务器时,文件相关选项不提供,agent 需以 content_text、wrapper_text、html_text 内联传入 HTML。
  • 部分命令会要求确认(如取消、删除、过期、重新关联、暂停等),可用 -y / --yes 跳过;非交互式 shell 中不带该参数会拒绝运行。
  • 修改部分设置(如将 default_role_id 指向管理员角色)需 --yes;allow_registrations 为 true、require_email_confirmation 为 false 时会要求确认。
  • CORS 来源必须是带主机和可选端口的 http/https,无路径、查询或片段,尾部 / 会被去除;共享托管域名(vercel.app、github.io 等)或裸 TLD 下的通配符会被拒绝,除非传入 --yes。
  • 邮件 HTML 上限为 1,000,000 字符。
  • 原始 API 密钥仅创建时显示一次,无法再次获取。

分类说明:该工具是 Anythink 平台的命令行接口,属于 AI 开发平台范畴。