yeahhe365/AMC-WebUI
面向 Gemini 的 Local-First AI 工作流 WebUI,集成多模态聊天、Canvas、文件处理、实时搜索、代码执行与高级推理。
What it solves
AMC WebUI is an all-in-one model console designed to provide a comprehensive interface for interacting with Google Gemini's native capabilities and OpenAI-compatible APIs. It addresses the need for a local-first, privacy-focused chat interface that supports advanced multimodal interactions (voice, video, files) and productivity tools without requiring a complex backend setup.
How it works
Built with React 18 and TypeScript, the project follows a "Local-First" principle where chat data is stored in the browser's IndexedDB. It can be deployed as a static frontend (e.g., via Cloudflare Pages) or as a dual-service Docker deployment (web + API proxy). The system supports two distinct API paths: a native Gemini path for specialized features like Thinking, Live API, and Code Execution, and a separate OpenAI-compatible path for standard chat completions.
Who it’s for
Users who want a powerful, feature-rich UI for Gemini models, developers who need a way to manage multiple API keys with rotation, and individuals seeking a private, self-hosted AI chat interface with integrated productivity tools.
Highlights
- Advanced Gemini Integration: Supports Thinking (chain-of-thought visualization), Live API (real-time audio/video interaction), and the Gemini Files API for handling large documents and codebases.
- Integrated Productivity Tools: Includes a browser-based Python sandbox using Pyodide (WASM) for data analysis, deep search via Google Search aggregation, and native image generation.
- Live Artifacts: Automatically renders code blocks into interactive HTML, SVG, Mermaid diagrams, and Graphviz charts.
- Enterprise API Management: Features multi-key rotation, separate configuration isolation for OpenAI-compatible endpoints, and a built-in API proxy for Gemini.
- Local-First & PWA: Data is stored locally in IndexedDB, and the app can be installed as a Progressive Web App for desktop or mobile use.
Related
- Project
- Project
- Project
- Project
- Project