Skip to content
View amitbidlan's full-sized avatar

Block or report amitbidlan

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
amitbidlan/README.md

Hi, I'm Amit Bidlan πŸ‘‹

Full-stack engineer Β· founder Β· open-source-first Β· based in Japan πŸ‡―πŸ‡΅

Building the operational platform for LLM agents in production β€” observe, govern, defend, operate.


πŸ”­ Currently building

Lumin β€” local-first observability + security for LLM agents

Apache 2.0 GitHub stars Last commit Docker npm 52s demo

Lumin demo β€” click to watch the 52s walkthrough on YouTube

β–Ά Watch the 52-second walkthrough on YouTube

Why Lumin

Most LLM tooling picks one corner of the agent operations problem. Observability stacks (Langfuse, LangSmith, Helicone, Arize) tell you what your agent did after it did it. Guardrail classifiers (Lakera, NemoGuardrails) score single prompts in isolation. Gateways (LiteLLM, TensorZero) route traffic. Static scanners (Agentic Radar) audit code.

Lumin covers all four corners in one self-hosted Docker container. Four pillars, every major framework.

πŸ›οΈ Four pillars

πŸ“Š Observe

Full-trace recording for every LLM call, tool invocation, retrieval, embedding, cost, eval. Multi-turn sessions. Real-time WebSocket dashboard with span timelines. Cost + token attribution across OpenAI, Anthropic, Ollama. Drop-in alternative to Langfuse / LangSmith β€” but local-only.

πŸ“œ Govern

Policy engine with a typed DSL (before_proxy_call / after_proxy_call lifecycle hooks, priority, severity, conditions). Shadow / enforce modes β€” every rule starts as shadow, promote after reviewing the timeline. Versioning + rollback + audit. Auto-suggester mines patterns from your real traces; replay tests draft policies against historical traces; drift detection alerts on distribution shifts. Human approvals queue + decisions audit.

πŸ›‘οΈ Defend β€” OWASP LLM Top 10 at runtime

8 detection methods layered: Presidio NER, Prompt Guard 2 (22M-param classifier), Llama Guard 4 (14 MLCommons hazards), LLM-judge, embedding similarity, indirect-prompt-injection detection, locally-trainable classifier, regex packs. 12 starter policy packs ship: OWASP LLM Top 10, OWASP Agentic 2025, GDPR, HIPAA, PCI-DSS, cost guards, cross-session isolation, framework-specific. Attack generator for adversarial CI testing. PII vault. Tenant-isolation firewall for multi-tenant bots (5 structural layers).

OWASP Lumin protection
LLM01 β€” Prompt Injection Prompt Guard 2 + pattern + LLM-judge on every input
LLM02 / LLM06 β€” Sensitive Info Disclosure Presidio NER scrubs PII / names / orgs / IDs / emails / SSNs / credit cards from prompts
LLM03 β€” Supply-Chain Every tool call audited; tool allowlist + signed plugin manifests
LLM05 β€” Insecure Output Output-filter chain (Llama Guard 4 + regex + structural) before responses leave the agent
LLM08 β€” Excessive Agency Deny-by-default for shells (exec, bash, python) and network egress (web_fetch, curl). Per-user file sandbox
LLM09 β€” Overreliance Policy engine + human approval queue
LLM10 β€” Model Theft Tenant-isolation firewall: conversation-history reset, structural blocking of cross-session leaks

πŸ› οΈ Operate

Webhook fanout to PagerDuty / Slack / SIEM. Backups + retention with one-click restore. Panic disable kill-switch. Prometheus-shape metrics + liveness / readiness. Resilient by design β€” a Lumin outage MUST never affect the agent. Local-first: single Docker, DuckDB + SQLite, no cloud dependency.

How it compares

Lumin Langfuse Lakera NemoGuard
Full trace recording βœ… βœ… ❌ ❌
Cost + token attribution βœ… βœ… ❌ ❌
Evals + scoring βœ… βœ… ❌ ❌
Prompt-injection detection βœ… ❌ βœ… βœ…
PII redaction (Presidio NER) βœ… ❌ βœ… classifier βœ… classifier
Excessive-agency guard (deny exec / fetch) βœ… ❌ ❌ ❌
Per-user file sandbox βœ… ❌ ❌ ❌
Conversation history isolation βœ… ❌ ❌ ❌
Policy engine + human approval βœ… ❌ ❌ ⚠️ partial
Self-hosted single Docker βœ… ⚠️ stack ❌ SaaS ❌ NIM endpoint
Open source βœ… Apache-2.0 βœ… MIT ❌ βœ… Apache-2.0

Ships as

  • 🐳 Docker β€” docker run -p 3000:3000 -p 8000:8000 zistica/lumin:0.7.0
  • πŸ“¦ npm β€” @lumin-io/sdk, @lumin-io/openclaw-diagnostics, @lumin-io/mastra, @lumin-io/voltagent
  • 🐍 Python SDK β€” pip install -e . (@lumin.trace decorator + framework integrations)
  • πŸ”Œ 16 framework integrations β€” Python SDK, TypeScript SDK, LangChain, LangGraph, LlamaIndex, CrewAI, AutoGen, LiteLLM, OpenAI Agents, Pydantic AI, Anthropic (extended-thinking), OpenClaw (OTel + diagnostics plugin), Mastra, VoltAgent, OpenAI-compat HTTP proxy, OTLP receiver

πŸ›  Tech I work with

Python TypeScript FastAPI Next.js React Node.js Docker DuckDB GCP Postgres OpenTelemetry


πŸ“ˆ GitHub

GitHub stats Top languages


πŸ“« Connect

"Start where developers are. End where enterprises need you."

Pinned Loading

  1. zistica-lumin zistica-lumin Public

    Local-first AI agent observability + tenant-isolation firewall. Drop in 2 lines to trace LangChain/CrewAI/OpenClaw bots. Per-user file sandbox + L3 PII redaction stops cross-session leaks. Self-hos…

    Python 1

  2. traceloop/openllmetry traceloop/openllmetry Public

    Open-source observability for your GenAI or LLM application, based on OpenTelemetry

    Python 7.1k 955