Open-source AI Agent Platform - Modern web UI for AI agents
Status: Production-ready frontend for Memos backend
Tech Stack: Flutter 3.38.5 / Dart 3.10.4 / WebAssembly
Version: v1.0.0-beta
Language: δΈζ | English
Klui is a modern, beautiful web UI for Memos (a fork of Letta AI Agent platform with unified provider management).
- β 100% Open Source - Full control over your AI infrastructure
- β Beautiful UI - CRT retro terminal theme with modern UX
- β Full-Featured - Complete agent and provider management
- β Easy Deployment - Single Docker container, ready in minutes
Klui is designed to work with the Memos backend, which is a modified version of Letta with the following changes:
- Unified provider system (all providers managed through API)
- Custom provider names supported
- Hard delete for providers
- Agent List - View all agents with pagination
- Agent Details - Full configuration, tools, memory blocks
- Agent Creation - Step-by-step creation wizard
- Agent Deletion - Hard delete (truly removes from database)
- Model Selection - Dynamic provider and model loading
- System Prompt - Configure agent behavior
- Memory Display - View agent memory blocks
- Provider List - View all configured providers
- Provider Details - API keys, base URLs, configuration
- Provider Creation - Support for OpenAI, Anthropic, Together, etc.
- Provider Deletion - Remove unused providers
- Custom Base URLs - Use any OpenAI-compatible API
- API Key Management - Secure storage with encrypted display
- Real-time Streaming - SSE streaming responses
- Tool Approval - Approve/deny tool calls in real-time
- Message History - Full conversation history
- Context Size Indicator - Token usage with warnings (green/yellow/red)
- Diff Visualization - See file edits with before/after comparison
- Multi-language Support - Chinese and English (i18n)
- CRT Retro Theme - Beautiful amber/green phosphor design
- Responsive Design - Works on desktop, tablet, mobile
- Dark Mode - Easy on the eyes, hacker aesthetic
- High Contrast - Excellent readability with WCAG AA compliance
- Smooth Animations - Polished transitions and interactions
- Error Handling - User-friendly error messages (not raw backend errors)
- State Management - Riverpod with code generation
- Routing - Deep linking support with go_router
- Type Safety - Freezed for immutable models
- WebAssembly - Fast startup, small bundle size (3.4M main.dart.js)
- Optimized Build - Tree-shaking, code splitting, minification
- Message editing
- Message branching
- Conversation management (rename, archive, delete)
- Export conversations (Markdown, JSON)
- Search in conversations
- File browser UI
- File upload/download
- Code execution sandbox
- File diff viewer (already implemented, pending file system)
- Agent testing interface
- Performance metrics dashboard
- Batch operations
- Advanced configuration options
The following features from CHAT_FEATURE_COMPARISON.md are not yet implemented:
- Abort/Retry - Stop agent responses or retry failed requests
- Message Branching - Create conversation branches
- Tool History - View tool call history
- Conversation Tags - Organize conversations with tags
- Advanced Search - Search across all agents and conversations
- Export/Import - Backup and restore agents and conversations
- Analytics Dashboard - Usage statistics and insights
- Multi-Modal - Image support in conversations
Why not implemented? These require backend support from Memos or are lower priority.
These features require modifications to the Memos backend:
- Multiple Providers - Use same provider type with different configs
- Provider Health Checks - Monitor provider availability
- Load Balancing - Distribute load across providers
- Local Model Support - Ollama integration
- Simplified Deployment - Single Docker Compose file
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | Flutter 3.38.5 (Web) | UI Framework |
| Language | Dart 3.10.4 | Programming Language |
| State | Riverpod 3.0.3 | State Management |
| Routing | go_router 16.2.0 | Navigation |
| HTTP | http 1.6.0 | API Client |
| Serialization | Freezed + json_serializable | Immutable Models |
| Internationalization | flutter_localization | i18n (zh, en) |
| Markdown | flutter_markdown | Render Markdown |
| Syntax Highlighting | flutter_highlight | Code blocks |
| Diff | diff_match_patch | File edit visualization |
Current: Designed for Memos backend (a fork of Letta with unified provider management)
- Flutter SDK >= 3.38.5
- Dart >= 3.10.4
- Memos backend running on
http://localhost:8283
# Install dependencies
flutter pub get
# Run web development server
flutter run -d chrome
# Build for production
flutter build web --release
# Deploy
./deploy.sh # Automated build and deploy# API base URL (default: http://localhost:8283)
export API_BASE_URL=http://your-server:8283
# Build with custom API URL
flutter build web --dart-define=API_BASE_URL=http://your-server:8283klui/
βββ docs/ # Documentation
β βββ FORK_DECISION.md # Why we forked Letta β Ketta
β βββ LETTA_BACKEND_ANALYSIS.md # Backend research
β βββ DELETE_FUNCTIONALITY_ISSUES.md # Soft delete problem
β βββ THEME_MIGRATION_GUIDE.md # UI theme decisions
βββ lib/
β βββ core/ # Core layer
β β βββ config/ # Configuration
β β βββ models/ # Data models
β β βββ providers/ # Riverpod providers
β β βββ theme/ # CRT theme system
β β βββ utils/ # Utilities
β βββ features/ # Feature modules
β β βββ agents/ # Agent management
β β βββ providers/ # Provider management
β β βββ chat/ # Chat interface
β β βββ shared/ # Shared widgets
β βββ l10n/ # Internationalization
β βββ main.dart # App entry
βββ test/ # Tests
βββ deploy.sh # Deployment script
βββ README.md # This file
Klui uses a CRT retro terminal aesthetic inspired by vintage monitors:
-
Color Palette:
- Background: Dark amber/black (#0a0a00)
- Text: Fluorescent green (#00ff41), Amber (#ffcc00)
- Highlights: Red (#ff0044), Yellow (#ffcc00)
-
Typography:
- Monospace fonts for code
- Scanline effects
- Phosphor glow effects
-
Why CRT?
- Nostalgic for developers
- High contrast (accessibility)
- Unique branding
- Easy on the eyes for long sessions
- Clarity Over Minimalism - Information density > white space
- Function Over Form - Features > animations
- Contrast is King - Readability > subtle gradients
- Speed Matters - Fast loading > heavy frameworks
- Developer-Friendly - Keyboard shortcuts, power-user features
Phase 1: Foundation (2026-01-07)
- Project setup and architecture
- API client and providers
- Agent list and detail pages
- Web build pipeline
Phase 2: Agent Management (2026-01-09)
- Agent creation wizard (BYOK/Base modes)
- Agent deletion
- Model selection
- CRT theme implementation
Phase 3: Provider Management (2026-01-10)
- Provider list and details
- Provider creation
- Provider deletion
- Custom base URL support
Phase 4: Chat Interface (2026-01-11)
- SSE streaming responses
- Message display
- Tool approval UI
- Diff visualization
Phase 5: Polish (2026-01-12)
- Context size warnings
- Improved error messages
- Agent selection persistence
- Documentation completion
Phase 6: Advanced Chat (Current)
- Message editing and branching
- Conversation management
- Export functionality
- Enhanced search
Phase 7: File System (Next)
- File browser UI
- Upload/download
- Code execution
- Integration with Memos backend tools
Phase 8: Advanced Features
- Testing interface
- Performance metrics
- Batch operations
- Multi-language support expansion
Phase 9: Production Ready
- Comprehensive testing
- Performance optimization
- Security hardening
- Documentation completion
We welcome contributions! Please see:
- CONTRIBUTING.md (to be created)
- CODE_OF_CONDUCT.md (to be created)
- CLAUDE.md - Development guidelines
- Testing - Write unit and integration tests
- Documentation - Improve guides and API docs
- Internationalization - Add more languages
- Accessibility - Audit and improve WCAG compliance
- Performance - Profile and optimize bottlenecks
- CLAUDE.md - Development guidelines (MUST READ)
- FORK_DECISION.md - Why we forked Letta
- THEME_MIGRATION_GUIDE.md - Theme decisions
- LETTA_BACKEND_ANALYSIS.md - Backend research
- DELETE_FUNCTIONALITY_ISSUES.md - Soft delete issues
- CHAT_FEATURE_PLAN.md - Chat features
- DIFF_VIEWER_TEST_PLAN.md - Diff viewer testing
- IMPLEMENTATION_ROADMAP.md - Overall roadmap
- CHAT_FEATURE_COMPARISON.md - Feature comparison
- GitHub: https://github.com/kosmoli/klui
- Memos (Backend): https://github.com/kosmoli/memos
- Letta (Upstream): https://github.com/letta-ai/letta
- Demo: http://38.175.200.93:8080 (when deployed)
This project is open source and available under the MIT License.
- Kosmo - Project lead and architecture
- Claude Code (Sonnet 4.5) - Development partner via Happy
With help from:
- The Letta community (upstream)
- Flutter community
- Open-source contributors
Built on top of:
- Letta - AI Agent platform (upstream)
- Flutter - UI framework
- Riverpod - State management
- Many open-source libraries - See
pubspec.yaml
Special thanks to the open-source community for tools and libraries that make Klui possible.
Last Updated: 2026-01-16 Version: v1.0.0-beta Status: Production-ready for Memos backend