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

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
A
About on SuperTechFans
Y
Y Combinator Blog
V
V2EX
Engineering at Meta
Engineering at Meta
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Visual Studio Blog
博客园 - 叶小钗
博客园 - 聂微东
阮一峰的网络日志
阮一峰的网络日志
H
Help Net Security
小众软件
小众软件
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The GitHub Blog
The GitHub Blog
WordPress大学
WordPress大学
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
MongoDB | Blog
MongoDB | Blog
B
Blog
G
Google Developers Blog
J
Java Code Geeks
博客园 - 三生石上(FineUI控件)
IT之家
IT之家
N
Netflix TechBlog - Medium
腾讯CDC

Show HN

Show HN: AI agents for UK GDAD PCF roles and their skills The Two Pillars: Mixer Mode and Meta-Software in the Reorganization of Software Work After AI GitHub - JaiCode08/teleport-env What 1,000+ Harness Experiments Taught Me About Self-Improving Agents Show HN: Liiists, a Markdown-first, iOS and CLI list app SwiperTab – Get this Extension for 🦊 Firefox (en-US) GitHub - kouhxp/fftext: Summarize, explain, fact-check, or translate any text, URL, or file. No GPU. No cloud. One command GitHub - sweetpad-dev/sweetpad: Develop Swift/iOS projects using VSCode GitHub - dogmaticdev/IRON: IRON a.k.a. Intermediate Representation Object Notation is a Interpreter/Database that is used to create Programming Languages. GitHub - sjhalani7/vaen: Package your AI coding harness into a portable .agent file, and share it across repos, teams, & the community without ever having to copy-paste instructions, skills, MCP config, or secrets. Show HN: Gandalf the Grader Show HN: Citadeld – replay any CI failure locally from a single file GitHub - tdortman/cuSBF: High-Performance GPU Super Bloom Filter coral-ai/claude-code-token-xray at main · Coral-Bricks-AI/coral-ai GitHub - ulyssestenn/funes: Funes is a Git-based framework for LLM-managed knowledge work: an AI Librarian ingests raw sources, builds an interlinked Markdown knowledge base, and uses it to produce cited reports, analyses, and other outputs. GitHub - ThatXliner/gah: Git Add Hunk, built for agents to use GitHub - harmont-dev/harmont-cli: Command-line client for the Harmont CI platform GitHub - brooksmcmillin/mcp-authflow: OAuth 2.0 Authorization Server framework for MCP servers GitHub - javaid-codes/audit-supply-chain-agents GitHub - amorey/gochan: A small library of common channel architectures for Go, inspired by Rust GitHub - arifozgun/OpenGem: Free, Open-Source AI API Gateway with Gemini, OpenAI & Anthropic Compatibility in 1 file GitHub - Pranesh950/BioPetals: 🌸 Run BIOxAI models at home, BitTorrent-style. Fine-tuning and inference up to 10x faster than offloading GitHub - cnguyen14/bounty-doctor: Diagnose a GitHub bounty issue before you waste hours: detects honeypot scam repos, AI-bot attempt swarms, and stale contests. Show HN: CoreMCP – MCP Server for On-Prem DBs Show HN: KittyHTML – Render HTML/CSS as an inline image in your terminal GitHub - bingud/filemat: Web-based file manager Show HN: TruthLens – Free multi-signal deepfake image detector GitHub - apexlocal-jz/claude-usage-tray: Windows system-tray app showing your Claude Code rate-limit usage at a glance. Zero deps, ~300 lines of PowerShell. Cross-IDE (works regardless of VS Code, Cursor, plain terminal). Release v0.1.2.1 · kouhxp/yapsnap GitHub - noopolis/moltnet: Self-hostable chat network for AI agents. Pre-built bridges for Claude Code, Codex, and the Claws. Rooms, DMs, history. No Slack bots, no Matrix, no glue code.
RedNotebookAI/README.md at main · sanniheruwala/RedNotebo...
heruwala · 2026-06-12 · via 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.