发布说明¶
0.4¶
0.4.0¶
新功能
- 统一 Dosi 语义建模 - Dosi 现在是默认的原生语义 adapter,新增、修改、删除、校验和 Knowledge Base 同步统一收敛到
semantic_modeling;支持按文件定位、多模型路由、安全删除和失败回滚。MetricFlow 与旧 OSI 项目保留查询能力,但不再作为新的 authoring 路径。#1237 #1249 #1251 #1282 #1287 #1289 datus-semantic-adapter#69 #76 Dosi adapter 文档 语义建模文档 - Dosi 成为独立指标引擎 - DATUS extension 1.4 新增同比/环比、滚动、累计、排名、LEAD、统计窗口以及过滤型和组合型派生指标,同时提供原生 MCP HTTP/stdio 服务。osi-engine#29 #31 #34 #35 #44 #45 #46 datus-semantic-adapter#75 #82 Datus Extensions 窗口指标 MCP 文档
- Oracle 端到端支持 - 包含 DB adapter、Oracle 19c 兼容的 dialect operations、SQL skill、Dosi SQL lowering 和 ODPI-C executor,以及 Agent 安装和执行链路。#1272 datus-db-adapters#84 osi-engine#52 datus-semantic-adapter#83 DB adapter 文档 Dosi connector 文档
- GaussDB/openGauss 端到端支持 - 支持官方驱动和纯 Python pg8000、SHA-256 认证、PG/A/B 兼容模式、完整 TLS
sslmode和 CA 校验,以及 Dosi 原生执行。#1279 #1295 datus-db-adapters#96 #100 #102 osi-engine#50 #57 #58 数据源文档 Dosi connector 文档 - 项目打包交付 - 新增
datus package,可将项目配置、语义模型、skills、模板和报告导出为不含凭据的自包含 ZIP;文件工具同时取消扩展名白名单,可操作 Dockerfile、Terraform、notebook 等项目文件。#1262 #1260 文档
增强
- 数据权限扩展到语义指标查询 - 新增
metric_row_filter,根据指标涉及的数据集在聚合前注入过滤条件;同时支持 ASK 状态下的受限 AI 权限审查,并修复 principal 传递。#1261 #1265 #1277 datus-sql-policies#5
Bug 修复
- 语义建模和查询正确性 - 统一半开时间区间,并修复 SQL preflight、多维 attribution 部分失败处理、预览校验错误透传、SQLite bridge、Dosi dry-run SQL 格式及 Oracle service name 映射。#1238 #1242 #1253 #1292 datus-semantic-adapter#74 #79 #80 #83
- 运行控制和会话可靠性 - 子 Agent 现在会正确继承请求级权限 profile,等待
ask_user时取消可真正终止任务;同时修复/chat/history500、并行工具调用重复文本,以及返回失败却被追踪为成功的问题。#1248 #1268 #1273 #1280 #1284 - 数据库兼容性 - StarRocks 在
information_schema超时后回退到SHOW获取表和列;GaussDB 修复 macOS 连接并拒绝误加载 PostgreSQL libpq;Dosi 修复 DOUBLE 被错误返回为字符串。datus-db-adapters#93 #98 #101 osi-engine#42
升级说明
- Dosi-only 语义创作 - 新的语义 authoring 只支持 Dosi;旧
gen_semantic_model和gen_metrics入口仍保留兼容调用,但最终统一进入semantic_modeling。#1287 #1289 - Dosi 版本要求 - Datus Agent 0.4.0 应搭配
datus-semantic-dosi 0.1.7和dosi-engine 0.1.7。已发布 wheel 支持 Linux x86_64、Linux aarch64 和 macOS arm64;其他平台需要从源码安装或提供兼容 wheel。datus-semantic-adapter#82 osi-engine#64 Dosi 安装文档
0.3¶
0.3.9¶
新功能
- Datus Plugin 体系 - 第三方能力现可通过 Plugin 扩展 Datus,无需修改 Datus Agent 本身。Plugin 可提供
datus <plugin>CLI 命令、内置 Skill 和额外的提示词上下文;支持安装、升级、启停、离线打包与导出,并可按项目激活和选择 profile。0.3.9 进一步完善了声明式datus-plugin.yml契约、外部目录挂载与托管式多租户部署支持。#1125 #1151 #1153 #1155 #1159 #1192 Plugin 文档 Plugin 开发文档 - 三种输入模式与工具快捷执行 - 在 CLI 中按
Tab可在对话、SQL 和 Bash 模式之间循环切换。对话模式下,使用!<tool>可直接运行 Agent 工具,使用!<plugin>可运行已安装 Plugin 的 CLI,并支持命令与参数自动补全。所有操作均遵循现有权限和 SQL 策略,执行结果会自动加入对话上下文,便于 Agent 继续分析。#1157 #1186 文档 - 操作系统级 Bash 沙箱 - Bash 命令可在 macOS
sandbox-exec或 Linuxbubblewrap提供的操作系统级沙箱中运行,并将写入范围限制在工作区、会话数据目录和临时目录。可通过/sandbox或agent.bash.sandbox开启;严格模式可进一步限制可访问目录并收紧子进程环境变量,设置deny_network: true后还可禁止网络访问。沙箱默认关闭;启用后如当前平台缺少可用机制,Bash 命令将被拒绝。#1181 文档
增强
execute_sql细粒度权限 - SQL 语句按只读、写入、破坏性操作和未知类型分别授权。auto模式现可直接执行INSERT和CREATE,UPDATE、DELETE、DROP和TRUNCATE仍需确认。授权范围严格限定到具体语句类型,也可在agent.yml中自定义规则,或在确认弹窗中将语句加入项目级允许列表。#1173- Subject Tree 指标由 Semantic Adapter 统一读写 - Subject Tree API 现直接通过项目当前的 Semantic Adapter 读写指标。OSI 指标的
expression.dialects、ai_context和custom_extensions等原生字段可完整保留,新建、编辑或删除指标也不再误写为 MetricFlow 格式。#1185 datus-semantic-adapter#56 - TUI 全界面选中与复制 - 状态栏、Todo 侧边栏、队列预览、输入框、搜索结果、权限弹窗和内嵌向导等所有可见区域均可选中复制。复制内容会自动排除面板边框和补白。#1150
- 同一项目支持多个 OSI 语义模型 - 语义模型的生成、校验、发布、检索、清理和指标生成现均按模型名隔离。系统会根据显式名称、业务域和核心事实表稳定选择目标模型,避免同一数据库中的无关模型被误选或覆盖。#1168 #1169 #1189 datus-semantic-adapter#53 #55
- 权限模式快捷键 - 按
Ctrl+P可在normal→auto→dangerous之间循环切换权限模式,并且在 Agent 流式输出期间仍可使用。#1187 文档 /init与/build-kb减少 Todo 噪声 - 精简了知识库构建过程中的中间 Todo,减少重复任务,使进度信息更聚焦。#1156
Bug 修复
Escape即时中断 - 按Escape现会立即取消正在运行的轮次,无需等待当前模型调用返回。中断前已产生的部分响应会保留在会话历史中;尚未产生响应的轮次则会恢复为可编辑输入。#1194- DuckDB 版本与内存库 Catalog 修复 - DuckDB 依赖统一固定为 1.5.2,以保持扩展和 Iceberg 行为一致。
GET /api/v1/catalog/list现可正确返回内存 DuckDB 数据源及其已挂载的 Iceberg REST Catalog。#1184 #1191
升级说明
!<sql>快捷方式已替换 -!前缀不再执行 SQL。请按Tab切换到sql>模式;!现用于运行 Agent 工具或 Plugin CLI,并优先匹配工具。#1157 #1186 文档- Semantic Adapter 版本要求 - Datus Agent 0.3.9 要求
datus-semantic-core>=0.2.2。单独安装 Adapter 时,应使用datus-semantic-metricflow>=0.2.11;使用 OSI 语义模型时,应使用datus-semantic-osi>=0.1.4,以获得匹配的多模型和指标读写支持。#1185 datus-semantic-adapter#53 #56
0.3.8¶
新功能
- [Experimental] 可选的 Metadata 全文检索 - 设置
kb.search.mode: fts后,可使用 LanceDB 0.34 原生 FTS 和中文 n-gram 索引检索 metadata。默认仍使用 vector 模式;FTS 会严格检查索引兼容性,并支持增量更新。#1112 #1141 文档 - Semantic SQL History Profiler -
gen_semantic_model可利用历史 SQL 和 success-story SQL 收集列使用、数据分布、日期跨度、join 覆盖率和常用筛选条件等证据,辅助 MetricFlow 与 OSI 语义模型生成。明确提出 profiling 请求时会启用这条深度分析路径,也可显式关闭。#1082 #1108 文档 - 项目级、符合 OSI 规范的 Semantic Layer - 语义模型生成、指标生成、AskMetrics、查询和 BI bootstrap 统一使用项目当前启用的 semantic adapter。OSI 语义模型会按 datasource 的真实 SQL dialect 生成,可一次性将完整 OSI 文档同步到 Knowledge Base,并按结构判断字段角色:只有包含
dimensionblock 的字段才是可查询维度,主键和唯一键只从describe_table提供的数据库约束转录。指标生成与语义模型写入相互隔离,避免改写模型结构或并发覆盖。未显式配置 adapter 的项目仍默认使用 MetricFlow。#1107 #1120 #1128 #1131 #1148 #1160 #1161 datus-semantic-adapter#41 #42 #43 #50 Semantic Layer 文档 OSI adapter 文档
增强
- 高级时间指标作为独立指标 - 指标生成现在会将 cumulative、rolling-window 和 fixed period-over-period 变体生成为独立指标,不再因为已有基础指标而跳过。Semantic adapter 会补充必需的
metric_time分组并返回结构化校验建议,生成的 OSI 指标也会获得与 MetricFlow 一致的业务域subject_path。#1104 #1111 #1113 #1124 datus-semantic-adapter#38 #39 #40 - 更安全、可观察的 Bash 工具 -
execute_command统一更名为bash,支持真实 shell pipeline、命令级 allow/deny/ask 规则、项目 allowlist、单次调用 timeout 和进程组清理。长输出会归档并提供可恢复预览,命令运行时持续显示耗时,读取 stdin 的命令也不再挂住 TUI。#1092 #1094 #1103 - Semantic Artifact 刷新保持一致 - MetricFlow 与 OSI YAML 可从已保存的 table semantic profile 更新
Observed profile描述。Semantic model、table profile、vector rows 和 metrics 会在当前 artifact 范围内同步,metric sync 改为只做 upsert,避免覆盖同一 datasource 下的无关指标。#1090 Knowledge Base API 文档 Semantic Model 文档 ssl_verify支持 Inline PEM - 模型配置可直接保存 CA certificate 内容,不再依赖运行容器中的证书文件。Native httpx 路径使用内存SSLContext,LiteLLM 路径使用自动清理、按内容去重的临时 CA bundle。#1102 文档- Web 文件工具改为服务端执行 - Web 会话在
auto和dangerousprofile 下会由服务端执行write_file、edit_file和delete_file,避免浏览器隐藏、断连或关闭时等待代理结果而超时。SSE 工具事件新增明确的proxied状态,VS Code 仍保持客户端代理执行。#1123 - 中英文文档独立构建与搜索 - 英文和中文文档改为两个独立 MkDocs 站点,分别生成搜索索引、版本元数据和 canonical URL。中文页面迁移到
/zh/<version>/,避免搜索结果混入另一种语言。#1152 #1154 文档
Bug 修复
- 按 Database 隔离 Semantic Storage - Semantic model 使用完整的 catalog/database/schema/table 标识,同名表不会再互相覆盖;旧的 simple-id 数据会在后续同步时安全清理。
datus-agent run --task_db_name也会保留调用方指定的真实 database。#1115 #1127 - Agent 与 Gateway 失败可恢复 - LLM stream failure 会返回稳定错误码和可读消息,缺少必填参数的工具调用会返回可重试结果而不是终止整个 turn,自定义
gen_sqlprompt 缺失时会回退到最新内置模板。Slack 和 Feishu 缺少凭证时会跳过启动,Slack 凭证无效时会快速失败,不再无限重连。#1116 #1117 #1122 #1134 #1135 #1137 - 运行时依赖兼容性恢复 - 将
openai限制在 2.45.0 以下,避免openai-agents==0.7.0因 Usage schema 不兼容而在每次模型调用前崩溃;同时将 pandas 固定为 2.1.4,以兼容 Snowflake adapter 并保留 LanceDB 0.34。#1130 #1136
升级说明
- Bash 工具更名 - 自定义 subagent tool whitelist、MCP/tool 调用或 permission rule 如果仍引用
execute_command,需要迁移到bash;对应权限标识为bash_tools.bash。#1092 #1094 - 项目级 Semantic Adapter 选择 - 使用 OSI 或自定义 semantic format 的项目应将 adapter 选择迁移到项目级 semantic 配置。旧的 node-level semantic-format override 不再决定生成路径;未配置的项目仍默认使用 MetricFlow。#1107 #1120
- Semantic Adapter 版本 - Datus-agent 0.3.8 要求
datus-semantic-core>=0.2.1。单独安装 MetricFlow adapter 的部署应使用datus-semantic-metricflow>=0.2.9;使用 OSI 语义模型生成时,应使用datus-semantic-osi>=0.1.2,以获得匹配的字段角色和约束处理。datus-semantic-adapter#50 - FTS 索引初始化 - 设置
kb.search.mode: fts后,需要执行一次 overwrite metadata bootstrap 来创建 FTS 索引。已有 vector 数据不会自动迁移,FTS 无结果时也不会回退到 vector 检索。#1112 - Web 文件权限 - Web 的
autoprofile 对 workspace 外路径执行写入时,现在需要服务端权限确认;dangerousprofile 行为不变。#1123 - 中文文档 URL - 中文文档从
/<version>/zh/...迁移到/zh/<version>/...;外部书签和硬编码链接需要同步更新。#1152 #1154
0.3.7¶
新功能
- 统一的 Web 搜索与抓取工具 - 新增
web_tool.web_search/web_tool.web_fetch工具,agent 可联网搜索并抓取网页正文。后端按当前模型 provider 自动选择(Claude 原生web_search/web_fetch、OpenAI hosted search、本地 Tavily),并统一归一化为同一套结果结构,无论用哪个模型,CLI/TUI 展示与 API、datus -p的事件载荷都保持一致。例如 Claude 和 GPT 模型都会优先调用自己的搜索工具,没有内置搜索工具的模型降级到本地 Tavily 配置,如果仍然没有配置则没有搜索能力。#1050 #1068 #1070 #1081 文档
增强
- 统一的
execute_sql数据库工具 - 原先分散的read_query/execute_ddl/execute_write合并为单个execute_sql,按语句类型自动判定并授权:只读查询(SELECT/SHOW/EXPLAIN)自动放行,写入与 DDL 走权限确认(在 permission mode 为 dangerous 时才会自动执行)。同时解除了对 DDL 语句类型的预先限制,确认后即可执行CREATE DATABASE/TRUNCATE/MERGE等语句。#1062 list_tables返回限定名 - 列表项由裸table_name改为qualified_name([db.][schema.]table),只补全调用方未指定的命名空间层级,便于在跨 db/schema 场景中构造合法的后续查询引用。#1078- 完善 OSI 指标生成与 AskMetrics 语义指标链路 - 将 OSI 语义模型收敛为业务域级别,新增 describe_table 时的表级 semantic profile 同步/展示,并增强 ask_metrics 查询时的指标发现、跨表 join 控制及累计/滚动指标查询能力。#1061 #1055 文档
- build-kb / init 扫描全部文本文件 -
/build-kb与/init不再按固定后缀白名单扫描,改为按内容识别文本文件,无扩展名或少见后缀的文本也能纳入,二进制与超大文件(>~1MB)自动跳过。#1059 - 权限确认弹窗可读化 - 权限确认时的工具参数改为按 markdown 分块渲染(SQL 用代码块高亮、嵌套结构用 JSON 块),能更清晰的看到需要确认的内容。#1069
Bug 修复
- 工具失败展示与 write_file 扩展名 - 修复 Claude 原生 / Codex 后端下工具执行失败仍显示绿色 ✓ 的问题(现正确显示 ✗);同时解除
write_file的扩展名白名单限制,可写出.sh/.tf等文件。#1077 - catalog/list 按 datasource 配置的 database 限定 -
GET /api/v1/catalog/list不再列出服务器实例上的全部 database,只返回 datasource 实际绑定的 database。#1064 - 语义适配器运行时 DB 上下文 - 选中的 catalog/database/schema 会作为运行时 DB 上下文贯穿 API 与 agent,语义适配器配置与 SemanticTools 会随上下文切换自动重建。#1066
- CLI 抑制 LiteLLM 控制台日志 - LiteLLM 的 INFO 日志改写入 Datus 日志文件,不再泄漏到 TUI 界面。#1071
升级说明
- 数据库 SQL 工具合并 -
read_query/execute_ddl/execute_write不再作为独立的 agent/MCP 工具暴露,统一为单个execute_sql;自定义 subagent 工具白名单或脚本若引用了旧工具名,需迁移到execute_sql。#1062
0.3.6¶
增强
- 可限定范围的
/init与/build-kb-/init现在支持传入可选 scope 文本,/build-kb支持跳过确认步骤,便于在明确范围或自动化场景中更直接地构建知识库。#1033 init 文档 build-kb 文档 - 模型级 SSL 校验配置 - 模型 provider 可通过
ssl_verify配置true、false或 CA bundle 路径,以连接私有 CA 或自签名证书的 LLM endpoint;模型级配置优先级高于SSL_VERIFY和SSL_CERT_FILE环境变量。#1043 文档 - API 运行时堆栈诊断 - API server 支持通过
SIGUSR1将 live async task stack dump 到日志中,便于在不停止进程的情况下排查生产环境卡住问题。#1037
Bug 修复
- Session 与 Catalog API 响应更稳定 - session 和 catalog endpoint 中较慢的同步文件系统或 datasource 调用会移出 event loop 并设置有界超时,避免单个慢请求拖住整个 API 进程。#1036
- Datasource Override 保留 Database 上下文 - 修复 datasource 名称被当作物理 database 名称使用的问题;Chat 请求现在会把 datasource override 与 database context 分开传递,connection、gateway、subagent 和 validation 路径都会保留这两个概念的区别。#1048
- Release 与测试稳定性 - Prepare Release workflow 现在会在 locked sync 前重新生成
uv.lock;BIRD SQLite fixtures 会隔离到临时目录,避免测试之间互相污染。#1039 #1047
升级说明
- Skill 执行方式 - Skill 现在通过
load_skill执行;旧的skill_execute_command路径和 skill config 中的allowed_commands字段已移除。#1033 - 数据库 Schema 工具 -
get_table_ddl不再作为面向 agent/MCP 的工具暴露。用户侧 schema 和样例数据检查请使用describe_table和read_query。#1031
0.3.5¶
新功能
- SQL Policy Framework - 新增请求级 SQL 读查询策略框架,支持从 API 请求的
X-Datus-Principal读取结构化调用方身份,并在数据库读查询执行前调用自定义 provider 改写或拒绝 SQL;改写后的 SQL 会再次经过只读校验,生产部署可接入自有鉴权或策略服务。#1020 #1028 文档 - Strict OSI 语义创作路径 -
gen_semantic_model/gen_metrics现可按 OSI adapter 自动进入严格 OSI authoring 模式,生成 OSI core YAML,通过 adapter 校验、dry-run 后发布,并把可查询指标同步回 Knowledge Base,避免 MetricFlow-only 字段泄漏到源语义模型中。#1007 文档 - Metric Preview API - 新增已保存指标的维度发现与 SQL 预览接口,SaaS metric editor 可在 UI 中列出可查询维度、dry-run 编译指标 SQL,并用结构化 preflight 错误提示不兼容维度组合。#992
- 轻量化
/init+ 全新/build-kb-/init现在只做快速项目扫描、AGENTS.md清单和文件类 knowledge/memory 写入;重型向量知识库构建迁移到新的/build-kb命令,支持按文件、表、datasource 或业务域限定范围,并通过内置storage-classifyskill 路由 semantic models、metrics、reference SQL、knowledge、memory、skills 和AGENTS.md。#997 #1022 文档
增强
- 系统 Prompt 前缀缓存 - AgenticNode 在 session 首次 LLM 调用时快照系统 prompt,后续轮次复用同一前缀以稳定命中 Anthropic ephemeral cache / OpenAI prompt cache;当前 datasource 等运行时信息改走 user turn 的
<system_reminder>注入,切换模型时自动重建快照。#996 - AskMetrics 查询流升级 -
ask_metrics支持可选的最终结果选择、完整query_metrics结果缓存和压缩预览展示,并能在同环比问题中自动扩展当前值、上一周期值和差值指标,提升 benchmark 与复杂指标问答的稳定性。#1005 文档 - 同环比指标生成与查询 -
gen_metrics可从 LAG SQL 自动生成offset_window派生指标,ask_metrics会按 offset metadata 匹配正确时间粒度维度,减少因粒度不匹配导致的首期数据缺失。#989 - 非交互式 Plan Mode -
datus -p新增--plan-mode,print mode 与 benchmark 场景中计划生成后可自动确认执行,不再因等待人工确认而卡住。#993
Bug 修复
- 并发权限弹窗不再互相阻塞 - 权限 prompt 锁从 event loop 作用域改为 broker 作用域,独立会话和 sub-agent 在同一 API worker 上不会再互相卡住,同时保留单次运行内一次只展示一个权限弹窗的行为。#1035
- 交互式 API 会话保持在线 - 当
AgentConfigfingerprint 变化但旧DatusService仍有活跃任务时,缓存不再提前替换实例,避免用户回复/chat/user_interaction时命中新的空 task manager 并返回SESSION_NOT_FOUND。#1032 - Claude 原生 SDK 路径完整执行 Hook 生命周期 - Claude 订阅 OAuth token 路径现在与 OpenAI Agents SDK Runner 路径一致,会完整触发 permission、compact、generation 等 hook,不再绕过权限策略或生命周期回调。#980
- 指标 queryability 与预览更稳 - 修复 metric preview 返回 datasource id 而不是物理 database、queryability publish gate 不接受 canonical
metric_timeevidence、period-offset metric discovery 不稳定,以及 offset-derived metric bootstrap 依赖 authoring format 的问题。#1019 #1018 #1017 #1011 - Anthropic SDK 认证头冲突 - 修复环境变量凭证回退时 Anthropic SDK 发送双重
Authorizationheader 的问题。#991 - Python 3.12 CLI 帮助显示恢复可读 - 将
DBType、LLMProvider、EmbeddingProvider、SQLType迁移为StrEnum,避免 argparse 在 Python 3.12 下把枚举候选值显示成原始类名。#1001 - 非 DB 节点也能拿到当前日期 - 日期注入从 datasource catalog 注入中拆出,
gen_visual_report、skill_creator等没有数据库工具的节点也能在 system prompt 中获得当前日期上下文。#1026 - 旧版 JSON 数组用户消息可正确解析 -
extract_user_input()现在能识别旧版本保存的 JSON 数组消息内容,Web 侧边栏不再直接显示原始 JSON 字符串。#888 - API 关闭时不再丢弃后台任务 - 新增统一 background task 注册与 drain 机制,FastAPI lifespan shutdown 前会等待 fire-and-forget 任务完成并记录异常,同时补齐
DatusServiceCache.shutdown()调用。#1003 - CLI 退出不再触发 RuntimeWarning - 修复 prompt_toolkit teardown 期间
run_in_terminal_sync()创建的 coroutine 被 loop close 丢弃导致的RuntimeWarning: coroutine was never awaited。#952 - DBManager 连接状态更健壮 -
DBManager现在能容忍被置空的_conn_dict条目,并在list_databases失败时记录 traceback,减少长会话或异常恢复中的连接状态崩溃。#994
0.3.4¶
新功能
- AskMetrics 子代理 - 面向 KPI、趋势、group-by 和 attribution 问题的专属 metric QA agent,会优先使用 metric 专用工具与提示词而非裸 SQL,并支持自定义路由、模板和工具。#954 文档
- OpenRouter Provider - 用一个
OPENROUTER_API_KEY即可访问完整的 vendor/model 目录;/model选择器新增搜索过滤,并隐藏 Anthropic Claude 的非 canonical-fast别名。#973 #936 文档 - 自更新命令 -
datus upgrade/datus update可在 CLI 中检查并安装datus-*包的新版本;交互式会话启动时会提示可用新版本,--check则只查看不安装。#949 - Print 模式 Orchestrator 工具 -
--orchestrator-tools让外部 orchestrator 通过代理工具请求 issue 评论、状态更新、人工输入、blocked 标记和 mission 完成,且每个工具的 strict JSON schema 都被完整保留。#950
增强
- 默认可查询的指标 - 指标生成现在会提取一份 queryability contract,并用
query_metrics(dry_run=True)校验,因此不再产出结构合法、却无法按原始粒度查询的指标。#943 #962 - 隔离的 Agent Memory - 每个 agent 拥有一份独立的 2000 字节
MEMORY.md,仅能通过add_memory/edit_memory写入;sub-agent 只以只读方式继承。#975 文档 - 内置知识抽取 - 外部知识生成从旧的
ext_knowledge向量子系统切换为内置的extract-knowledgeskill,精简了遗留存储与工具面,同时保留 knowledge-base API。#932 - 更强的 Snowflake 支持 - Snowflake 现支持 inline PEM 私钥、拒绝不支持的 catalog 参数,并在 DB 与 MetricFlow adapter 中规范化 time-grain 查询;文档也明确 password 与私钥二选一、warehouse 必填,且通常不应设置 catalog。#937 datus-db-adapters#70 datus-db-adapters#72 datus-semantic-adapter#27 datus-semantic-adapter#28 datus-semantic-adapter#29 文档
- 统一的
gen_sql命名 - SQL 生成节点、工作流、配置、CLI 命令(/gen_sql)、prompt 模板和 sub-agent 名称统一为同一套gen_sql命名;使用旧generate_sql/sql_system配置的项目需要迁移。#935 文档 - 可配置的指标批量大小 -
bootstrap-kb --components metrics新增--metrics-batch-size;需要逐条 success-story provenance 时设为1,否则保留默认值5以维持原有吞吐。#976
Bug 修复
- 按 Datasource 隔离的指标 Bootstrap - 多 datasource 项目中指标 bootstrap 现按 datasource 做行级隔离,
overwrite不再删除其他 datasource 的 KB 数据,同时加固了 MetricFlow YAML merge、批次刷新、最终指标去重和 CLI 长输出截断。#974 文档 - 更稳健的语义指标查询与校验 - Snowflake 表坐标现能正确进入 semantic model 生成提示,多指标维度兼容性有 preflight 与拆分建议,临时 YAML 校验不再扫描无关父目录,非字符串/可空 PyArrow 结果也能安全展示。#941 #946
- 跨 Datasource 的 Subject 节点迁移 - 升级旧版 SQLite 存储时会迁移陈旧的
subject_nodesUNIQUE 约束,使同名 subject 节点可在不同 datasource 间共存,同时保持同一 datasource 内的去重。#964 - 一个 Datasource 路由到多个 Database - 单个 datasource 现可路由到多个 database——文件 glob datasource、benchmark 任务、
/database切换、DB 工具和节点执行都按(datasource, database)选择连接,benchmark SQL 任务也可显式指定 datasource。#961 #934 datus-db-adapters#71
0.3.3¶
新功能
- 会话自动压缩 - 长对话现在可以自动整理上下文,减少因上下文占满而中断的情况。对话变长时,较早的工具调用记录会归档到磁盘,当前任务仍保留在上下文中;接近上限(约 90%)时,会生成会话摘要并继续运行。
/compact也新增了进度提示和摘要面板,完整历史会持久化保存,方便恢复和回溯。#871 #919 #933 文档 - 实时 Token 用量 - 模型响应时会实时显示本次新增与累计 token 数;状态栏同步展示当前上下文占用和总容量。用量历史会随会话保存,恢复会话或审计成本时都能查看。#920
增强
- Snowflake 密钥对认证 - Snowflake 启用 MFA 后,可改用 RSA 密钥对认证,不必依赖密码连接。配置
private_key_file、可选的private_key_file_pwd和role后,同一套认证信息会用于 SQL 执行,以及 MetricFlow 指标生成、校验和查询;日志中的凭据会自动脱敏。#926 datus-db-adapters#66 datus-db-adapters#67 datus-semantic-adapter#25 文档 - 离线 Embedding 降级 - 离线、内网或无法访问 Hugging Face 时,Datus 不再卡在 embedding 模型下载上。上下文搜索和
@引用补全会临时降级,并提示模型名、缓存路径、相关环境变量和修复方法;数据库工具和普通聊天仍可继续使用。文档也补充了预先缓存模型、或改用 OpenAI 兼容 embedding 服务的离线部署方案。#870 - Codex 缓存策略优化 - 使用 ChatGPT 订阅版 Codex 后端时,多步运行现在可以像官方客户端一样复用 prompt 缓存,降低等待时间和 token 成本。#918
datus -p与--resume支持多轮对话 - Print 模式现在也能恢复并继续指定会话。通过datus -p '...' --resume <session_id>即可在命令行中接续对话;REPL 与 API chat 也支持用--resume恢复既有会话。#914
Bug 修复
- 自定义 Ask 子代理遵守工具白名单 -
ask_report/ask_dashboard现在只会看到子代理tools白名单中允许的工具。未授权的数据库、bash、skill 工具不再暴露给模型,prompt 也不再混入完整聊天工具目录,减少越权调用和上下文污染风险。#877 #878 #881
0.3.2¶
新功能
- Agent 可观测性(可配置追踪) - 在
agent.observability.tracing中开启后,运行追踪即可导出到 Langfuse、LangSmith、Datadog、Braintrust 或通用 OTLP collector。可按需采集运行内容并对敏感信息脱敏,同时生成稳定的追踪引用、在运行期对追踪分组,把 benchmark、bootstrap、CLI、chat 等运行归到同一条链路下,便于关联与排查。#833 #864 文档 - Visual Artifact 升级:支持 Dashboard - 新增
gen_visual_dashboard,可在 Chat 里像gen_visual_report一样直接生成 dashboard 风格的 HTML 看板(多图表卡片布局),并可由 本地datus --web直接预览——切换筛选器即按当前条件重跑 SQL、实时刷新,无需 SaaS 后端。报告与看板的生成质量也明显提升:版面更整齐、图表渲染更稳定(多图表并发查询不再触发 DuckDB 竞态)、图表组件统一使用运行时 ChartCard、数据查询更准确,能应对更复杂的报告并支持多轮修改。生成完成后,HTML 的绝对路径会输出到 CLI 消息流中,关闭浏览器标签后仍可凭路径再次打开。#829 #835 #842 #847 #848 #849 #853 #855 #863 #866 #867 #869 #894 #895 #901 #905 #907 文档 - 运行中追加指令 - agent 还在流式输出时,你可以在 CLI / TUI 继续输入、或通过 API 发送新的指令;它会在模型的下一步被读到并写入会话记录,界面上也会实时显示这条插入——不用打断当前运行。#824
增强
- 语义 SQL 指标提取 - 从历史 SQL 提取指标时,能区分新建指标、基于已有指标计算的指标、以及对已有指标的直接引用,从而避免重复创建,并保留时间粒度、筛选条件、字面量等信息。支持的指标类型包括计数、去重计数、求和、平均、最大 / 最小、条件统计、比率、表达式、累计和派生;遇到跨表、非等值关联、合并等多表场景时,会先把数据组合成一个数据源,再在其上定义指标。已在真实数仓(StarRocks)端到端验证:生成指标的取数结果与原始 SQL 完全一致。#811
- CLI 聊天显示更顺滑 - 修复使用 Claude 原生接口时终端里最后一段文字重复刷新的问题(并修复会话恢复时的相关解析);同时统一了聊天记录的显示,历史消息、恢复 / 回退、运行中插话都呈现一致,用户消息以带边框面板更清晰区分。#837 #852
Bug 修复
- 语义模型可分阶段校验 - 在还没生成指标时就能单独校验语义模型;此时预期内的「暂无指标」不再中断流程,真正的模型错误仍会被拦下。#827 #850
- Bootstrap 正确识别生成结果 - bootstrap 流程能正确识别各步骤的生成结果(包括失败),不再漏掉成功结果,也不再悄悄吞掉失败。#831
- 参考 SQL 摘要路径解析 - 生成参考 SQL 摘要时,文件路径在各种写法下都能正确解析;越界路径会被安全跳过,而不再报错中断。#840
- Print 模式不再被权限弹窗挂住 -
datus -p(非交互的脚本 / CI 模式)现在走 workflow 执行模式,与/bootstrap等非交互流程一致;原本会挂起等待人工答复的权限 ASK/EXTERNAL 弹窗现在直接短路返回,跑批不会再卡住。#891
0.3.1¶
新功能
- HTML 报告生成 - 新增
gen_visual_reportsubagent,把一个问题、一个指标引用或一条 SQL 直接变成自包含的 HTML 报告(KPI 卡片、图表、表格、叙事段落齐全),并支持按章节单独修改,可针对单个图表微调而无需重写整篇报告。#783 #821 文档 - Plan Mode 持久化 - Plan Mode 现在会把
plan.md落盘并在会话恢复时一并恢复,CLI 中途关闭也不会丢失正在制定的计划。#772 文档 - CLI / TUI 体验升级 - 新增实时 todo sidebar 直观跟踪任务进度,配合内联命令向导、滚动回查搜索、鼠标拖选复制和可拖拽 scrollbar,使终端交互更接近原生体验。#772
增强
/permission命令 - 将/profile更名为/permission,支持normal/auto/dangerous三档模式,适配不同的开发场景。#769 文档- 自定义 Subagent 管理 - 自定义 subagent 支持通过 API 或 TUI 删除;不同 agent 类型的可用工具改由后端统一返回,SaaS 与 standalone UI 创建和编辑 subagent 的行为保持一致。#807 #812 文档
- 按次指定权限模式 - Chat 请求支持按次指定
normal/auto/dangerous权限模式,多租户 SaaS 部署中不会再互相污染共享默认配置。#822 文档
Bug 修复
- Claude / Anthropic 参数冲突 - 修复 Claude / Anthropic 路由下同时传递
temperature与top_p时请求失败的问题。#817 - 缺少 Subject Path 时的 Metric ID 冲突 - 修复 metric id 未包含
subject_path时,不同 subject 树下同名 metric 出现冲突的问题。#819
0.3.0¶
新功能
Datus API
- FastAPI REST API - 基于 FastAPI 的 REST API,包含 service/model 分层、CLI 入口、流式 Chat、任务追踪、SQL 执行停止、多选
ask_user、success story 持久化、知识库 bootstrap API,以及 API 请求侧的 proxy source / interactive mode 控制。#520 #538 #539 #551 #553 #555 #606 #610 文档 - 模型发现 API - 模型发现、单请求模型覆盖、current model 元数据和 ISO-8601 UTC 时间戳格式。#643 #649 #700 文档
- 图表推荐与可视化 API - 支持 Datus Chat 与外部应用生成 dashboard-ready 的可视化结果。#545 文档
Datus Chat 与 IM 网关
- Datus Chat(FastAPI 替换 Streamlit) - 用 FastAPI +
@datus/web-chatbot替换旧的 Streamlit chatbot,并新增 Datus Chat 模块。#543 #554 文档 - Slack 与 Feishu/Lark 网关 - 新增 IM 网关,支持 channel 配置、daemon mode、流式回复、feedback action,并将
datus-claw统一改名为datus-gateway。#559 #562 #565 #616 #623 #593 文档
项目与工作区配置
- 项目感知的 Configure/Init 流程 - 将 setup 拆为项目感知的 configure/init 流程,新增项目级
.datus/config.yml、项目级 memory、自动 datasource/service setup,以及重建后的.datus目录结构。#542 #578 #592 #608 文档 - 统一运行时服务配置 - 围绕
services.datasources、services.bi_platforms、semantic layer、scheduler 建模;CLI 统一使用--datasource。#614 #633 #636 #642 文档 - 一行安装脚本 - 新增 Linux/macOS
curl | sh一行安装脚本,并更新 quickstart 与 service 文档。#613 #611 #667 文档
CLI 体验
- 统一
/命令前缀 - 将交互命令统一到/前缀,新增/model、/skill、/mcp、/agent、/subagent、交互式输入和流式/bootstrapTUI。#621 #635 #650 #655 #656 #659 #683 文档 /language与/effort命令 - 用/language固定响应语言,/effort控制 reasoning 强度,以及/<service>.<method>只读服务调用分发。#641 #653 #631 文档- CLI Print Mode 与体验优化 - CLI print mode、proxy tools、重做底部状态栏、固定 streaming/tool 状态行、改进 markdown streaming,并恢复
@reference 自动补全。#489 #501 #583 #586 #654 #664 #661 #662 文档 - 新增模型与订阅计划 - Codex OAuth、Claude Subscription、Coding Plan、OpenRouter、MiniMax、GLM、BigModel、Z.AI 等模型/计划支持,并重建 provider-based 模型配置和 provider catalog。#487 #635 #687 #693 文档
- 权限 Profile - 新增
normal/auto/dangerous权限 profile,支持 subagent-aware permission hooks,并放宽正常模式下的安全发现类工具。#646 #652 文档
数据工程 Subagent 与 Skills
- 数据工程 Agents 与 Skills - 新增跨库迁移、ETL/job 生成、scheduler workflow、表生成、dashboard 生成、BI/scheduler 编排等内置 agent 与技能。#494 #525 #564 #575 #580 #639 文档
- 交付物 Validation Hook - 表交付物 validation hook、共享 deliverable node、validation skills,以及 semantic/metric generation 的 publish gate。#657 #663 #665 文档
- 自然语言指标与 Skill Creator - 新增自然语言指标创建、wheel 内置 skills 打包、skill frontmatter scope,以及用于交互式 skill 创作的
skill-creatorsubagent。#504 #526 #627 #645 #676 文档
记忆与 Reference Template
- Auto Memory - 基于
MEMORY.md的 Auto Memory、emergent topic tree、空 memory prompt、project/session isolation。#498 #620 #595 #523 #594 文档 - Reference Template - 新增 Reference Template 机制,并修复 bootstrap 中 reference template 解析问题。#508 #574 #677 文档
生态与适配器
- Datus Studio(VSCode 插件) - 官方 VSCode 插件,把 Datus 能力带进 IDE:Object Explorer(Catalog/Context 树)、SubAgent 创建向导、带
@引用和 Plan 模式的 Datus Chat 面板、可切换 datasource/subagent、SQL Result & AI Chart 面板(ECharts),以及绑定 workspace 的 FileSystem 工具。通过单一 Endpoint 连接任意 Datus-agent Web Server(datus-cli --web)。#713 #717 文档 - 数据库适配器:Greenplum 与 Migration Mixin -
datus-db-adapters新增 Greenplum,提升 metadata robustness、thread-safe connector isolation、dialect-specific identifier quoting,并新增 migration workflow 所需的MigrationTargetMixin。datus-db-adapters#40 #43 #45 #46 #47 #48 文档 - BI 适配器:Superset 与 Grafana -
datus-bi-adapters新增datus-bi-core、Superset 和 Grafana adapters,支持 list API、chart data retrieval、dashboard/chart 写入校验、分页 envelope、datasource metadata 修复和 dashboard layout 改进。datus-bi-adapters#1 #2 #3 #7 #8 #9 文档 - Scheduler 适配器:Airflow -
datus-scheduler-adapters新增datus-scheduler-core与 Airflow adapter,支持 DuckDB DAG 执行、多租户 DAG folder、job/run list result envelope、inactive DAG 删除语义,并发布到datus-scheduler-airflow0.1.2。datus-scheduler-adapters#2 #3 #4 #8 #9 文档 - 语义层适配器拆分 -
datus-semantic-adapter拆分出datus-semantic-core,迁移 MetricFlow adapter,支持 dict config injection、语义 adapter contract tests、datasource 术语、可配置 semantic model 路径和更严格的 MetricFlow validation。datus-semantic-adapter#6 #7 #9 #10 文档
增强
- 流式与会话稳定性 - 修复并增强 web/chat/gateway streaming、compact/resume、群聊 thread 处理、Feishu 权限、Slack 回复、API node 创建、session persistence 和时间戳格式。#531 #548 #567 #568 #638 #674 #680 #689 #700 文档
- 生成稳定性 - 提升 semantic、metric、reference-template、dashboard、SQL prompt、query-metric 生成稳定性。#596 #604 #690 #691 #692 #697 文档
- 文件系统与数据隔离 - 通过
filesystem_strict、project-root zone policy、安全 search、credential redaction、严格 FuncTool result handling 增强文件系统与数据隔离。#588 #597 #603 #681 #694 文档 - Storage 重构 - 统一
datus_db、datasource 隔离、singleton registry、可插拔 RDB/vector backend,并支持通过datus-storage-postgresql使用 PostgreSQL 后端。#493 #499 文档 - CI 流程重构 - 拆分 PR acceptance/nightly 流程,新增 docker-backed adapter integration tests 与 test-quality audit workflow,并修复多项 nightly、unit、integration regressions。#589 #600 #601 #634
文档补全
- REST API、IM 网关与 CLI 文档 - 新增 REST API deployment / chat / KB / models 文档,Slack 与 Feishu IM gateway 文档,以及
/model、/language、/effort、/init、/bootstrap、service command、--datasource流程文档。文档 - 配置文档 - 新增 datasources、semantic layer、BI platforms、schedulers、PostgreSQL-backed storage 配置文档。文档
- Subagent 文档 - 新增 dashboard generation、table generation、scheduler workflow、data pipeline、metrics、semantic model、SQL summary 等 subagent 文档。文档
- Adapter、Memory 与 Reference Template 文档 - 刷新 adapter、memory、reference template、quickstart、benchmark 与 docs deployment 文档。#530 #536 #549 #556 #611 #622 #667 文档
0.2¶
0.2.6¶
新功能
- Ask User Tool - 引入交互式
ask_user工具,支持内联自由文本输入和批量提问能力,已集成进 GenSQL 与 GenReport node,支持 human-in-the-loop workflow。#457 #460 #481 - Skill Marketplace CLI - 内置 marketplace,可直接从 CLI 发现、安装、管理社区 skills。#416 文档
- General Chat Agent - 通用聊天 agent,支持 SQL 生成以外的灵活会话场景。#452
- Explore Task Tool - 新增 exploration 工具,用于在 agent 内导航与管理任务。#455
- Storage Adapter - 可插拔 storage adapter 层,便于灵活接入后端。#446
- 4 个新数据库适配器 - 在 datus-db-adapters 仓库新增 ClickHouse、Hive、Spark、Trino 适配器,均可通过
pip install datus-<database>独立安装。文档
增强
- Session Resume/Rewind - 新增
/resume、/rewind、.interrupt命令,配合交互式方向键选择器浏览会话历史。#438 #470 文档 - Scoped Context Filter - 基于 filter 的作用域上下文,SQL 生成时知识检索更精准。#441
- Subagent 直连 Web - 新增
--subagentCLI 参数,直接通过 web 界面启动 subagent。#447 - CLI 交互体验 - 增强多行输入支持与省略号截断,可读性更好。#468
- Subagent 指引简化 - 精简 subagent 使用说明,上手流程更清晰。#469
- Function Tool 加固 - 强制 read-only SQL 执行,去重 tool 注册,改进 docstring。#474
- 当前日期注入 - 直接把
current_date注入 system prompt,移除独立的get_current_date工具。#473 - 数据压缩 - 为
query_metrics增加响应压缩,并修复DataCompressor的 model_name 处理,降低 token 消耗。#435 #472
Bug 修复
- Kimi-K2.5 与 Qwen3-Coder-Plus 初始化 - 修复交互式初始化时这些模型的 temperature/top_p 支持。#483
- Generation Hooks 条件 - 修复
generation_hooks使用正确的where表达式。#482 - Ctrl+O 切换 - 修复 Ctrl+O 切换时早先回合响应未显示的问题。#477
- 缺失 tabulate 依赖 - 在 pyproject.toml 与 requirements.txt 补上
tabulate依赖。#476 - Skill 扫描路径 - 从默认扫描路径中移除
~/.claude/skills,并改进 ChatAgenticNode 的配置传递。#475
文档
0.2.5¶
新功能
- OpenAI Agent SDK 0.7.0 升级,支持 Kimi-2.5 与 Gemini-3 - 用
litellm_adapter和sdk_patches重建模型层,无缝接入最新的 Kimi-2.5 与 Gemini-3 系列模型。 - AgentSkills 支持 - 引入完整的 Skill 系统,包含 skill 配置、注册、管理与权限控制,同时支持 bash 与 function 形态的 skill 工具。文档
- Tools as MCP Server - 将 Datus 的数据库工具与 context search 暴露为 MCP server,可对接 Claude Desktop、Claude Code 等 MCP 兼容客户端。文档
增强
- 语义工具优化 - 优化语义工具与 context search,在 CLI 中获得更快、更相关的结果。
- 生成 Prompt 字符串校验 - 加强多个 prompt template 的字符串校验,提升生成结果可靠性。
- 基于 Action 的用户交互模型 - 重做 CLI 交互层,统一以 action-based 模型驱动 execution、generation 与 planning。
- Reference SQL 并行化与日期支持 - 并行化 reference SQL 初始化加速 bootstrap,并增强日期表达式解析。文档
- Bootstrap Markdown 摘要 - bootstrap 完成后展示格式化的 Markdown 摘要,便于快速浏览生成结果。文档
- Subject 条目删除 - 可直接在
@subject界面删除 semantic models、metrics 与 SQL summaries。文档
Bug 修复
- Subject Node 竞争条件 - 修复并行创建多个 subject node 时的竞争条件,提升并发安全性。
- 多轮 Benchmark 评估 - 修复多轮评估中 agent state、workflow runner、配置处理相关的问题。文档
- 归因分析 - 简化归因分析逻辑,结果更清晰、可靠。
0.2.4¶
Dashboard Copilot(自动生成)
- Dashboard 转 Sub-Agent:从 BI dashboard 配置自动生成 sub-agent #339
- BI dashboard bootstrap 时自动生成 semantic model #368
- 直接从 Dashboard 组件生成 metrics 定义 #363
更好的语义层集成
- Semantic Adapter:可插拔的外部 metric layer 适配器 #355
- External Knowledge Storage:基于向量的知识检索增强 SQL 生成上下文 #359
- 在 metrics schema 中新增 SQL 字段 #364
增强
- 优化 reference SQL 搜索:去重并简化格式 #348 #358 #375
- 增强 ContextSearch 方法与展示 #347
- 改进 Plan Mode:Chat node 继承自 GenSQL agentic node #334
- Catalog 界面改进:列注释与嵌套表行样式 #345 #378
- 工具执行反馈:context 与 start 事件 #340 #341
- 改进 prompt version 处理 #367 #379
- 覆盖写入时清理废弃的 metric metadata 与 YAML 目录 #362 #365
重构
Bug 修复
- 修复 Superset chart 中 query_context 为空的问题 #372
- chatbot 中 tool call 跳过 render 处理 #360 #380
- 修复 semantic model 与 metrics 去重问题 #369
- 修复 context_search 中 subject_path 解析 #357
- 改进 sample row 错误处理 #354
0.2.3¶
新功能
- 内置教程数据集 - California Schools 数据集随安装包打包,并集成进
datus-agent init流程,方便上手学习上下文数据工程。#277 教程 - 增强的评测框架 - 新的 evaluation 命令,新增 Exact Match、Same Result Count(值不同)、Schema/Table Usage Match、Semantic/Metric Layer Correctness 等评测类别。#264
- 基于插件的数据库连接器 - 数据库连接器重构为插件化架构,便于扩展与自定义适配器开发。#284
增强
- 简化安装 - 默认安装中移除老的 transformers 依赖,加快安装、减小包体积。#247
- MetricFlow 配置简化 - MetricFlow 已原生支持 Datus 配置格式,简化配置。#243
- 内置生成命令 -
/gen_semantic_model、/gen_metrics、/gen_sql_summarysubagent 开箱即用,无需额外配置。#250 - Agentic Node 集成 - 基于 workflow 的评测支持 agentic node,支持更复杂的测试场景。#262
- 代码质量改进 - 重构 tool 模块、增强 node 逻辑,统一
bootstrap-kb与gen_semantic_model使用同一实现。#245 #250 - Embedding 存储优化 - 重构 embedding model 存储并更新依赖,性能更好。#247
Bug 修复
- Schema 元数据处理 - 修复 schema_linking 命令中 definition 字段为空的问题,确保 schema 元数据正确传递给下游 node。#327
- 初始化问题 - 修复多个初始化 bug,并修正 tutorial 模式下的配置文件校验。#304 #303
- 环境变量兼容性 - 修复跨平台的环境变量处理,提升部署兼容性。#294
- 评测摘要生成 - 修复 benchmark 评测中摘要生成的问题,评测报告更准确。#314
- FastEmbed 缓存目录 - 修复 fastembed 在不同平台上的缓存目录路径。#251
0.2.2¶
跳过
0.2.1¶
新功能
- Web Chatbot 升级 - 新增反馈收集、问题上报、流式输出,以及
&hide_sidebar=true嵌入参数。文档 - 上下文生成命令 - subagent 中新增
/gen_semantic_model、/gen_metrics、/gen_sql_summary命令,用于动态丰富知识库。#192 文档 - 交互式上下文编辑 -
@catalog、@subject命令支持可视化编辑 semantic models、metrics 与 SQL summaries。#219 #199 #175 文档 - 作用域知识库 - subagent 支持作用域 KB 初始化,提升上下文隔离与管理能力。#217
增强
- MetricFlow 集成 - 从
env_settings.yml加载配置,改进项目检测,输出格式更整洁。#214 #216 文档 - 灵活的模型配置 - 在 agent 配置中支持多个模型 provider 与 specification。#195
- CLI 展示改进 - 优化表格宽度渲染,SQL 查询可读性更好。#200
- 改进的初始化流程 - 增强
datus-agent init的错误处理与初始化流程。#194
依赖变更
openai-agents升级到 0.3.2(需手动更新:pip install -U openai-agents)datus-metricflow更新到 0.1.2
0.2.0¶
增强的 Chat 功能
- 高级多轮对话,体验更流畅。#91
- agentic 执行数据库工具、文件系统操作,并自动生成 to-do list。
- 支持自动与手动 compaction(.compact)。#125
- 会话管理,支持 .resume 与 .clear 命令。
- 通过 @ Table、@ file、@ metrics、@sql_history 命令注入专门的上下文。#134 #152
- Token 消耗跟踪与预估,资源使用更可见。#119
- 执行敏感 tool action 前进行写操作确认。
- Plan Mode:AI 辅助规划,生成并管理 to-do list。#147
自动构建知识库
- 从历史 success story 自动生成 MetricFlow 格式的 Metric YAML 文件。#10
- 自动从 workspace 的 *.sql 文件总结、标注 SQL history 文件。#132
- 使用 metrics 与 SQL history 提升 SQL 准确率与生成速度。
MCP 扩展
- 新增 .mcp 命令,可添加、删除、列出与调用 MCP server 与 tool。#54
灵活的 Workflow 配置
- 通过 agent.yml 完整自定义 workflow 定义。
- 可配置的 node、模型与数据库连接。
- 支持 sub-workflow 与结果选择,提升准确率。#88
上下文探索
- 改进 @catalogs,展示多个数据库下的所有 database、schema、table。
- 新增 @subject,展示用 MetricFlow 构建的所有 metrics。#165
- 集成 context search 工具,提升元数据与 metrics 的召回。#138
用户行为日志
- 自动采集用户行为日志。
- 把人机交互数据转化为可训练的数据集,用于后续改进。
0.1¶
0.1.0¶
Datus-cli
- 支持连接 SQLite、DuckDB、StarRocks 与 Snowflake,并执行常见的命令行操作。
- 支持三类命令扩展:!run_command、@context 与 /chat,提升开发效率。
Datus-agent
- 支持基于 React 范式的自动 NL2SQL 生成。
- 支持检索数据库元数据并基于元数据构建向量检索。
- 支持通过 MCP server 进行深度推理。
- 支持接入 bird-dev 与 spider2-snow benchmark。
- 支持保存与恢复 workflow,可记录执行上下文与 node 输入输出。
- 提供灵活配置:可在 Agent.yaml 中定义多个模型、数据库与 node 执行策略。
0.1.2¶
Datus-cli
- 新增 fix node,使用 !fix 快速修复上一条出错的 SQL,模板让 LLM 专注此任务。
Datus-agent
- 多线程优化 bootstrap-kb 性能。
- 其他细节 bug 修复。
0.1.3¶
Datus-cli
- 新增 datus-init 初始化 ~/.datus/ 目录。
- 在 ~/.datus/sample 中提供 DuckDB 示例数据库。
Datus-agent
- 在 output node 中新增 check_result 选项(默认 False)。
0.1.4¶
Datus-agent
- 新增 check-mcp 命令,用于确认 MCP server 的配置与可用性。
- 支持 DuckDB 与 SQLite MCP server。
- 实现 MCP server 自动安装到 datus-mcp 目录。
0.1.5¶
Datus-agent
- 自动化语义层生成。
- 新增内部 workflow:metrics2SQL。
- 新增 save_llm_trace,便于收集训练数据集。
Datus-cli
- 增强 !reason 与 !gen_semantic_model 命令,体验更 agentic、更直观。