A production-ready AI Agent system built with FastAPI + deepagents
English · 简体中文 · Contributing
![]() Login |
![]() Chat |
![]() Streaming |
![]() Skills |
![]() MCP Config |
![]() Share |
![]() Roles |
![]() Settings |
![]() Feedback |
![]() Mobile |
![]() Tablet |
![]() Shared Session |
| # | Case | Description | Demo |
|---|---|---|---|
| 1 | PDF Report Generation | Agent reads skill instructions → installs dependencies → generates 8 charts → writes LaTeX source → compiles into a 14-page PDF business report. Zero human intervention. | View Session |
| 2 | PPT Presentation | Agent independently creates a 14-page business PPT with data tables, charts, analysis cards, and action roadmap based on supply chain data. | View Session |
| 3 | Static Blog Site | Builds a complete blog (5 pages + 8 sample articles) with tag filtering, pagination, responsive layout, and interactive effects. 10 subtasks all completed automatically. | View Session |
🤖 Agent System
- deepagents Architecture — Compiled graph with fine-grained state management
- Multi-Agent Types — Core / Fast / Search agents
- Plugin System —
@register_agent("id")decorator for custom agents - Streaming Output — Native SSE support
- Sub-agents — Multi-level nesting
- Thinking Mode — Extended thinking for Anthropic models
- Human-in-the-Loop — Approval system with countdown timer, auto-extension, and urgent state styling
🧠 Model Management
- Multi-Provider — OpenAI, Anthropic, Google Gemini, Kimi (Moonshot)
- Full CRUD — Create, edit, delete, batch import models via UI with per-model config (api_key, api_base, temperature, max_tokens)
- Channel Routing — Same model from multiple channels via
model_idrouting - Role-based Access —
MODEL_ADMINpermission, per-role model visibility control - Per-user Preferences — Default model selection persists across sessions
- Live Config Sync — Distributed Redis pub/sub for real-time model updates
- Drag-and-Drop — Reorder models in the selector
🔌 MCP Integration
- System + User Level — Global and per-user MCP configs
- Encrypted Storage — API keys encrypted at rest
- Dynamic Caching — Tool caching with manual refresh
- Multiple Transports — SSE / HTTP
- Permission Control — Transport-level access control
- Import/Export — Bulk MCP configuration management
🛠️ Skills System
- Dual Storage — File system + MongoDB backup
- Access Control — User-level permissions
- GitHub Sync — Import skills from GitHub repos
- Skill Creator — Built-in creation toolkit with evaluation tools
- Marketplace — Browse, install, and publish skills
- Batch Operations — Enable/disable/delete skills in bulk
💬 Feedback · 📁 Files · 🔄 Realtime · 🔐 Auth · ⚙️ Tasks · 📊 Observability
- Feedback — Thumbs rating, text comments, session-linked, run-level stats
- File Library — Browse revealed files, code preview, organized file management with grid/list views, favorites, and project-based filtering
- Documents — PDF / Word / Excel / PPT / Markdown / Mermaid / Excalidraw preview + image viewer
- Cloud Storage — S3 / OSS / MinIO / COS integration, drag & drop upload, presigned URLs
- Project Folders — Organize sessions into projects with drag-and-drop
- Session Sharing — Generate public share links for conversations
- Realtime — Dual-write (Redis + MongoDB), WebSocket, auto-reconnect, session sharing
- Security — JWT, RBAC (35+ permissions across 15 groups), bcrypt, OAuth (Google/GitHub/Apple), email verification, CAPTCHA, sandbox
- Tasks — Concurrency control, cancellation, heartbeat, pub/sub notifications
- Observability — LangSmith tracing, structured logging, health checks
- Channels — Feishu (Lark) native integration with model selector, project binding, and time-based session titles; extensible multi-channel system
🎨 Frontend
- React 19 + Vite 6 + TailwindCSS 3.4
- ChatGPT-style interface with dark/light theme
- Glass Design System — Consistent glass-shell/glass-card styling across all panels
- i18n — English, Chinese, Japanese, Korean, Russian
- Responsive — Mobile, tablet, desktop with unified component rendering
- Rich Content — KaTeX math, syntax highlighting, Mermaid diagrams, table copy/CSV export, image preview lightbox, line-highlighted code viewer
- Tool Panels — Slide-up tool result panels with center/sidebar view modes and block preview portal
- Skeleton Loading — Skeleton components for better perceived performance
- Landing Page — Premium blog-style landing with scroll-reveal animations and section tracking
14+ setting categories configurable via UI or environment variables:
| Category | Description |
|---|---|
| Frontend | Default agent, welcome suggestions, UI preferences |
| Agent | Debug mode, logging level |
| Model | Multi-provider model management, per-model config, channel routing |
| Session | Session management, message history, SSE cache |
| Database | MongoDB connection, optional PostgreSQL |
| Storage | Persistent storage, S3/OSS/MinIO/COS |
| Security | Encryption & security policies |
| Sandbox | Code sandbox settings (Daytona / E2B) |
| Skills | Skill system config |
| Tools | Tool system settings |
| Tracing | LangSmith & tracing |
| User | User management, registration, default role |
| Memory | Memory system (native / hindsight / memu) |
- Python 3.12+ · Node.js 18+ · MongoDB · Redis
git clone https://github.com/Yanyutin753/LambChat.git
cd LambChat
# Docker (recommended)
cd deploy && cp .env.example .env # Edit with your config
docker compose up -d
# Or local development
cp .env.example .env # Edit with your config
make install && make dev→ Open http://localhost:8000
ruff format src/ # Format
ruff check src/ # Lint
mypy src/ # Type checksrc/
├── agents/ # Agent implementations (core, fast, search)
├── api/ # FastAPI routes & middleware
│ ├── routes/ # 27 route modules (auth, chat, mcp, skills, model, etc.)
│ ├── admin/ # Admin API endpoints
│ └── agent/ # Agent configuration & model management
├── infra/ # Infrastructure services
│ ├── agent/ # Agent config & events
│ ├── auth/ # JWT, OAuth, RBAC, CAPTCHA
│ ├── backend/ # LLM backend abstraction
│ ├── channel/ # Multi-channel (Feishu, etc.)
│ ├── email/ # Email service (Resend)
│ ├── envvar/ # User environment variables
│ ├── feedback/ # Feedback system
│ ├── folder/ # Project folder management
│ ├── llm/ # LLM integration (OpenAI, Anthropic, Gemini, Kimi)
│ ├── memory/ # Cross-session memory (native, hindsight, memu)
│ ├── model/ # Model management with encryption & pub/sub sync
│ ├── mcp/ # MCP protocol
│ ├── role/ # RBAC roles
│ ├── sandbox/ # Sandbox execution (Daytona / E2B)
│ ├── session/ # Session management (dual-write)
│ ├── settings/ # Settings storage + pub/sub sync
│ ├── share/ # Share links
│ ├── skill/ # Skills system
│ ├── storage/ # MongoDB, Redis, PostgreSQL, S3
│ ├── task/ # Task management
│ ├── tool/ # Tool registry & MCP client
│ ├── tracing/ # LangSmith tracing
│ ├── upload/ # File upload handling
│ ├── revealed_file/ # File library
│ └── websocket/ # WebSocket & rate limiter
├── kernel/ # Core schemas, config, types
└── skills/ # Built-in skills
MIT — Project name "LambChat" and its logo may not be changed or removed.
Made with ❤️ by Clivia












