inGitDB
可用数据版本化与持久化
inGitDB 现已上线:Git 中的人类可读文件,可分支、可在拉取请求中审查,并可在 CI 中重现。计划从 DataTug 内部以这种方式管理项目数据。
inGitDBDataTug 是一个工作空间,您和 AI 可以在此调查关联数据:在 Web 应用、终端,或通过 DataTug AI 技能 在您自己的编码代理中。跨来源的答案今天可在 CLI 中使用。证据链、共享意义和记忆是我们接下来要构建的。
来自真实演示运行:一个保存的查询,无模型。
Explore and chat in the browser, work from the terminal, or connect an AI agent. The status of each capability is shown here.
The whole platform: datatug.io
Explore, query and chat over your data in the browser.
Explore projects, run TugQL, use AI chat, or script repeatable work.
Use skills in Claude Code, connect MCP tools, or explore saved SQLite results with the MCP Apps explorer. Set up MCP & the explorer →
Start with the right fit
不是思维链:而是行动、决策和证据的记录。首先,是真实运行的具体操作。然后,是 DataTug 正在构建以展示的调查过程。
DataTug CLI 执行了一个保存的 TugQL 查询。它连接了三个来源,没有调用任何模型。
命令
$ datatug query run sales/chinook-sales-per-capita打印内容
query download: 412 rows chinook
query download: 24 rows geo
query download: 216 rows geo
query process: 24 rowsCross-source TugQL joins in the CLI可用
重现它:datatug/datatug-demo-projects,提交 0e5b98f,DataTug CLI 0.51.0。
在 DataTug.app 中作为调查的同一问题。每个步骤都有标记:要么在真实运行中发生,要么是我们正在构建的行为,并显示其状态。
哪些国家相对于其人口购买最多的音乐?
from:
database: chinook
name: Invoice
alias: i
joins:
- from:
database: geo
name: country_aliases
alias: a
joins:
- from: {database: geo, name: population_wb, alias: p}
on: [{left: {field: country, source: a}, op: '==', right: {field: country, source: p}}]
on: [{left: {field: BillingCountry, source: i}, op: '==', right: {field: alias, source: a}}]知识来源
追踪视图是 DataTug.app 将如何呈现调查的原型。它尚未在产品中。
排序、筛选、调整大小,选择某个条形即可定位到对应的行。表格和图表是同一份结果的两种视图。
| 国家 | 销售额,美元 | 人口(2025) | 每百万人销售额 |
|---|---|---|---|
| 爱尔兰 | 45.62 | 5,484,367 | 8.32 |
| 捷克 | 90.24 | 10,886,878 | 8.29 |
| 芬兰 | 41.62 | 5,646,436 | 7.37 |
| 加拿大 | 303.96 | 41,651,653 | 7.30 |
| 葡萄牙 | 77.24 | 10,804,871 | 7.15 |
| 挪威 | 39.62 | 5,610,870 | 7.06 |
| 丹麦 | 37.62 | 6,009,169 | 6.26 |
| 匈牙利 | 45.62 | 9,514,251 | 4.79 |
| 奥地利 | 42.62 | 9,208,163 | 4.63 |
| 瑞典 | 38.62 | 10,596,620 | 3.64 |
| 比利时 | 37.62 | 11,941,781 | 3.15 |
| 法国 | 195.10 | 68,720,337 | 2.84 |
| 智利 | 46.62 | 19,859,921 | 2.35 |
| 荷兰 | 40.62 | 18,087,633 | 2.25 |
| 德国 | 156.48 | 83,491,249 | 1.87 |
| 英国 | 112.86 | 69,487,000 | 1.62 |
| 美国 | 523.06 | 341,784,857 | 1.53 |
| 澳大利亚 | 37.62 | 27,614,411 | 1.36 |
| 波兰 | 37.62 | 36,435,861 | 1.03 |
| 巴西 | 190.10 | 212,812,405 | 0.89 |
| 阿根廷 | 37.62 | 45,851,378 | 0.82 |
| 西班牙 | 37.62 | 49,355,143 | 0.76 |
| 意大利 | 37.62 | 58,915,656 | 0.64 |
| 印度 | 75.26 | 1,463,865,525 | 0.05 |
正在加载交互式表格…
美元/百万人
按当前顺序显示前 10 行,共 24 行
来自真实演示运行:Chinook 销售额与 World Bank 人口数据(SP.POP.TOTL,2025)关联。这是记录的结果,不是实时查询。
一个后续问题 原型
关于这些数据,你能说些什么?
有三点很突出。每一点都根据其指向的行计算得出。
悬停或选择某条观察,即可在表格和图表中高亮其对应的行。 Observations grounded in your data开发中
使用浏览器工作区、终端 UI 和 CLI,或将 DataTug 集成到 AI 智能体中。AI 聊天是前两种方式的一部分;状态使每个集成保持清晰。
在 DataTug.app 中探索项目、检查模式并基于你的数据进行聊天。使用你提供的模型密钥,并将同一调查带入终端。打开 DataTug.app
会话: chinook-countries
按人口比例计算,哪些国家/地区的音乐消费最高?
将 Chinook 销售数据与 World Bank 人口数据连接。
datatug chatDataTug.app在终端中继续此调查
开始于DataTug.app
使用键盘驱动的终端应用进行探索,与 AI 聊天,或在脚本和管道中运行可重复的命令。阅读终端应用指南
› datatug chat
› 哪些国家人均购买音乐最多?
将 Chinook 销售数据与 World Bank 人口数据连接。
✓ 24 个国家 · 3 个来源
›
开始于datatug chat
Claude Code 技能支持项目设置、发现、模式扫描和验证。连接 MCP 工具以获取模式和保存的查询。MCP Apps 资源管理器开发者预览版新增了表格和记录视图、排序、分页以及针对已保存 SQLite 查询的参数重跑功能。已使用贡献者参考主机进行测试;请遵循 MCP 设置指南以了解支持范围。查看技能及安装方法 智能体可以运行的命令
› /plugin install datatug@sneat-co
✓ datatug CLI 的技能已安装。
› 按人口比例计算,哪些国家/地区的音乐消费最高?
运行中 datatug query run sales/chinook-sales-per-capita
爱尔兰 8.32 捷克 8.29 芬兰 7.37
✓ 完成。结果已返回到对话中。
›
开始于/plugin install datatug@sneat-co
模式说 BillingCountry 是文本。意义说它是一个国家,其他系统将其识别为 IE 或 IRL,以及我们对每个事实的确定程度。这就是 MeaningGraph 的工作。将其连接到 DataTug 已有计划。
每个事实都说明它来自模式、人员、数据还是模型。
DataTug 会在询问模型之前读取 MeaningGraph,并写回你确认的内容。
同一个国家可以是一个名称、一个别名、一个 ISO 代码。意义就是连接它们的东西。
Chinook 值: "Ireland"
意义: Geo.Country
别名行: "Ireland" → ie
ISO 3166 代码: IE · IRL
世界银行: ie
选择一个节点查看其证据。
Chinook 值: "Canada"
意义: Geo.Country
别名行: "Canada" → ca
ISO 3166 代码: CA · CAN
世界银行: ca
选择一个节点查看其证据。
Chinook 值: "USA"
意义: Geo.Country
别名行: "USA" → us
ISO 3166 代码: US · USA
世界银行: us
选择一个节点查看其证据。
Chinook 值: "Czech Republic"
意义: Geo.Country
别名行: "Czech Republic" → cz
ISO 3166 代码: CZ · CZE
世界银行: cz
选择一个节点查看其证据。
这些值、别名表和人口数字来自真实运行。Geo.Country 意义节点是一个概念:MeaningGraph 集成已计划。
查询、连接以及你导航的方式都会留下证据。思路是:DataTug 将重复的证据转化为你可以确认的知识,然后重用这些知识,而无需再次询问模型。
Invoice.BillingCountry → Geo.Country
由你确认。下一次调查会查找这个,而不是询问模型。
对于反复提出的问题的设计目标:
从你的工作中学习是我们正在测试的想法。循环是设计目标,而非已交付的行为。
DataTug 的设计初衷是优先采用最轻量可靠的机制,并明确说明使用了哪一种:先看已知信息,再使用小型决策模型,然后是大型模型,最后才由您决定。
模式、已确认的含义、参考数据、保存的查询。免费、即时、可重复。
Jev,由 TypeSafe AI 提供的决策模型,对候选表、字段和连接路径进行排序。然后由模式检查所选结果。
新问题、无人见过的计划、用自然语言解释。
您确认从此以后哪些内容将被信任。
按人口比例计算,哪些国家/地区的音乐消费最高?
由 Jev(TypeSafe AI 的决策模型)排序。然后根据模式验证所选表。
并非所有知识都值得同等的信任。DataTug 的设计旨在让每个声明都保持差异可见,以便您区分哪些是已声明的,哪些是猜测的。
无需再次确认即可直接复用。
复用时附带相关事实依据。
仅作参考展示,绝不盲目信任。
这样重用就无需调用模型。
查询只是调查中的一步。DataTug 围绕整个调查过程构建:问题、你采取的路径、证据以及你在此过程中学到的东西。
数据库客户端
AI 数据库客户端
DataTug
它们相辅相成。无论你是否编写 SQL,都可以选择对下一步来说最快的方式。
不仅是表和列的名称,还有它们所代表的含义。
计划中在一个查询中连接数据库与外部数据集。
可用你确认过的内容及其证据,下次仍然存在。
评估中Web、终端 UI 和 CLI 在同一个会话上工作。
可用Chinook 说“USA”,人口数据说“us”,而 ISO 将同一个国家称为 USA 和“United States”。这是需要查找的事实,而不是让模型在每次问题时重新计算的内容。因此将其保存为表:一次存储、版本化,像代码一样审查。
| 别名 | 国家 | 匹配方式 |
|---|---|---|
| Czech Republic | cz | 手动匹配 |
| Netherlands | nl | 手动匹配 |
| USA | us | 手动匹配 |
| Ireland | ie | 等于 ISO 名称 |
三个需要人工处理的名称,一个不需要。映射是一等数据,而不是模型在每次问题时重新推断的内容。
# data/geo/country_aliases/$records/usa.json
{
"alias": "USA",
"country": "us",
"source": "chinook-database Invoice.BillingCountry; manual match: Chinook spells it 'USA'; countries.names.en is 'United States'"
}国家、货币、内部 ID 和标准、状态映射、查找表。
用于事件、测试失败、迁移演练和回归夹具的时间点副本。
保留外部或昂贵的数据,以便只获取一次,而不是每次运行都获取。
选定的记录、可疑交易、中间连接和临时映射。
会话属于 DataTug,而不属于界面。在终端中开始,在浏览器中打开网格,然后带着相同的上下文回来。或者反过来。
$ datatug
会话 chinook-countries ● 已同步
› 按人口比例计算,哪些国家/地区的音乐消费最高?
✓ 已将 Chinook 与世界银行人口数据连接。
o 在浏览器中打开网格
会话: chinook-countries
从你的终端继续
随时返回终端;这是同一个会话。
用于管道和脚本的一次性命令,内置托管 AI。
Managed AI in the CLI可用将实时网格或图表放在任何页面上。
<datatug-grid> and <datatug-chart> embeds可用DataTug AI 不绑定于一个提供商。
在浏览器或 CLI 中,使用你自己的 API 密钥与你已经信任的提供商。
Browser chat with your own API key可用DataTug 托管的 AI,无需设置密钥:在 CLI 和 Web 应用中使用。你的提示、模式和查询文本会发送到云端。行值不会。
Managed AI in the CLI可用Managed AI in the web app可用Bubble 是一个小型交互界面,例如网格、图表或检查器,它出现在对话中,并与其他 Bubble 组合成更丰富的工具。UIBubbles 是它们的开放标准。
将排名靠前的国家显示为网格。
以下是按每百万人销售额排序的国家。
| 国家 | 每百万人 |
|---|---|
| 爱尔兰 | 8.3 |
| 捷克 | 8.3 |
| 芬兰 | 7.4 |
| 加拿大 | 7.3 |
将其制成图表。
已制作图表,并与网格关联。
为什么 爱尔兰 映射到 IRL?
以下是该映射的证据。
这是手工构建的概念体验。Bubble 运行时已列入计划。 关于 UIBubbles
一个阶段学到的关于数据的知识应该为下一阶段保留。DataTug 和 MeaningGraph 的目标是将其从最初的想法一直带到日常支持。
探索已存在的数据和领域知识。
定义实体、含义、标识符、关系和映射。
开发人员和代理使用已知信息,并将发现反馈回去。
可能发生事故调查故障,比较环境,保留你发现的边缘情况。
可能发生事故支持和代理利用迄今为止学到的一切来调查真实行为。
可能发生事故它可能发生在你开发、测试、预发布或生产时。早期事故是一份礼物:它在客户发现之前就暴露了问题,而此时修复成本还很低。
每一次都会启动一次聚焦调查,而它所带来的经验会回流到未来的工作中。
事故是高压时刻,系统和数据的重要真相会在此浮现。留住这些真相,而不是在事故结束后将其丢失。
Incidentius integration计划中
在事故发生过程中帮助你开展调查。
保留已经确立的内容:含义、关系和诊断知识。
承载事故本身:事件、背景和响应。
理念在于:发现成果始终保留着回到教会它的那起事故的关联,并会在未来事故、开发、回归测试和预防中再次出现。
访问 Incidentius.com让 AI 访问生产数据应当从设计上就是安全的。以下是逐项声明,说明今天已经成立的事实,以及仍待实现的部分。
在你自己的机器上、紧邻你的数据运行 DataTug:查询在本地执行。使用托管 AI 时,你的提示、模式(schema)和查询文本会发送到云端。行数据值不会。
可用通过由策略强制执行的已保存查询,限定某个角色可以读取的数据范围,目前适用于 SQLite 和 inGitDB 数据源。未设置策略时,访问不受限制,且终端数据库查看器尚未应用策略。
可用以只读方式连接数据源,确保调查过程无法更改数据源。
计划中在调查步骤运行前对其进行批准,而不是一次性信任整个计划。
计划中在服务端对敏感值进行掩码处理,依据字段的含义而非字段名称来驱动。
计划中决定哪些内容可以到达外部模型,精细到字段级别。
计划中审计轨迹与来源记录是同一份记录:是谁或什么执行了该操作,依据了哪些证据。
计划中你在上文已逐一了解了它们。每个组件都只承担一项职责,并且都不必作为起始前提。

调查与认知
您与 AI 协同分析关联数据的工作空间。
工作区理解语义
字段、取值与关联关系的真实业务含义及其依据。
meaninggraph.io访问与共享
跨异构数据源统一访问与发布数据的标准化方式。
openvaultdb.com数据版本化与持久化
以 Git 可读文件管理参考数据与快照。
ingitdb.com交互与扩展
直接嵌入问答中的表格、图表与数据探查器。
uibubbles.org沉淀故障认知
保存故障现场与处置过程,使实战经验长期留存。
incidentius.comDataTug 尚处于早期阶段。以下是它目前已经能很好地服务的对象,以及应当再等等的对象。
本列表跟踪 DataTug 的能力状态。生态项目的可用性另行说明。
已发布。你今天即可使用。
从开始到结束全程可用,但尚未在所有场景可用。
正在构建中。暂请勿依赖。
已设计并排期,尚未开始。
我们正在验证的想法。它可能会改变或被放弃。
实时演示正在开发中。今天你可以在此页面走一遍原型,或安装 CLI 自行运行真实查询。
在 GitHub 上点星CLI 在 Free 计划限额内可免费用于个人和商业用途。 查看定价. AI 技能是开源的(MIT)。 GitHub 上的技能.