惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

有赞技术团队
有赞技术团队
Martin Fowler
Martin Fowler
N
Netflix TechBlog - Medium
WordPress大学
WordPress大学
罗磊的独立博客
H
Help Net Security
MongoDB | Blog
MongoDB | Blog
A
About on SuperTechFans
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
D
Docker
云风的 BLOG
云风的 BLOG
Microsoft Security Blog
Microsoft Security Blog
Blog — PlanetScale
Blog — PlanetScale
P
Proofpoint News Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
I
InfoQ
J
Java Code Geeks
博客园 - 聂微东
大猫的无限游戏
大猫的无限游戏
Engineering at Meta
Engineering at Meta
美团技术团队
小众软件
小众软件
Stack Overflow Blog
Stack Overflow Blog
C
Check Point Blog

Hacker News: Show HN

PurrrrrFocus: Pomodoro Timer App - App Store Workflow Engine — Multi-Step Orchestration for Bun RapidPhoto: Pro Photo Editor App - App Store GitHub - DheerG/swarms: Achieve extraordinary results with claude code across a variety of tasks SPICE simulation → oscilloscope → verification with Claude Code — Lucas Gerads Show HN: VCoding – A 5 MB native Windows IDE with no dynamic dependencies Show HN: LLMs don't hallucinate because they're bad at math, it's the format GitHub - Agent-FM/agentfm-core: AgentFM is a peer-to-peer network that turns everyday computers into a decentralized AI supercomputer. AgentFM lets you run massive AI workloads directly across a global mesh of idle CPUs and GPUs. Show HN: Tracking Top US Science Olympiad Alumni over Last 25 Years GitHub - Potarix/agent-hub: One place to talk to all your agents Show HN: Runtime security for AI agents(injection,tool abuse, data exfiltration) GitHub - dubeyKartikay/lazyspotify: Terminal Spotify client for macOS and Linux GitHub - the-banana-tool/king-louie: Easy to use GUI Personal AI Assistant. Win/Linux/Mac. Show HN I made my vacation rental bookable by AI agents–no Airbnb, 0% commission GitHub - basteez/jsf-autoreload: maven plugin to enable hot reload on jsf projects uvm32/hosts/host-gdbstub at main · ringtailsoftware/uvm32 GitHub - labsai/EDDI: Config-driven engine that turns JSON into production-grade AI agents. Multi-agent orchestration, 12+ LLM providers, MCP/A2A protocols, RAG, persistent memory, and enterprise compliance (EU AI Act, GDPR, HIPAA). Built on Quarkus. GitHub - glitchnsec/fortyone-oss: AI Executive Assistant Platform Quickstart | Alien GitHub - muxshed/shed: One stream in, or many. Every destination, simultaneously. No cloud middleman, no per-channel fees, no limits. GitHub - ocrbase-hq/ocrbase: 📄 PDF/IMG ->.MD/JSON Document OCR API for PaddleOCR and GLMOCR. Self-hostable. GitHub - impactjo/home-memory: MCP server that lets your AI assistant remember everything about your home. GitHub - Sets88/dbcls: DbCls is a powerful terminal database client that supports various databases GitHub - neptun2000/heor-agent-mcp GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh RollQuation: Math Puzzles - Apps on Google Play GitHub - dropbox/witchcraft Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis GitHub - opentalon/opentalon: OpenTalon is an open-source platform built from the ground up in Go as a robust alternative to OpenClaw LinkedIn™ 职位抓取工具 - Chrome 应用商店
RedNotebookAI/README.md at main · sanniheruwala/RedNotebo...
heruwala · 2026-06-12 · via Hacker News: Show HN

RedAnalytica

RedNotebook AI

The open-source AI data notebook for Trino, DuckDB, and 11 more SQL engines. By RedAnalytica.

Try the demo CI Release License: Apache 2.0 Python 3.11+ Next.js 15

Query, visualize, profile, and explore data with beautiful charts, AI suggestions, and a NotebookLM-style knowledge layer.

👉 Try it now — no signup, no install

10-second demo: open the Q3 demo notebook, run SQL against DuckDB, inspect per-column histograms in the Profile tab, then summarize the result with AI.


Why RedNotebook AI?

Modern data teams jump between five tools to answer one question. RedNotebook AI puts all of it in one notebook:

  • A real SQL workspace with Monaco, AG Grid, drag-to-reorder cells, and keyboard shortcuts.
  • Premium charts powered by Apache ECharts with brand-aware theming.
  • AI you can trust, pluggable across OpenAI, Anthropic, Ollama, or a deterministic offline mock. Privacy-safe by default, schema-only context, PII masking, secrets stripped.
  • NotebookLM-style knowledge layer. Pull SQL, schemas, results, and charts into a notebook of sources. Ask grounded questions with [n] citation chips. Generate infographics and a Studio briefing (overview / FAQ / study guide / suggested next questions).
  • Drag-and-drop file uploads. Drop a CSV, TSV, Parquet, or JSON file anywhere in the app — DuckDB attaches it instantly as a queryable table (SELECT * FROM customers Just Works).
  • One-click publish. Mint a public, no-account-needed share link from any notebook. The published page is a self-contained HTML snapshot — your live data never leaves your machine.
  • Read-only by default. A SQL guard backed by sqlglot blocks destructive statements unless you explicitly enable writes.
  • Local-first. Runs on your laptop with no login. Flip a single env var (AUTH_ENABLED=true) to enable multi-user mode with local email+password, GitHub OAuth, API tokens, per-user namespacing, and admin invites.

Install

Just kicking the tires? The live demo at huggingface.co/spaces/heruwala/rednotebook-demo runs the published image with the sample notebook pre-loaded. No install required, no signup, your work isn't saved between sessions.

Docker (any OS)

docker run -d --name rednotebook \
  -p 8000:8000 \
  -v rednotebook-data:/data \
  ghcr.io/sanniheruwala/rednotebook-ai:latest

Then open http://localhost:8000.

Or with Compose:

cp .env.example .env  # edit as needed
docker compose up -d

Python

pip install rednotebook-ai          # from PyPI (when a release is tagged)
rednotebook run                      # starts the FastAPI server on :8000

Then in a second terminal:

cd frontend
npm install
npm run dev                          # starts the dev UI on :3000

From source

git clone https://github.com/sanniheruwala/RedNotebookAI.git
cd RedNotebookAI
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
cp .env.example .env
rednotebook run

# in another terminal
cd frontend && npm install && npm run dev

Where can I run this safely?

RedNotebook AI is local-first. Today:

Tier Supported?
🟢 Your laptop (localhost) ✅ Primary use case
🟢 Single team behind VPN / private network ✅ With the hardening checklist
🔴 Public internet, multi-user SaaS ⚠️ Auth, rate-limiting (slowapi), and audit log have all landed. Full SaaS hardening (RBAC / SSO / sharing) is on the Phase 4 roadmap.

See docs/deployment.md for the full security model.


Pick a data source

In the UI top bar, click Configure connection. 13 connectors ship in the box — no extra pip install step, no driver setup, no ODBC dance.

Connector What you'll need
DuckDB Nothing. Pick in-memory or a .duckdb file path.
Trino Host, port, user, password, catalog, schema, TLS settings.
PostgreSQL Host, port, user, password, database.
MySQL / MariaDB Host, port, user, password, database.
SQLite Path to the .db / .sqlite file.
MSSQL Host, port, user, password, database. ODBC 18 driver is bundled.
Snowflake Account, warehouse, role, user, password, database.
BigQuery Project, dataset, service-account JSON path.
Redshift Host, port, user, password, database.
Oracle Host, port, user, password, database or service_name.
ClickHouse Host, port (8123 HTTP), user, password, database, secure flag.
Databricks SQL Host, http_path, access token, optional catalog.

See docs/connectors.md for the full per-dialect field reference.

Quick start: DuckDB (no server, instant)

The default. Pick "DuckDB (no server)" in the dialog. Two modes:

  • In-memory (:memory:) — ephemeral playground. Great for one-off SQL against local files: SELECT * FROM read_csv_auto('orders.csv') WHERE …
  • File (./local.duckdb) — persistent. Use it like a single-user warehouse: CREATE TABLE customers (…), INSERT …, etc.

Optionally set a "Working directory" so relative file paths in read_csv_auto / read_parquet resolve where you expect.

Trino HTTPS defaults via .env

For team analytics on real data warehouses, fill in the UI dialog or set defaults in .env:

TRINO_HOST=trino.example.com
TRINO_PORT=443
TRINO_SCHEME=https
TRINO_USER=alice
TRINO_PASSWORD=...
TRINO_CATALOG=hive
TRINO_SCHEMA=default
TRINO_VERIFY_SSL=true

Custom HTTP headers, session properties, query timeouts, and result limits are all supported.


Configure AI

Provider Setup
Mock (default) Offline, deterministic. No setup.
OpenAI AI_PROVIDER=openai, OPENAI_API_KEY=sk-…
Anthropic AI_PROVIDER=anthropic, ANTHROPIC_API_KEY=sk-ant-…
Ollama (local) AI_PROVIDER=ollama, OLLAMA_BASE_URL=http://localhost:11434

Privacy defaults:

  • Sample rows are not sent to AI unless AI_ALLOW_SAMPLE_ROWS=true.
  • PII columns are masked when samples are shared.
  • Secrets are stripped from SQL before any provider call.
  • Credentials are never forwarded to AI.

See docs/ai.md for details.


Enable multi-user (optional)

AUTH_ENABLED=true
SECRET_KEY=$(openssl rand -hex 32)
COOKIE_SECURE=true              # set true when behind HTTPS
ALLOW_SELF_SIGNUP=false         # admin-invite only by default

The first registration becomes the workspace admin. Subsequent users need an invite (POST /api/auth/invite). GitHub OAuth and API tokens (PAT-style) are supported out of the box. See docs/deployment.md.


Architecture

Layer Tech
Backend Python 3.11+, FastAPI, Pydantic, Trino client, SQLAlchemy + bundled drivers (Postgres, MySQL, MSSQL/ODBC, Snowflake, BigQuery, Redshift, Oracle, ClickHouse, Databricks, ...), DuckDB, Pandas, ECharts/Plotly
Frontend Next.js 14, TypeScript, Tailwind, shadcn/ui, Monaco, AG Grid, ECharts, framer-motion, @dnd-kit
State TanStack Query (server) + Zustand (local)
Auth Local email+password (bcrypt) + JWT cookies, GitHub OAuth, API tokens
AI Provider-pluggable (mock, OpenAI, Anthropic, Ollama)
Storage Local JSON for notebooks/knowledge/users; optional Parquet result cache
rednotebook/        Python backend (FastAPI + core libs)
├── auth/           User store, JWT sessions, password hashing, OAuth, API tokens
├── server/         FastAPI app + routers
├── connectors/     Trino + DuckDB + 11 SQLAlchemy dialects + registry
├── ai/             Provider abstraction (mock, openai, anthropic, ollama)
├── notebook/       Notebook models, JSON storage, guard-aware runner
├── knowledge/      NotebookLM-style internal knowledge layer
├── visualization/  Recommender, chart spec, HTML infographic generator
├── profiling/      Stats + PII detector
├── security/       SQL guard, secret masking
├── migrations/     One-shot data migrations
└── cli/            Typer CLI

frontend/           Next.js + Tailwind + shadcn/ui
docs/               Architecture, AI, security, deployment, connectors, roadmap
tests/              pytest test suite

Full architecture write-up.


Documentation


Development

# Backend
pytest                              # 56+ tests
ruff check .

# Frontend
cd frontend
npm run typecheck
npm run lint
npm run build

Continuous integration runs the full suite on every push and PR. See .github/workflows.


Contributing

We follow the standard open-source flow. The short version:

  1. Open an issue first. Use the bug report or feature request templates. Drive-by PRs with no linked issue may be closed without review.
  2. Fork, branch, write, run the checks locally (pytest, ruff check ., npm run lint && npm run typecheck && npm run build).
  3. Open a PR referencing the issue (Closes #123).
  4. A maintainer reviews and approves before merge. main is a protected branch — direct pushes are blocked, every change needs ✅ green CI and ✅ approval from a CODEOWNER. No exceptions, even for admins.

See docs/contributing.md for the full flow, branch-naming conventions, what we say "no" to, and the maintainer rights. For security vulnerabilities, use private disclosure, never a public issue.


License

Apache-2.0. See LICENSE.