Kotlin · 项目报告

Chuloo/mural

The language app you eventually delete. A native iPhone companion for learning through conversation.

已完成 打开 GitHub
C
570星标
130Fork
12Issue
MIT许可证

分析结果

项目分析

Mural 是一个开源的原生移动端语言学习应用,主打“通过对话学习”:用户与 AI 进行语音或文字对话,应用根据回复证据记录词汇、能力观察和复习强度。项目同时包含 iPhone 端和 Android 端:iPhone 使用 SwiftUI、SwiftData、Keychain、WebRTC 等技术;Android 使用 Kotlin 和 Jetpack Compose。当前版本不提供官方云服务或公共 TestFlight,用户需要自行构建安装,并使用自己的 OpenAI API Key 连接 GPT-Live-1、GPT-5.6 Luna 等模型。学习记录主要保存在本地,支持 JSON 备份导入导出。

适用领域 语言学习 / AI 对话陪练 / 移动应用开发 / iOS 原生开发 / Android 原生开发 / SwiftUI / Jetpack Compose / 语音交互 / 本地优先应用 / 教育科技
配置难度 中高。对于有 iOS/Android 原生开发经验的开发者,按照文档构建并运行可行;但对普通学习者而言,Xcode 签名、开发者模式、OpenAI API 权限、移动端构建环境都会形成明显门槛。若要二次开发语言模块、语音对话流程或商业托管服务,难度较高。
商业价值 该项目的商业价值主要在于验证 AI 对话式语言学习产品形态:它展示了本地优先、用户自带 API Key、移动端实时语音对话、词汇证据追踪和多语言模块化架构。对于中国开发者,可作为开发 AI 口语陪练、出海语言学习 App、教育科技原型或企业内部语言培训工具的参考。但当前缺少官方分发、托管计费和成熟运营体系,直接商业化还需要补齐账号体系、支付、内容审核、隐私合规、成本控制、模型替换、国内网络适配和学习效果评估等环节。
01

技术亮点

  • 强调对话式语言学习,而非传统背单词或刷题模式。
  • 支持语音和文字对话,适合不方便说话时切换为键盘输入。
  • 学习记录本地保存,无广告、无分析 SDK、无 Mural 云同步。
  • 支持多语言模块,包括西班牙语、法语、德语、意大利语、巴西葡萄牙语、普通话、国际英语和挪威语。
  • 普通话模块支持可选拼音、词边界处理和词汇查询,对中文学习者或中文教学场景有参考价值。
  • 提供回忆强度条和间隔证据机制,用对话中的真实使用情况估计词汇掌握程度。
  • iPhone 和 Android 都是原生客户端,分别使用 SwiftUI 和 Jetpack Compose。
  • 项目结构清晰,包含 apps/ios、apps/android、shared、services/api、docs、verification 等目录。
  • 有较详细的构建、验证和发布准备文档。
  • MIT License,便于学习、二次开发和商业评估。
02

目标用户

  • 希望通过真实对话练习外语的学习者
  • 想研究 AI 语言学习产品实现方式的开发者
  • iOS 或 Android 原生应用开发者
  • 希望基于 OpenAI API 构建语音对话应用的团队
  • 关注隐私、本地存储和自托管 API Key 模式的用户
  • 想为语言学习工具增加新语言模块的贡献者
03

配置要求

  • OpenAI API 项目必须开通计费,并具备所需模型访问权限;ChatGPT 订阅不等于 API 额度。
  • 需要用户自行提供 OpenAI API Key;项目不包含共享 provider key,也不建议将 key 写入源码、日志或聊天记录。
  • iPhone 端需要 Xcode 26+、iOS 26.1+、Apple Account;免费 Personal Team 的签名配置通常 7 天过期,需要重新运行刷新。
  • Android 端需要 Java 17、Android SDK 36、Android 8.0+。
  • 语音对话需要麦克风权限和稳定网络连接。
  • API Key 在 iPhone 上存储于 Keychain,在 Android 上通过 Android Keystore 存储。
  • 如果要保持已有学习数据,更新时必须保留原来的 signing team 和 bundle identifier,不要卸载应用。
  • 公共托管服务、免费会话、分钟购买、App Store/TestFlight 分发目前未启用。
04

适用场景

  • 与 AI 进行目标语言的语音或文字对话练习
  • 在对话中查看含义字幕、纠错和词汇解释
  • 按主题进行情景对话,例如咖啡馆、旅行、日常闲聊等
  • 通过本地记录追踪词汇掌握程度和复习强度
  • 学习西班牙语、法语、德语、意大利语、葡萄牙语、普通话、英语、挪威语等语言
  • 导出或导入本地学习记录 JSON 备份
  • 研究如何在移动端集成 OpenAI 实时语音、文本和搜索能力
  • 作为教育类 AI App 的开源参考实现
05

部署与配置

  • iPhone 安装:准备 macOS 电脑、Xcode 26 或更高版本、iOS 26.1 或更高版本的 iPhone、Apple Account,以及具备计费和模型权限的 OpenAI API 项目。
  • 克隆仓库:git clone https://github.com/Chuloo/mural.git。
  • 打开 iOS 工程:使用 Xcode 打开 apps/ios/Mural.xcodeproj。
  • 在 Xcode 的 Settings → Accounts 中添加 Apple Account。
  • 选择 Mural target,在 Signing & Capabilities 中启用自动签名并选择 Team。如使用个人 fork,建议修改为唯一 bundle identifier,例如 com.yourname.mural,并在后续更新中保持不变。
  • 连接并解锁 iPhone,信任 Mac,并在 iPhone 的 Settings → Privacy & Security → Developer Mode 中开启开发者模式。
  • 在 Xcode 中选择 Mural scheme 和目标 iPhone,点击 Run 构建并安装。
  • 首次打开 App 后选择学习语言和字幕语言,在 Settings → Advanced → Use your own API key 中输入自己的 OpenAI API Key。
  • Android 安装:准备 Java 17、Android SDK 36、Android 8.0 或以上设备。
  • 进入 apps/android 目录并执行 ./gradlew :app:testDebugUnitTest :app:lintDebug :app:assembleDebug 构建个人安装 APK。
  • 测试构建:可在仓库根目录运行 swift test --package-path apps/ios,以及 xcodebuild 命令构建 iOS Simulator 目标。
06

风险与注意事项

  • 安装门槛较高,iPhone 端需要较新的 Xcode 和 iOS 版本,普通用户难以直接使用。
  • 没有官方 TestFlight 或 App Store 版本,当前更适合开发者自行构建。
  • 依赖 OpenAI API,存在模型权限、网络可用性、费用和数据合规风险。
  • 语音、文本、学习上下文和搜索请求会发送到 OpenAI,虽然本地不保存原始音频,但仍需遵守 OpenAI 的数据保留和滥用监控规则。
  • App 内使用量显示只是估算,不是严格的费用上限,用户需要在 OpenAI 控制台设置预算和用量限制。
  • README 中仓库主语言显示为 Kotlin,但项目实际包含大量 iOS Swift/SwiftUI 内容;技术栈跨度较大,维护复杂度较高。
  • 公共服务、账号、支付、分钟购买等能力尚未正式启用,不适合作为即插即用的商业 SaaS。
  • 语言学习效果、发音纠正质量和口语识别质量尚未形成权威验证,README 也明确提示不能据此宣称学习有效性或认证能力。
  • 免费 Apple 开发者签名会过期,可能影响长期稳定使用。
  • 若更换 bundle identifier、签名团队或设备,可能导致本地学习数据迁移复杂。

历史记录

热榜历史快照

2026-09-15 第18名 新收录 · github_search