跳至正文
浏览文档
执行引擎

Supabase 与 ClickHouse

在远程数据库中发现表结构、执行查询。

Supabase

typescript
const ava = new AVA({
  llm: { model: 'YOUR_MODEL', apiKey: process.env.OPENAI_API_KEY },
  engine: { type: 'supabase' },
});
await ava.source({
  type: 'supabase',
  options: {
    projectRef: 'YOUR_PROJECT_REF',
    accessToken: process.env.SUPABASE_ACCESS_TOKEN!,
  },
});

引擎按需发现 schema,通过 Supabase Management API 以只读请求执行 PostgreSQL 查询。应用负责获取和刷新访问令牌。查询结果会返回给 AVA,也可能被发给模型,用于生成分析总结。

ClickHouse

typescript
const ava = new AVA({
  llm: { model: 'YOUR_MODEL', apiKey: process.env.OPENAI_API_KEY },
  engine: { type: 'clickhouse' },
});
await ava.source({
  type: 'clickhouse',
  options: {
    url: 'http://localhost:8123',
    database: 'analytics',
    username: 'reader',
    password: process.env.CLICKHOUSE_PASSWORD,
  },
});

使用 url 或 host,并提供必填的 database。username 的优先级高于别名 user。查询通过官方 ClickHouse 客户端执行,并启用只读设置。

共同工作流

两种引擎都支持 schema()、profile()、translate()、query() 和 analyze()。在 JavaScript API 中,数据源类型与引擎类型需要匹配。使用结束后调用 await ava.dispose() 释放资源。

完整配置表见 Supabase 参数和 ClickHouse 选项。