Introducing IHUI-AI: 8 Platforms, 176 LLMs, 1 Codebase
This is the first article in a 10-part series on building IHUI-AI — an 8-platform open-source AI operating system that unifies 176 large language models.
TL;DR
IHUI-AI is an open-source AI operating system that ships 8 fully-functional client apps (web, API, AI-service, CLI, desktop, browser extension, mobile, mini-program) from a single TypeScript codebase. It unifies 176 large language models (OpenAI, Anthropic, Gemini, DeepSeek, Qwen, GLM, Doubao, Kimi, Ollama, vLLM, ...) behind a 100% OpenAI-compatible API. Apache 2.0 licensed. 5 minutes from git clone to a running instance.
GitHub: https://github.com/IHUI-INF-AI/IHUI-AI
The problem
Building AI products today means juggling 5+ stacks:
- Python backend for LLMs (FastAPI + LangChain)
- TypeScript frontend (Next.js)
- Mobile app (React Native or Swift/Kotlin)
- Desktop wrapper (Electron or Tauri)
- Browser extension (Chrome MV3)
- CLI tool (Node.js or Python)
- Mini-program (WeChat / Douyin / Alipay)
Each stack has its own auth, its own state management, its own LLM client. You duplicate the same business logic 5 times, fight 5 different type systems, and ship bugs 5 times faster.
The solution: 1 codebase, 8 clients
IHUI-AI ships 8 client applications from a single TypeScript codebase:
- Web (Next.js 15 + React 19 + Tailwind 4)
- API (Fastify 5, 1300+ routes)
- AI Service (FastAPI + LangGraph, 50+ Agent graphs)
- CLI (Node.js TUI REPL)
- Desktop (Tauri 2.0, cross-platform, offline-capable)
- Browser Extension (WXT + Chrome MV3)
- Mobile (React Native + Expo, iOS + Android)
- Mini-Program (Taro 4, WeChat + Douyin + Alipay + Baidu)
All 8 clients share 100% of TypeScript types, database schema, and API contracts. Change a route in apps/api, and the change is immediately typed in web/mobile/desktop/extension/miniapp/CLI.
176 LLM providers in one endpoint
from openai import OpenAI
client = OpenAI(
api_key="ihui-local-dev-key",
base_url="http://localhost:8802/v1" # ← drop-in replacement
)
resp = client.chat.completions.create(
model="auto-router", # or any of 176 models
messages=[{"role": "user", "content": "Hello!"}],
)
The model field accepts any of:
- OpenAI: gpt-4o, gpt-4-turbo, o1, o3, gpt-4o-mini
- Anthropic: claude-opus-4, claude-sonnet-4, claude-haiku-4
- Google: gemini-2.0-pro, gemini-2.0-flash
- DeepSeek: deepseek-chat, deepseek-coder, deepseek-reasoner
- Qwen: qwen-max, qwen-plus, qwen-turbo, qwen-coder
- GLM: glm-4-plus, glm-4-flash, glm-4-coder
- Doubao: doubao-pro, doubao-lite
- Kimi: moonshot-v1-128k, kimi-k2
- Ollama (local): llama3.3, qwen2.5, mistral
- vLLM (local): any open-weights model
- ... and 156 more
Production-grade, not a toy
| Metric | Value |
|---|---|
| Database tables | 340 (with multi-tenant RLS) |
| Migrations | 144 |
| API endpoints | 1300+ |
| LangGraph Agent graphs | 50+ |
| MCP servers bundled | 100+ |
| GitHub Actions workflows | 21 |
| Pre-commit gatekeepers | 33+ |
| Test suites / cases | 237 / 5346 |
| E2E specs | 63 |
| API P99 latency | < 80ms |
| Throughput | 12k req/sec on 4-core |
Quickstart
git clone https://github.com/IHUI-INF-AI/IHUI-AI
cd IHUI-AI
pnpm install
pnpm dev # starts web (8801) + API (8802) + AI service (8803)
Open https://ihui.ai for the live demo.
What's next
In the next 9 articles, I'll deep-dive into:
- LangGraph state machine production patterns
- MCP gateway implementation
- 8-platform TypeScript sharing strategies
- LiteLLM routing across 176 models
- Multi-tenant RLS + audit chain
- Tauri desktop engineering
- React Native + Expo mobile patterns
- Taro 4 mini-program multi-platform
- Open-source business models
Follow me on dev.to or subscribe to the IHUI-AI newsletter to not miss them.
License
Apache-2.0 — free for commercial use, no restrictions.
🤖 Generated with love by the IHUI-AI team. Star us on GitHub if this was useful!
Top comments (0)