
Astral Web UI 是一款极简、现代、本地优先的开源 AI 聊天界面,MIT 许可。作者明确说”already excellent, robust chat interfaces out there — LibreChat, LobeChat, Open WebUI… This project isn’t trying to out-feature them” ,方向是”a simple, minimalistic, modern, local chat interface, first and always” 。核心差异化能力是可视化分支对话树——编辑消息或重新生成回复时保留两个版本作为兄弟节点,而非覆盖;外加浏览器式标签页、Zen Mode 无干扰聊天、命令面板。
支持 Gemini/OpenAI/Anthropic 及任意 OpenAI 兼容端点,也可通过 Ollama/LM Studio 接入本地模型 。无 Docker、无数据库、无账号系统、无云端依赖,API Key 仅存浏览器本地并直连提供商 。它是”交互前端”分类中“极简本地优先 Web UI”子类的代表,与 Open WebUI(功能丰富型自托管)、AnythingLLM(全栈私有 AI 应用)、NextChat(轻量跨平台客户端)形成清晰的差异化。
产品概述
Astral Web UI 由 RealPhonyx 开发,作者自述”built this project with Google AI Studio, with a lot of manual testing, debugging” 。项目刻意不做 RAG、不做多用户、不做 Agent 编排、不做 MCP——它的哲学是”a few but genuinely useful features, done well, rather than a large number of them” 。
核心定位哲学:
作者在设计文档中明确了三项核心特性 :
- 可视化分支对话树(Branch Tree):编辑消息或重新生成回复时,保留两个版本作为兄弟节点,可视化浏览完整对话树,而非简单的左右箭头切换
- 浏览器式标签页(Tabs):同时打开多个对话,类似浏览器 tab
- Zen Mode:剥离一切干扰元素,仅保留对话本身
它做什么 / 不做什么(关键归类):
- ✅ 做:在用户机器上本地运行 → 接收聊天请求 → 直连配置的提供商(或本地 Ollama/LM Studio 端点) → 返回响应 → 在此之上提供分支对话树、标签页、Zen Mode、命令面板
- ❌ 不做:不调用自家云端、不做数据存储、不做 RAG 文档检索、不支持多用户、不构建 Agent 工作流、不集成 MCP
- 本质是极简本地优先交互前端:它是”交互前端”分类中唯一的”分支对话树优先”的 Web UI——这个能力在 LibreChat(有对话分支但非可视化树)、Open WebUI(线性对话为主)中都未作为一等公民。
技术架构 :
- 前端:React + TypeScript + Vite + Zustand + Tailwind CSS
- 对话树渲染:@xyflow/react(React Flow)
- 本地服务:Express(仅用于服务本地静态资源与代理直连,无数据库)
- 存储:API Key 存浏览器 localStorage,对话历史存浏览器 IndexedDB(推断,基于”无数据库”描述)
- 部署形态:
npx astral-web-ui一键启动,或源码构建 - 零后端基础设施:无云端数据库、无账号系统
许可策略:MIT 许可证 ,允许商用、修改、分发,是”最干净许可”阵营中最宽松的。
💡 与其他交互前端的差异化定位:
- Open WebUI:功能丰富型自托管,需 Docker,全栈私有 AI 应用
- AnythingLLM:全栈私有 AI 应用,文档聊天 + 智能体 + 多用户
- NextChat:轻量跨平台客户端,多 API Key 负载均衡,5 秒部署
- Chatbot UI:极简自托管 ChatGPT 风格界面,Supabase 后端
- Astral Web UI:极简本地优先,分支对话树为一等公民,零后端、零配置
Astral 的独特价值在于”分支对话树 + 零后端“的组合——它是唯一一个把”对话分支可视化”作为核心特性且零运维的聊天前端。
核心能力
- 可视化分支对话树:编辑消息或重新生成回复时保留两个版本作为兄弟节点,点击即可在完整对话树中导航
- 浏览器式标签页:同时打开多个对话,类似浏览器 tab 切换
- Zen Mode:剥离一切 UI 元素,仅保留对话本身,无干扰聊天
- 命令面板:键盘驱动的快捷导航
- 多提供商支持:Gemini、OpenAI、Anthropic 原生支持
- OpenAI 兼容端点:可配置 base URL,接入 Groq、OpenRouter、Together AI 等任意兼容提供商
- 本地模型支持:通过 Ollama 或 LM Studio 端点接入本地模型
- 零后端基础设施:无云端数据库、无账号系统,一切运行在用户机器上
- API Key 本地存储:Key 存浏览器本地,直连提供商,中间无服务器
- 完全离线模式:
npx --offline astral-web-ui启用完全离线 ,适合本地模型用户 - MIT 许可:商用、修改、分发无任何限制
优势亮点
- MIT 最干净许可:与 NextChat/Chatbot UI 并列最干净许可阵营
- 分支对话树差异化:编辑/重新生成保留完整对话树,是”交互前端”中该能力的代表性实现
- 真正的零后端:无 Docker、无数据库、无账号系统 ,
npx一条命令启动 - 本地优先隐私:API Key 留在本机,直连提供商无中间服务器
- 完全离线能力:
npx --offline模式适合纯本地模型用户 - 极简哲学一致:作者明确”simple, minimalistic, modern, local chat interface, first and always” ,不做功能膨胀
- 技术栈现代:React + TypeScript + Vite + Zustand + Tailwind + React Flow
- 无依赖负担:不需 MongoDB、不需 Redis、不需反向代理
局限
- 自己不执行推理:Astral Web UI 是聊天前端,后端必须接各家 API 或本地推理引擎(Ollama/LM Studio)
- 功能刻意精简:无 RAG、无多用户、无 Agent、无 MCP、无插件系统 ——作者明确不做功能膨胀
- 无多用户/协作:纯单机本地应用,不适合团队场景
- 无云端同步:对话历史存浏览器本地,换设备/清缓存会丢失
- 社区规模较小:项目较新(v1.0.2,13 天前首次发布 ),社区规模与 Open WebUI/LibreChat 等有数量级差距
- 无 SSO/企业特性:与 LibreChat 的企业 SSO、AnythingLLM 的多用户相比,Astral 完全是个人工具定位
- 无可视化管理面板:不像 Open WebUI 有完整的管理后台
- 提供商配置需手动:需在 Settings 中手动填入 API Key 与 base URL,无”一键接入”向导
适用人群
- Prompt 工程师 / AI 研究者:需要分支对话树做 Prompt 试验与对比
- 隐私敏感个人用户:API Key 留本机、无云端依赖、可完全离线
- 本地模型用户:配合 Ollama/LM Studio 使用,零配置
- 极简主义者:不需要 RAG/Agent/多用户等重功能,只要干净的聊天界面
- 快速体验者:一条
npx命令启动,无 Docker 负担 - 前端开发者:React + TypeScript + Vite 技术栈,易于二次开发
安装与部署
1. 环境要求
- Node.js(v1.0.2 需兼容版本)
- 本地端口可用
2. 一键启动(推荐)
# 下载并启动应用,自动在浏览器打开 npx astral-web-ui # 每次运行会检查最新版本
3. 完全离线模式(本地模型用户)
# 在线状态下先正常运行一次 npx astral-web-ui # 之后可强制离线启动(确保启动本身也不需要互联网) npx --offline astral-web-ui
4. 源码构建
git clone https://github.com/RealPhonyx/Astral-Web-UI.git cd Astral-Web-UI npm install npm run build node bin/cli.js
5. 配置提供商
首次启动后,在 Settings 中配置:
- Gemini / OpenAI / Anthropic:从提供商仪表板粘贴 API Key
- Custom(OpenAI 兼容):填入 base URL、可选 API Key、模型名(适用于 Groq、OpenRouter、Together AI 等)
- 本地模型:指向本地 Ollama 或 LM Studio 端点
💡 API Key 仅存浏览器本地,直连提供商,中间无服务器
6. 客户端调用(与 OpenAI SDK 兼容)
Astral Web UI 本身是对话前端,但若要通过程序调用,可指向 Ollama 或 LM Studio 的 OpenAI 兼容端点:
from openai import OpenAI
# 指向本地 Ollama 端点
client = OpenAI(
api_key="ollama",
base_url="http://localhost:11434/v1"
)
response = client.chat.completions.create(
model="qwen2.5:7b",
messages=[{"role": "user", "content": "Hello!"}]
)
7. 部署前必检清单
- 确认仓库位于
github.com/RealPhonyx/Astral-Web-UI(官方) - 许可:MIT ,商用无限制
- 严格属于”交互前端”子类,极简本地优先 Web UI 形态
- 核心差异化:可视化分支对话树 ——编辑/重新生成保留完整对话树
- 多提供商:Gemini/OpenAI/Anthropic 原生 + OpenAI 兼容端点 + Ollama/LM Studio 本地模型
- 零后端:无 Docker、无数据库、无账号系统
- 完全离线模式:
npx --offline - 技术栈:React + TypeScript + Vite + Zustand + Tailwind + @xyflow/react + Express(本地)
- 最新版本:v1.0.2(13 天前首次发布)
- 社区规模较小,项目较新,生产场景需自行评估
- 无 RAG、无多用户、无 Agent、无 MCP ——刻意保持极简
相关导航

Page Assist

AnythingLLM

LobeChat

LibreChat

Chatbot UI

ChatALL

