insforge-cli
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseInsForge CLI
InsForge CLI
Command-line tool for managing InsForge Backend-as-a-Service projects.
用于管理InsForge后端即服务(Backend-as-a-Service)项目的命令行工具。
Critical: Session Start Checks
重要:会话启动检查
bash
insforge whoami # verify authentication
insforge current # verify linked projectIf not authenticated:
If no project linked: (new) or (existing)
insforge logininsforge createinsforge linkbash
insforge whoami # 验证身份验证状态
insforge current # 验证关联的项目如果未完成身份验证:
如果未关联项目:(创建新项目)或(关联现有项目)
insforge logininsforge createinsforge linkGlobal Options
全局选项
| Flag | Description |
|---|---|
| Structured JSON output (for scripts and agents) |
| Override linked project ID |
| Skip confirmation prompts |
| 标志 | 描述 |
|---|---|
| 结构化JSON输出(适用于脚本和Agent) |
| 覆盖已关联的项目ID |
| 跳过确认提示 |
Exit Codes
退出码
| Code | Meaning |
|---|---|
| 0 | Success |
| 2 | Not authenticated |
| 3 | Project not linked |
| 4 | Resource not found |
| 5 | Permission denied |
| 代码 | 含义 |
|---|---|
| 0 | 执行成功 |
| 2 | 未完成身份验证 |
| 3 | 未关联项目 |
| 4 | 资源未找到 |
| 5 | 权限不足 |
Environment Variables
环境变量
| Variable | Description |
|---|---|
| Override stored access token |
| Override linked project ID |
| Email for non-interactive login |
| Password for non-interactive login |
| 变量名 | 描述 |
|---|---|
| 覆盖已存储的访问令牌 |
| 覆盖已关联的项目ID |
| 用于非交互式登录的邮箱 |
| 用于非交互式登录的密码 |
Commands
命令列表
Authentication
身份验证
- — OAuth (browser) or
insforge loginfor password login. See references/login.md--email - — clear stored credentials
insforge logout - — show current user
insforge whoami
- — 支持OAuth(浏览器方式)或使用
insforge login参数进行密码登录。详见references/login.md--email - — 清除已存储的凭证
insforge logout - — 显示当前用户信息
insforge whoami
Project Management
项目管理
- — create new project. See references/create.md
insforge create - — link directory to existing project
insforge link - — show current user + linked project
insforge current - — list all orgs and projects
insforge list
- — 创建新项目。详见references/create.md
insforge create - — 将当前目录关联到现有项目
insforge link - — 显示当前用户及关联的项目
insforge current - — 列出所有组织和项目
insforge list
Database — insforge db
insforge db数据库 — insforge db
insforge db- — execute raw SQL. See references/db-query.md
insforge db query <sql> - — inspect schema
insforge db tables / indexes / policies / triggers / functions - — call database function (GET if no data, POST if data)
insforge db rpc <fn> [--data <json>] - — export schema/data. See references/db-export.md
insforge db export - — import from SQL file. See references/db-import.md
insforge db import <file>
- — 执行原生SQL语句。详见references/db-query.md
insforge db query <sql> - — 查看数据库架构信息
insforge db tables / indexes / policies / triggers / functions - — 调用数据库函数(无
insforge db rpc <fn> [--data <json>]参数时用GET请求,有参数时用POST请求)--data - — 导出数据库架构/数据。详见references/db-export.md
insforge db export - — 从SQL文件导入数据。详见references/db-import.md
insforge db import <file>
Edge Functions — insforge functions
insforge functions边缘函数 — insforge functions
insforge functions- — list deployed functions
insforge functions list - — view function source
insforge functions code <slug> - — deploy or update. See references/functions-deploy.md
insforge functions deploy <slug> - — invoke function
insforge functions invoke <slug> [--data <json>] [--method GET|POST]
- — 列出已部署的函数
insforge functions list - — 查看函数源代码
insforge functions code <slug> - — 部署或更新函数。详见references/functions-deploy.md
insforge functions deploy <slug> - — 调用函数
insforge functions invoke <slug> [--data <json>] [--method GET|POST]
Storage — insforge storage
insforge storage存储 — insforge storage
insforge storage- — list buckets
insforge storage buckets - — create bucket (default: public)
insforge storage create-bucket <name> [--private] - — delete bucket and all its objects (destructive)
insforge storage delete-bucket <name> - — list objects
insforge storage list-objects <bucket> [--prefix] [--search] [--limit] [--sort] - — upload file
insforge storage upload <file> --bucket <name> [--key <objectKey>] - — download file
insforge storage download <objectKey> --bucket <name> [--output <path>]
- — 列出存储桶
insforge storage buckets - — 创建存储桶(默认:公开访问)
insforge storage create-bucket <name> [--private] - — 删除存储桶及其中所有对象(此操作不可恢复)
insforge storage delete-bucket <name> - — 列出存储桶中的对象
insforge storage list-objects <bucket> [--prefix] [--search] [--limit] [--sort] - — 上传文件
insforge storage upload <file> --bucket <name> [--key <objectKey>] - — 下载文件
insforge storage download <objectKey> --bucket <name> [--output <path>]
Deployments — insforge deployments
insforge deployments部署 — insforge deployments
insforge deployments- — deploy frontend app. See references/deployments-deploy.md
insforge deployments deploy [dir] - — list deployments
insforge deployments list - — get deployment status (--sync fetches from Vercel)
insforge deployments status <id> [--sync] - — cancel running deployment
insforge deployments cancel <id>
- — 部署前端应用。详见references/deployments-deploy.md
insforge deployments deploy [dir] - — 列出所有部署记录
insforge deployments list - — 获取部署状态(
insforge deployments status <id> [--sync]参数会从Vercel拉取最新状态)--sync - — 取消正在进行的部署
insforge deployments cancel <id>
Secrets — insforge secrets
insforge secrets密钥管理 — insforge secrets
insforge secrets- — list secrets (values hidden;
insforge secrets list [--all]includes deleted)--all - — get decrypted value
insforge secrets get <key> - — create secret
insforge secrets add <key> <value> [--reserved] [--expires <ISO date>] - — update secret
insforge secrets update <key> [--value] [--active] [--reserved] [--expires] - — soft delete (marks inactive; restore with
insforge secrets delete <key>)--active true
- — 列出密钥(值会隐藏;
insforge secrets list [--all]参数会包含已删除的密钥)--all - — 获取解密后的密钥值
insforge secrets get <key> - — 创建密钥
insforge secrets add <key> <value> [--reserved] [--expires <ISO date>] - — 更新密钥
insforge secrets update <key> [--value] [--active] [--reserved] [--expires] - — 软删除(标记为非活跃状态;可通过
insforge secrets delete <key>参数恢复)--active true
Schedules — insforge schedules
insforge schedules定时任务 — insforge schedules
insforge schedules- — list all scheduled tasks (shows ID, name, cron, URL, method, active, next run)
insforge schedules list - — get schedule details
insforge schedules get <id> - — create a cron job (5-field cron format only)
insforge schedules create --name --cron --url --method [--headers <json>] [--body <json>] - — update schedule
insforge schedules update <id> [--name] [--cron] [--url] [--method] [--headers] [--body] [--active] - — delete schedule (with confirmation)
insforge schedules delete <id> - — view execution logs
insforge schedules logs <id> [--limit] [--offset]
- — 列出所有定时任务(显示ID、名称、cron表达式、URL、请求方法、活跃状态、下次执行时间)
insforge schedules list - — 获取定时任务详情
insforge schedules get <id> - — 创建定时任务(仅支持5字段cron格式)
insforge schedules create --name --cron --url --method [--headers <json>] [--body <json>] - — 更新定时任务
insforge schedules update <id> [--name] [--cron] [--url] [--method] [--headers] [--body] [--active] - — 删除定时任务(需确认)
insforge schedules delete <id> - — 查看执行日志
insforge schedules logs <id> [--limit] [--offset]
Logs — insforge logs
insforge logs日志 — insforge logs
insforge logs- — fetch backend container logs (default: 20 entries)
insforge logs <source> [--limit <n>]
| Source | Description |
|---|---|
| Main backend logs |
| PostgREST API layer logs |
| PostgreSQL database logs |
| Edge function execution logs |
Source names are case-insensitive:works the same aspostgrest.logs.postgREST.logs
- — 获取后端容器日志(默认:20条记录)
insforge logs <source> [--limit <n>]
| 日志源 | 描述 |
|---|---|
| 主后端服务日志 |
| PostgREST API层日志 |
| PostgreSQL数据库日志 |
| 边缘函数执行日志 |
日志源名称不区分大小写:与postgrest.logs效果一致。postgREST.logs
Documentation — insforge docs
insforge docs文档 — insforge docs
insforge docs- — list all topics
insforge docs - — setup guide
insforge docs instructions - — feature docs (
insforge docs <feature> <language>×db / storage / functions / auth / ai / realtime)typescript / swift / kotlin / rest-api
- — 列出所有文档主题
insforge docs - — 查看设置指南
insforge docs instructions - — 查看功能文档(支持功能:
insforge docs <feature> <language>;支持语言:db / storage / functions / auth / ai / realtime)typescript / swift / kotlin / rest-api
Non-Obvious Behaviors
非直观行为说明
Functions invoke URL: invoked at — NOT . Exits with code 1 on HTTP 400+.
{oss_host}/functions/{slug}/api/functions/{slug}Secrets delete is soft: marks the secret inactive, not destroyed. Restore with . Use with to see inactive ones.
insforge secrets update KEY --active true--allsecrets listStorage delete-bucket is hard: deletes the bucket and every object inside it permanently.
db rpc uses GET or POST: no → GET; with → POST.
--data--dataSchedules use 5-field cron only: . 6-field (with seconds) is NOT supported. Headers can reference secrets with .
minute hour day month day-of-week${{secrets.KEY_NAME}}函数调用URL:函数调用地址为 — 并非。当返回HTTP 400+状态码时,命令会以退出码1终止。
{oss_host}/functions/{slug}/api/functions/{slug}密钥删除为软删除:仅标记密钥为非活跃状态,不会彻底销毁。可通过恢复。使用可查看非活跃密钥。
insforge secrets update KEY --active truesecrets list --all存储桶删除为硬删除:会永久删除存储桶及其中所有对象。
db rpc命令的请求方式:无参数时使用GET请求;有参数时使用POST请求。
--data--data定时任务仅支持5字段cron:格式为。不支持6字段(包含秒)的格式。请求头中可通过引用密钥。
分钟 小时 日期 月份 星期${{secrets.KEY_NAME}}Common Workflows
常见工作流
Set up database schema
设置数据库架构
bash
insforge db query "CREATE TABLE posts (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
title TEXT NOT NULL,
content TEXT,
author_id UUID REFERENCES auth.users(id),
created_at TIMESTAMPTZ DEFAULT now()
)"
insforge db query "ALTER TABLE posts ENABLE ROW LEVEL SECURITY"
insforge db query "CREATE POLICY \"public_read\" ON posts FOR SELECT USING (true)"
insforge db query "CREATE POLICY \"owner_write\" ON posts FOR INSERT WITH CHECK (auth.uid() = author_id)"FK to users: always. RLS current user:auth.users(id).auth.uid()
bash
insforge db query "CREATE TABLE posts (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
title TEXT NOT NULL,
content TEXT,
author_id UUID REFERENCES auth.users(id),
created_at TIMESTAMPTZ DEFAULT now()
)"
insforge db query "ALTER TABLE posts ENABLE ROW LEVEL SECURITY"
insforge db query "CREATE POLICY \"public_read\" ON posts FOR SELECT USING (true)"
insforge db query "CREATE POLICY \"owner_write\" ON posts FOR INSERT WITH CHECK (auth.uid() = author_id)"关联用户表的外键:请始终使用。行级安全策略中的当前用户:使用auth.users(id)。auth.uid()
Deploy an edge function
部署边缘函数
bash
undefinedbash
undefinedDefault source path: insforge/functions/{slug}/index.ts
默认源码路径:insforge/functions/{slug}/index.ts
insforge functions deploy my-handler
insforge functions invoke my-handler --data '{"action": "test"}'
undefinedinsforge functions deploy my-handler
insforge functions invoke my-handler --data '{"action": "test"}'
undefinedDeploy frontend
部署前端应用
bash
npm run build
insforge deployments deploy ./dist --env '{"VITE_API_URL": "https://my-app.us-east.insforge.app"}'Always build locally first. Env var prefix depends on framework:,VITE_*,NEXT_PUBLIC_*.REACT_APP_*
bash
npm run build
insforge deployments deploy ./dist --env '{"VITE_API_URL": "https://my-app.us-east.insforge.app"}'请始终先在本地构建项目。环境变量前缀取决于使用的框架:、VITE_*、NEXT_PUBLIC_*。REACT_APP_*
Backup and restore database
备份与恢复数据库
bash
insforge db export --output backup.sql
insforge db import backup.sqlbash
insforge db export --output backup.sql
insforge db import backup.sqlSchedule a cron job
创建定时任务
bash
undefinedbash
undefinedCreate a schedule that calls a function every 5 minutes
创建每5分钟调用一次函数的定时任务
insforge schedules create
--name "Cleanup Expired"
--cron "*/5 * * * *"
--url "https://my-app.us-east.insforge.app/functions/cleanup"
--method POST
--headers '{"Authorization": "Bearer ${{secrets.API_TOKEN}}"}'
--name "Cleanup Expired"
--cron "*/5 * * * *"
--url "https://my-app.us-east.insforge.app/functions/cleanup"
--method POST
--headers '{"Authorization": "Bearer ${{secrets.API_TOKEN}}"}'
insforge schedules create
--name "Cleanup Expired"
--cron "*/5 * * * *"
--url "https://my-app.us-east.insforge.app/functions/cleanup"
--method POST
--headers '{"Authorization": "Bearer ${{secrets.API_TOKEN}}"}'
--name "Cleanup Expired"
--cron "*/5 * * * *"
--url "https://my-app.us-east.insforge.app/functions/cleanup"
--method POST
--headers '{"Authorization": "Bearer ${{secrets.API_TOKEN}}"}'
Check execution history
查看执行历史
insforge schedules logs <id>
undefinedinsforge schedules logs <id>
undefinedDebug with logs
使用日志调试
bash
insforge logs function.logs # function execution issues
insforge logs postgres.logs # database query problems
insforge logs insforge.logs # API / auth errors
insforge logs postgrest.logs --limit 50bash
insforge logs function.logs # 排查函数执行问题
insforge logs postgres.logs # 排查数据库查询问题
insforge logs insforge.logs # 排查API/身份验证错误
insforge logs postgrest.logs --limit 50Non-interactive CI/CD
非交互式CI/CD流程
bash
INSFORGE_EMAIL=$EMAIL INSFORGE_PASSWORD=$PASSWORD insforge login --email -y
insforge link --project-id $PROJECT_ID --org-id $ORG_ID -y
insforge db query "SELECT count(*) FROM users" --jsonbash
INSFORGE_EMAIL=$EMAIL INSFORGE_PASSWORD=$PASSWORD insforge login --email -y
insforge link --project-id $PROJECT_ID --org-id $ORG_ID -y
insforge db query "SELECT count(*) FROM users" --jsonProject Configuration
项目配置
After or , is created:
createlink.insforge/project.jsonjson
{
"project_id": "...",
"appkey": "...",
"region": "us-east",
"api_key": "ik_...",
"oss_host": "https://{appkey}.{region}.insforge.app"
}oss_hostapi_key执行或命令后,会生成文件:
createlink.insforge/project.jsonjson
{
"project_id": "...",
"appkey": "...",
"region": "us-east",
"api_key": "ik_...",
"oss_host": "https://{appkey}.{region}.insforge.app"
}oss_hostapi_key