Busabase
Busabase는 AI 에이전트를 위한 오픈소스(MIT) 데이터베이스 및 작업 공간입니다
에이전트 전용 데이터 노트북, DuckDB에서 SQL·Python·.xlsx 블록으로 질문에 답하고 계산 과정까지 추적
Agent-native data notebook. Your coding agent answers data questions in SQL, Python and .xlsx-model blocks on DuckDB; every number traces to the block that computed it.
데이터Python · TypeScriptGitHub @StTronn온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
Agent-native data notebook: your coding agent answers data questions in SQL/Python notebooks where every number traces to the block that computed it.
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Agent-native data notebook. You ask your coding agent a question about your data files (CSV, Excel, JSON, SQLite, Parquet). It answers inside a notebook of SQL / Python / .xlsx-model blocks run on DuckDB. Every number in the answer traces back to the block that computed it, and you can check it, comment on it, and rerun it on new data.
Notebook view of examples/olist/ in the Enterprise theme (light): the August 2018 monthly business review Claude Code built from the Olist marketplace data. Every R$ figure links to the block that computed it.
Full-resolution video: docs/databook_demo.mp4. Report view of the same notebook.
Docs: https://databook-xi.vercel.app · npm: databook-cli
npm i -g databook-cli # or without installing: npx databook-cli <command>
databook setup # adds the skill to Claude Code, Codex, pi, OpenCode (whichever are installed)
First run installs uv if missing (it provides Python). From a checkout: uv tool install .. Release: bump version in pyproject.toml and npm/package.json, push a vX.Y.Z tag; CI publishes to npm.
databook init analysis, drop your files in data/, databook import data/*. Import is typed: an ambiguous date or mixed column stops with the fix to apply instead of loading wrong values.{{funnel.paid}}) and runs databook check until it passes.databook dev opens the viewer: click any number to see the query and rows behind it, switch Notebook / Report view and Terminal / Enterprise theme, leave a comment where something looks wrong.databook comments, changes the notebook and resolves each comment with a note.databook export writes a self-contained HTML report (--block <id> out.csv for one result). On new data: import, databook check, and databook diff lists what changed.The agent runs these commands itself; its workflow is in src/databook/skill/SKILL.md.
Two layers, measured on the same tasks (Claude Haiku 4.5; score = share of questions correct):
Funnel questions on a website-log SQLite db: local329 (one count) and log-web-funnel (four questions in one request). 3 attempts per setup.
| Setup | local329 | log-web-funnel | Notebook built | Cost |
|---|---|---|---|---|
| CC | 3/3 | 33 % | — | $0.51 |
| CC+P | 2/3 | 17 % | — | $0.67 |
| CC+P+T | 3/3 | 17 % | 6/6 | $0.76 |
A monthly business review (4 Spider2-lite questions + 3 of ours) and seller-channel economics (7 of ours) on the Olist orders db. 2 attempts per setup.
| Setup | Monthly review | Channel economics | Notebook built | Cost |
|---|---|---|---|---|
| CC | 43 % | 64 % | — | $0.61 |
| CC+P | 64 % | 50 % | — | $0.63 |
| CC+P+T | 64 % | 64 % | 2/4 | $1.15 |
| Path | What |
|---|---|
src/databook/ | CLI, runtime (import, blocks, check), source packs (Razorpay, Shopify, Stripe, GA4, Meta/Google Ads), agent skill, built viewer |
playbooks/ | Claude Code skills with data-analysis know-how, independent of Databook (data-analysis) |
web/ | viewer source (React + Vite); npm run build writes src/databook/viewer/ |
tests/ | uv run pytest |
evals/ | Harbor adapter for Spider2-lite, setup configs, runner |
examples/razorpay-demo/ | example workspace (databook import data/*.xlsx && databook check rebuilds it) |
examples/online-retail/ | customer-insights notebook made by Claude Code from UCI Online Retail II (CC BY 4.0; put online_retail_II.xlsx in data/, then databook init . --tz Europe/London && databook import data/* && databook check) |
examples/olist/ | monthly business review + seller-channel economics notebooks made by Claude Code from the Olist marketplace data (CC BY-NC-SA 4.0; Spider2's E_commerce.sqlite, see evals/adapters/spider2-lite/fetch.sh, as data/olist.sqlite, then databook init . --tz America/Sao_Paulo && databook import data/olist.sqlite && databook check) |
docs/ | screenshots, demo video |