AppLess 是一个基于 Expo/React Native 和 OpenUI 的实验性“无 App 手机”原型:用户不再打开固定 App,而是用自然语言提出需求,LLM 实时生成 openui-lang 界面,并由 OpenUI Renderer 渲染成 iOS Cupertino 或 Android Material 3 的原生 UI。它展示了生成式 UI 操作系统的交互形态,但目前主要是演示项目,真实业务动作和状态大多未接入。
适用领域
生成式 UI / LLM 应用开发 / React Native 移动端开发 / Expo 应用 / 跨平台原生 UI / AI Agent 界面生成 / 移动操作系统交互原型 / OpenUI/openui-lang DSL
配置难度
中高。对于熟悉 React Native、Expo、TypeScript 的开发者,运行 Demo 难度中等;但要深入理解 OpenUI、openui-lang、流式解析渲染、组件契约生成提示词,以及将模拟动作改造成真实业务集成,则需要较强的移动端、LLM 工程和产品架构能力。
商业价值
该项目的直接商业价值主要在于原型验证和技术探索,而非开箱即用的业务系统。它适合用于展示 AI 原生应用形态、快速验证“自然语言生成界面”的产品想法、为垂直行业构建动态 UI 框架。如果进一步接入真实数据源和交易 API,可演化为餐饮、本地生活、日程、金融、音乐、旅游等场景的 AI 前端入口。但生产化需要补齐权限、账号、真实状态、交易安全、错误处理、可观测性和合规能力。
01
技术亮点
- 理念新颖:把手机交互从“打开 App”转为“提出需求后即时生成界面”。
- LLM 输出不是传统 JSON,而是流式生成 openui-lang,再增量渲染为原生 UI。
- 同一份 ui/contract.tsx 作为组件契约,既定义模型可用组件,也生成系统提示词,降低模型输出不可渲染内容的风险。
- 支持 iOS Cupertino 和 Android Material 3 两套设计系统,同一生成结果可在不同平台呈现原生风格。
- 流式渲染体验较强,界面可在模型响应尚未完成时逐步出现。
- 支持点击后继续生成下一屏,并可对可能的目标页面进行预取,提升导航即时感。
- 无需部署后端,模型调用从手机端直接发起,适合本地快速试验。
- 可选接入 Exa 搜索和 Unsplash 图片,使生成内容具备真实数据 grounding。
- MIT 许可证,方便学习、修改和二次开发。
- README 清晰说明架构、依赖、测试、遥测和项目局限。
02
目标用户
- 对生成式 UI 和 AI 原生交互感兴趣的前端/移动端开发者
- React Native、Expo 开发者
- 正在探索 LLM 驱动界面的产品团队
- 希望研究 OpenUI 技术栈的开发者
- 想快速制作 AI App 原型的创业团队
- 对未来手机 OS、超级 App、Agent UI 感兴趣的技术人员
03
配置要求
- 必须:Cerebras API Key,用于手机端直接调用模型生成界面。
- 可选:EXPO_PUBLIC_CEREBRAS_API_KEY,用于开发时跳过首次启动 API Key 输入。
- 可选:EXPO_PUBLIC_EXA_API_KEY,用于启用 web_search 工具,获取真实网页搜索结果。
- 可选:EXPO_PUBLIC_UNSPLASH_ACCESS_KEY,用于获取真实语义图片;否则使用 LoremFlickr。
- 可选:EXPO_PUBLIC_GENOS_MODEL,用于指定模型,例如 gemma-4-31b。
- 可选:EXPO_PUBLIC_CEREBRAS_BASE_URL,用于配置任意 OpenAI 兼容接口地址。
- 可选:EXPO_PUBLIC_POSTHOG_DISABLED=1 或 DO_NOT_TRACK=1,用于关闭启动匿名遥测。
- 需要 Expo SDK 54;如果本机 Expo Go SDK 不匹配,需要按 README 使用 npx expo install 调整版本。
- 依赖 iOS/Android 原生运行环境;iOS 需 Xcode,Android 需 Android Studio 或可用模拟器/真机。
04
适用场景
- 体验 LLM 实时生成移动端原生界面的交互方式
- 学习如何用组件契约生成系统提示词,让模型只生成可渲染的 UI DSL
- 基于 OpenUI 构建自定义生成式 UI 应用
- 为餐饮、地图、日程、钱包、音乐等场景制作 AI 原型
- 验证 iOS Cupertino 与 Android Material 3 双设计系统共用同一 UI 合约的架构
- 接入真实 API 后构建具备真实数据和真实操作能力的 AI 移动应用
- 研究流式 LLM 输出如何增量解析并渲染成原生组件
05
部署与配置
- 安装 Node.js、npm、Xcode 或 Android Studio,以及 Expo/React Native 相关开发环境。
- 克隆仓库:git clone https://github.com/thesysdev/appless.git
- 进入目录:cd appless
- 安装依赖:npm install。安装后 postinstall 会应用 react-lang patch。
- 启动 iOS:npm run ios;或启动 Android:npm run android;也可以使用 npm start 在 Expo Go 中运行。
- 首次启动时输入 Cerebras API Key,应用会将其存储在设备 Keychain/Keystore 中。
- 可选:在项目根目录创建 .env.local,预置 API Key 或启用搜索、图片等工具。
- 运行测试:npm test,用于验证示例生成界面经过 parser -> Renderer -> native component 的渲染链路。
06
风险与注意事项
- 这是实验性 Demo,不是完整可用的手机系统或超级 App。
- README 明确说明真实业务动作均为模拟,例如下单、订票、支付、健康数据等不会产生真实效果。
- 如果不启用搜索和图片工具,模型生成内容可能是看似合理的虚构信息。
- 将 API Key 存储在设备端并由客户端直接调用模型,适合原型但不一定适合生产级密钥管理。
- 依赖 Cerebras、OpenUI、Exa、Unsplash 等外部服务,稳定性、额度、费用和接口变化会影响体验。
- 生成式 UI 可能存在不可预测输出,需要严谨的组件契约、校验、错误兜底和安全策略。
- 如果接入真实支付、订单、金融、健康等场景,需要额外处理权限、合规、审计、风控和用户确认流程。
- Expo SDK 54 和 React Native 0.81 版本较新,开发环境兼容性可能带来一定门槛。
- 项目会默认发送一次匿名 PostHog 启动事件,企业或隐私敏感环境需要显式关闭。
- 当前 stars 约 289,社区体量还不算大,遇到问题可能需要自行排查源码。
2026-07-23
第22名
新收录 · github_search
2026-07-22
第23名
新收录 · github_search
2026-07-21
第28名
新收录 · github_search