Busabase
Busabase is an open-source (MIT) database and workspace for AI agents — data, docs, skills, and apps in one place. Run it locally, self-host it inside your network, or use Busabase Cloud, and turn age
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗The Archive of Mass ENvironmental Data (AMEND) is a project to assemble and analyze data related to environmental regulation, focused on water policy in Massachusetts.
The website for the project is openamend.org.
This git repository contains code for data acquisition (see get_data/), analysis (see analysis/), and the jekyll site (see docs/).
Data is refreshed automatically every Monday at 6am UTC via two GitHub Actions workflows:
NECIR_CSO_map.py) is excluded from CI and must be run locally.If a workflow fails, a GitHub Issue is opened with a link to the failed run.
To run a full update locally:
bash update_all.sh
This script will not update ECOS budget records or the SSA wage table, which require manual data entry.
Some data sources have extended documentation covering design decisions, format quirks, and cost considerations:
Large files (SQLite database, full drinking water CSV, permit PDFs) are stored on Google Cloud Storage.
The site is hosted via GitHub Pages from the docs/ directory.
To run locally (use --host localhost so sidebar links resolve correctly in the browser):
conda env create -f amend_jekyll_env.yml
conda activate amend_jekyll
cd docs
bundle exec jekyll serve --host localhost --port 4000 --baseurl ""
For faster rebuilds while editing, add the --incremental flag to rebuild only the files that have changed:
bundle exec jekyll serve --host localhost --port 4000 --baseurl "" --incremental
Three dependency files serve different purposes:
| File | Purpose |
|---|---|
requirements-ci.txt | Pinned deps for GitHub Actions CI. Install with pip install -r requirements-ci.txt. Excludes PySTAN. Used by update-data.yml and update-charts.yml. |
amend_python_env.yml | Full conda environment for local development. Includes PySTAN, geopandas, and all optional deps. Recreate with conda env create -f amend_python_env.yml. |
pip install -r requirements-ci.txt
conda env create -f amend_python_env.yml
conda activate amend_python
The AI Analysis page lets users ask natural-language questions about the AMEND database. An AI model generates SQL, executes it client-side via sql.js, and renders interactive charts with Plotly — no data leaves your browser.
The AI Analysis page lets users ask natural-language questions about the database. The LLM generates SQL, executes it client-side via sql.js, and renders results with Plotly.
The LLM is given a rich schema description — docs/assets/db_semantic_context.txt — instead of bare CREATE TABLE statements. This file includes:
The semantic context must be regenerated whenever data sources change (new tables, renamed columns, schema changes). It is regenerated automatically by assemble_db.py on each weekly data update. To regenerate manually:
cd get_data
conda run -n amend_python python generate_semantic_context.py
When adding or changing a data source:
TABLE_DESCRIPTIONS and COLUMN_NOTES in get_data/generate_semantic_context.pygenerate_semantic_context.py to regenerate docs/assets/db_semantic_context.txtTo create an automated screen-capture demo of the Ask AMEND AI feature:
# First time: create the Playwright environment
conda env create -f environment-playwright.yml
# Record a demo with Groq (free API key)
GROQ_API_KEY=sk_... conda run -n amend_playwright python record_ai_demo.py
# Or with OpenAI
OPENAI_API_KEY=sk_... conda run -n amend_playwright python record_ai_demo.py
# Or with Google Gemini
GOOGLE_API_KEY=... conda run -n amend_playwright python record_ai_demo.py
# Specify starter question (0-8)
GROQ_API_KEY=sk_... conda run -n amend_playwright python record_ai_demo.py --question 2
# Custom output path
GROQ_API_KEY=sk_... conda run -n amend_playwright python record_ai_demo.py --output my-demo.webm
Prerequisites:
cd docs && bundle exec jekyll serve --host localhost --port 4000 --baseurl ""The script records a ~30–45 second demo showing a user asking a natural-language question, the generated SQL, and an interactive chart rendering. The API key is only held in memory during the session and is not persisted to disk. Output is saved as WebM video.
The Ask AI page stores API keys in browser localStorage (plain text, client-side). This is not cryptographically secured but keeps keys off your servers. On shared machines, any JavaScript on the page or browser extensions could access the key.
Recommendations:
F12), run localStorage.clear(), then refreshAll major providers (Groq, OpenAI, Google Gemini) allow creating limited-scope API keys.
get_ECOS_data.py)