$ npm install -g @sylphx/cli$ sylphx login$ sylphx access projects create --spec.slug app✓ project app$ sylphx data databases create app-db✓ database app-db$ sylphx auth oauth-clients create✓ auth config app// the same three, from one keyconst sylphx = new Sylphx()const me = await sylphx.access.whoami({})await sylphx.data.databases.create({ parent: me.project!, databaseId: 'app-db' })
产品
一个平台,后端的每一部分。
Deploy web apps and services from Git, with a preview for every pull request.
AgentsRun AI agents with durable sessions and governed tool access.
SandboxesIsolated machines for running untrusted code and computer use.
RunnersFast CI runners for GitHub Actions.
BuildsContainer builds with a shared cache, SBOMs and signed provenance.
DatabaseServerless Postgres with pgvector, backups and point-in-time restore.
KVLow-latency key-value storage.
SearchFull-text and vector search indexes.
Jobs and cronScheduled and triggered jobs.
EmailSend and receive email from your own domain.
WebhooksSend signed webhooks with retries, and receive them.
AuthSign-in for your app's users: passwords, passkeys, social and magic links.
NetworkCustom domains, certificates, routes and private links.
MonitoringLogs, traces and errors for everything you run.
AIOne API for the latest models from every major provider.
FlagsFeature flags with targeting and gradual rollouts.
工作方式
一个账户、一个密钥、一张账单。
1
一次调用
通过 API 创建的项目是未认领的:代理无需账户即可创建,你登录后接手。CLI 与控制台发出的是同一次调用。
sylphx access projects create --spec.slug app
# unclaimed until you sign in2
一个密钥
每个环境一个密钥,就能访问你启用的所有服务,并按角色限定范围。撤销后数秒内全部失效。
sylphx access api-keys create --spec.scopes data:read
export SYLPHX_API_KEY=sk_…3
一张账单
每个服务的用量都计入同一张账单,逐行列明,价格与本站公布的一致 —— 与控制台计费用的是同一份价目表。
sylphx billing usage-reports list
# one line per product为代理而设
代理是一等公民,不是变通做法。
一个 MCP 服务器和一个 CLI,由同一个 API 生成:代理调用的方法与 SDK 相同,密钥和权限也相同。整个站点的内容都在 llms.txt,可直接放进上下文窗口。
{
"mcpServers": {
"sylphx": {
"command": "npx",
"args": ["-y", "@sylphx/mcp"],
"env": { "SYLPHX_API_KEY": "sylphx_sk_…" }
}
}
}
// then the same action, as one call:
// sylphx_call { "method_id": "data.databases.list" }