环境变量
Reference
应用侧(指到 XBuckle)
| 变量 | 示例 | 说明 |
|---|---|---|
DATABASE_URL | postgresql://postgres:postgres@127.0.0.1:5432/postgres?sslmode=disable | 真 Postgres SDK |
REDIS_URL | redis://127.0.0.1:6379 | 真 Redis SDK |
VITE_SUPABASE_URL | http://127.0.0.1:3100 | supabase-js |
VITE_SUPABASE_ANON_KEY | xbuckle-anon-key | 本地 anon |
SUPABASE_URL | http://127.0.0.1:3100 | 服务端 / edge |
SUPABASE_ANON_KEY | xbuckle-anon-key | |
SUPABASE_SERVICE_ROLE_KEY | xbuckle-service-role-key | 仅本机服务端 |
XBuckle 进程侧
| 变量 | 说明 |
|---|---|
XBUCKLE_FUNCTIONS_DIR | 指向 supabase/functions 目录以启用 /functions/v1 |
XBUCKLE_SUPABASE_URL | edge 子进程看到的 Supabase URL(必须 loopback;默认 http://127.0.0.1:3100) |
XBUCKLE_AGENT_MOCK | 1 时强制 AGENT_PROVIDER=openai、OPENAI_BASE_URL=<local>/llm、AGENT_MODEL=gpt-mock |
XBUCKLE_LLM_MODELS | 逗号分隔,额外注册 /llm 可服务的模型名(应用想保留自己的模型名时用) |
XBUCKLE_EDGE_LOG | 1 时打印 Deno edge 日志 |
CLOUDMOCK_PROXY | acceptance 脚本用的代理基址 |
CLOUDMOCK_MCP | acceptance 脚本用的 MCP 基址 |
ORIGIN_ROOT | origin:dogfood 只读 Origin 仓路径 |
DATABASE_URL | pg-query.mjs 等脚本连 wire 时使用 |
Edge 从 functions .env 读取时
会合并 functions/.env 与 functions/<name>/.env,但 始终覆盖:
SUPABASE_URL→ 本机SUPABASE_ANON_KEY/SUPABASE_SERVICE_ROLE_KEY→ XBuckle 本地键
避免 functions 环境误指云项目。
Mock 模式(XBUCKLE_AGENT_MOCK=1 或无任何厂商 key)还会覆盖 AGENT_MODEL: 既然 provider 与 base URL 已被钉到本机 mock,functions/.env 里为真实厂商钉的模型名 (如 deepseek-v4-flash)就会被 /llm 判为未知模型而 400。只有在 shell 里显式设置 的 AGENT_MODEL 才会被保留,与 SUPABASE_URL 同一条规则。
想让应用继续用自己的模型名(不经 edge,直接打 /llm),用 XBUCKLE_LLM_MODELS=your-model-a,your-model-b 注册即可;未注册的模型名仍按 OpenAI 形 返回 400 model_not_found。
