从文件到答案
不用先配置连接,也不用先写 schema。
-
拖入文件
把文件或整个文件夹拖到窗口上,或者从文件对话框里选,或者在命令行里写出路径。
-
它会变成一张表
表以文件名命名——
sales.csv变成sales——它的列出现在侧栏里。文件留在原处。 -
用 SQL 查询
写 SQL,按 ⌘↵,再把答案画成图,或导出为 CSV 或 Parquet。
打开你手头已有的文件
打开一个文件夹,里面的数据文件(包括子文件夹里的)都会一起打开。*.csv 这样的通配符也能用。打开过的文件,下次启动还在。
- CSV
- TSV
- Parquet
- JSON 与 NDJSON
- Excel xlsx、xls、ods
- DuckDB 数据库
- S3 与兼容存储
为 AI agent 准备好了
在终端里,ducklocal 不开窗口就能以 JSON 返回一条 SQL 的结果。脚本可以依赖这个格式,agent 也能据此推理。官方 agent skill 教它们先读 schema,再查询。
$ ducklocal query --format md --sql " SELECT channel, round(sum(revenue), 2) AS revenue FROM 'sales.csv' GROUP BY channel ORDER BY revenue DESC" | channel | revenue | | --- | --- | | Mobile app | 290549.76 | | Web | 289544.8 | | Store | 240067.6 | | Phone | 82511.2 |
Dashboard 就是纯文本文件
在 .dash 文件里写好查询和图表,它就会作为 dashboard 标签页打开。因为是纯文本,所以能 diff、能审阅、能校验:ducklocal check 会在任何人打开之前发现缺失的列。
query "by_channel" { sql = <<SQL SELECT channel, sum(revenue) AS revenue FROM sales GROUP BY channel SQL } plot "revenue" { type = "bar" query = query.by_channel x = channel y = revenue }
你的数据只属于你
DuckLocal 在应用内部、在你的 Mac 上运行 DuckDB。没有要注册的东西,你的文件也无处可去。
- 文件在原地读取——从不复制,从不上传。
- 没有账号、没有遥测、没有云服务。
- Dashboard 只能读取,打开别人发来的 dashboard 不会改动你的数据。
- 以 Apache-2.0 开源:每一行代码都可以查看。