能做什么
Limits
XBuckle 模拟的是开发常用的协议与厂商表面,不是完整云。
下面用来对齐预期:能联调什么、哪里会不够用。日常以桌面 Services 面板里的说明为准。
以下偏技术细节,给需要核对兼容面的人与 AI。
Coverage Contract
每个宣称兼容的协议面(wireCompatible / catalog 服务)应满足四条,否则在 limits 中显式豁免:
| 维度 | 要求 |
|---|---|
| lifecycle | 核心资源 create / get / list / update(或厂商等价)+ delete/cancel |
| errors | 至少 401/403、404、校验 400,响应为厂商形 JSON |
| observe | 流量进 Global Control;领域 In/Out 或 history 进该服务 View/Data |
| acceptance | scripts/acceptance 含 happy + ≥2 条负路径 |
矩阵状态:met | partial | exempt | missing(源码 shared/coverage.ts)。MCP:xbuckle://coverage、services.describe、compat.check。
仿真的是厂商/协议表面,不是某个应用的业务捷径。任意项目用官方 SDK / 标准 HTTP 指到本机即可联调——见 厂商面接入。
Provider 目录(shared/service-providers.ts)只含本机可打的云 / 事实标准面,且均为 wireCompatible: true。长尾 SaaS 不列;Ship 侧也不会再出现「只改文档、本地打不通」的选项。
豁免示例:Cache(RESP)与 SMTP(banner)的 errors 维度为 exempt——无 HTTP JSON 401/404 形状,在各自 limits 中写明。
Wire 强(优先用官方 SDK)
| 服务 | 兼容面 | 主要限制 |
|---|---|---|
| Database | Postgres wire + PostgREST /rest/v1 + Realtime CDC(由 REST 写入驱动) | PGlite 扩展子集;wire SQL 暂不扇出 CDC |
| Cache | Redis RESP | 非 Cluster/模块/完整 Lua |
| SMTP / Mail | 本地捕获 | 不外发 |
| Auth | OIDC + GoTrue /auth/v1 | OAuth 为本地 auto-code;非真 Google/GitHub |
Supabase 形适配器
| 表面 | 状态 |
|---|---|
| GoTrue signup/login/refresh/magic link | 可用;用户同步到 auth.users |
PostgREST + RLS (auth.uid()) | 常用 filter/rpc/upsert |
Storage /storage/v1 | bucket/object/signed 子集 |
| Realtime | heartbeat/join + postgres_changes(REST 路径) |
Edge /functions/v1 | 本机 Deno;需 XBUCKLE_FUNCTIONS_DIR |
| pgcrypto | 已加载;pg_net/pg_cron 为 stub |
Shape 级 mock(能联调,非全量云)
S3、SQS、Secrets Manager、Feature Flags、Search、API Gateway、CDN、Edge Worker rewrite、Billing(Stripe /billing/v1 + Paddle /paddle)、SMS、LLM(echo/stream mock)等。
Billing:
- Stripe 形:
/billing/v1(customers / checkout sessions / invoices) - Paddle Billing API 形:
/paddle(customers / subscriptions / prices / products / portal-sessions / events + 可选 localhost 签名 webhook) - 不模拟
cdn.paddle.com/ Paddle.js overlay
LLM:OpenAI 兼容 /llm/v1/chat/completions 与 Anthropic /llm/v1/messages,用于本地 agent 与 edge mock,不是计费云模型。
Explicit non-goals
真扣款 / 真短信 / 真邮件外发、SigV4 密码学校验、CF Workers isolate、完整 ES DSL、Redis Cluster 等。见 docs/REALITY-REASSESSMENT.md。
如何自查
- MCP:
services.describe、xbuckle://coverage、compat.check - 文档站本页
- 源码:
src/data/serviceSim.ts、shared/coverage.ts
