我们的engine从不接触您的数据仓库密码
datahashi
New智能体现可通过MCP使用OAuth登录

Metric只定义一次。所有工具答案一致。

datahashi是一个语义层。仪表盘、应用与AI智能体按名称请求Metric,并得到相同的答案。

示例数据revenue · EU · 2026-091,284,930
✓ 唯一定义三者得到同一个答案。

仪表盘磁贴配置

tile: Revenue, EU
metric: revenue
filter: region = EU
period: 2026-09

编译后的SQL(参数化)

SELECT SUM(o.amount) - SUM(r.amount) AS revenue
FROM analytics.orders o
LEFT JOIN analytics.refunds r ON r.order_id = o.id
WHERE o.status = 'completed'
  AND o.region = $1  -- "EU"
  AND o.ordered_at BETWEEN $2 AND $3
选择提问方。数字保持不变。
读取自SnowflakeBigQueryPostgresMySQL
提问方仪表盘通过REST的应用通过MCP的AI智能体

01唯一定义

不必再争论哪个数字才对

如今每个工具各自为收入编写SQL,得到的答案都略有不同。改为只写一次定义。

现状 · 示例数据

三个工具,三个答案

各自编写了自己的SQL。

财务仪表盘1,284,930
产品应用1,291,004
AI智能体1,302,117
使用datahashi · 示例数据

一个文件,一个答案

metric: revenue
expression: sum(orders.amount) - sum(refunds.amount)
filters: [orders.status = 'completed']
owner: finance
财务仪表盘 · 产品应用 · AI智能体1,284,930

修改YAML,三者同步变化。了解模型如何工作 →

02面向智能体

智能体拿到答案,而不是访问权限

每个智能体请求都满足三件事。逐一试试。

智能体无法编写SQL

它们只能请求Metric、dimension与筛选条件。原始SQL、臆造的联接和未知字段都会被拒绝。

智能体请求SQL

tool: query_metric
args: { "sql": "SELECT SUM(amount) FROM orders" }

✗ 不接受原始SQL

智能体按名称请求

tool: query_metric
args: { "metrics": ["revenue"] }

✓ 1,284,930 · 示例数据

密码留在您的网络中

数据仓库旁的Query Runner保管密码、终止开关和审计日志。engine只向它发送SQL。

语义查询
绑定SQL + Runner密钥
只读角色

第 1 阶段,共 4 阶段

调用方

按名称请求Metric,绝不编写SQL。

✗不持有任何数据仓库密钥。

接收

# a question, asked by metric name

传出

{ "metrics": ["revenue"],
  "filters": [{ "region": "EU" }] }
Authorization: Bearer <JWT or API key>

第 2 阶段,共 4 阶段

Engine

校验凭证,应用授权与行级规则,然后编写SQL。

✗永远看不到数据仓库密码。

接收

semantic query + credential

传出

SELECT SUM(o.amount) ... WHERE o.region = $1
+ runner key

第 3 阶段,共 4 阶段

Query Runner · 归您

以只读角色运行SQL,保管密码、终止开关和审计日志。

✓保管:密码、终止开关、审计日志。

接收

bound SQL + runner key

传出

native connection
(read-only role)

第 4 阶段,共 4 阶段

数据仓库 · 归您

向Runner返回数据行,只有Runner能够连接。

✓您的数据不会以副本形式离开您的一侧。

接收

read-only connection

传出

rows
(not kept by the engine)
1 / 4

重复问题跳过数据仓库

短时结果缓存与Rollup无需重新扫描即可回答常见问题。有了基准测试,我们才会公布速度数字。

首次请求

智能体→Engine→Query Runner→数据仓库扫描

再次相同请求

智能体→Engine · 缓存答案→Query Runner→数据仓库扫描

行级规则、限定范围的密钥和短期令牌,决定谁能看到什么。智能体 →安全 →

03免费或全托管

自己运行,或交给我们

两种方式都是同一个engine。托管方案按Metric与智能体计费,不按席位。

Community免费

在您自己的服务器上。单个模型,单个目录。

  • 自行运行engine与Query Runner
  • REST + MCP
  • 无控制平面,无按席位收费
全托管每月199美元起

由我们运行engine。可选Starter、Growth或Enterprise。

  • Growth最多150个Metric,含SSO
  • Enterprise:全托管,或部署在您自己的云
  • 付费试点:4–6周,每月1,500美元

并排查看所有方案定价 →

从一个Metric开始

三步得到您的第一个受管控答案。

  1. 步骤 1在数据仓库旁运行Query Runner。
  2. 步骤 2发布您的Metric模型。
  3. 步骤 3通过REST或MCP查询。