拍下真实世界,把物品变成单词卡、发音与孩子自己的英文绘本。 Turn the real world into visual vocabulary cards and illustrated English stories.
Open CapWords 是一个独立开发的双端相机词汇学习项目,面向家庭场景。用户拍摄身边的物品,App 识别英文单词、生成单词卡与四页英文故事,并通过语音朗读形成完整学习闭环。iOS 首发版的学习链路完全在设备本机运行。
Android:当前主要可运行与已验收版本 iOS:Release 构建通过,正在进行 TestFlight 与 App Store 发布准备
传统单词卡让孩子记住的是预设图片。Open CapWords 希望孩子从自己的生活出发:
拍摄真实物品 → 认识英文单词 → 收藏到单词本
→ 生成本机小绘本 → 自动朗读 → 再次复习
产品不做开放式儿童聊天,也不追求复杂课程系统。核心理念是:
真实世界就是孩子的第一本英语教材。
Open CapWords 的早期产品研究参考了 CapWords 所展示的“相机连接现实物品与词汇学习”范式,但代码、视觉资产与实现均独立完成。本项目进一步采用本机 Vision 分类、毛毡视觉、双端原生实现和本地优先存储。
本项目是独立的社区实现,与 CapWords、HappyPlan Tech 或 Apple 没有隶属、授权或背书关系。CapWords 的官方产品与设计故事可参考 CapWords 官网 和 Apple Developer 专访。CapWords 名称及相关品牌权益归其权利人所有。
| 首页 | 下拉 IP 场景 | 拍照识别 | 识别结果 |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
| 历史记录 | 单词本 | 我的绘本 | 绘本阅读器 |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
- 拍照识词:拍照或从相册选择物品;iOS 使用 Apple Vision 在本机分类,原始照片不上传。
- 本机学习卡:iOS 通过内置儿童基础词表提供中文释义与预审例句。
- 四页小绘本:围绕识别单词在本机生成四页双语故事,并复用孩子自己的本机照片。
- 自动朗读:支持单词和故事播放、暂停、自动翻页与末页重播。
- 自动历史:识别完成后立即保存,记录时间、单词与本机照片。
- 单词本:主动收藏、去重、删除与撤销,帮助后续复习。
- 我的绘本:本机生成、阅读、自动朗读与删除管理。
- 儿童友好交互:大按钮、柔和配色、毛玻璃底栏、弹簧反馈与品牌 IP。
- 本机保存:iOS 的照片、历史、单词与绘本都保存在设备本地。
- 隐私与家长控制:无账号、无广告、无追踪;外链与数据删除位于家长门后。
| 平台 | 状态 | 已验证内容 | 尚需验证 |
|---|---|---|---|
| Android | 主要可运行版本 | 单元测试、Debug APK 构建、模拟器安装、核心流程与页面交互 | 多品牌真机、相机方向、长期稳定性、正式发布签名 |
| iOS | 发布准备中 | Xcode 26 Release 构建、App Icon、隐私清单、家长门、数据清除、全本机学习链路 | 真机相机/语音、签名归档、TestFlight 与审核 |
详细状态与边界见 项目状态说明。
OpenCapWords/
├── android/ Kotlin + Jetpack Compose,可运行主版本
├── ios/ Swift + SwiftUI,独立 iOS 工程目录
├── backend/ 未来联网生成实验(不进入 iOS 1.0.0)
├── app-store/ App Store 元数据与审核材料草案
├── docs/
│ ├── screenshots/ GitHub 展示截图
│ ├── PRD.md 产品需求
│ ├── DESIGN_SYSTEM.md 设计系统
│ ├── ARCHITECTURE.md 双端架构与运行原理
│ └── PROJECT_STATUS.md 当前验证状态
├── AGENTS.md Agent 协作约定
└── README.md
两端采用原生 UI,统一产品流程、数据语义、API 契约与设计系统:
| Android | iOS |
|---|---|
| Kotlin | Swift |
| Jetpack Compose | SwiftUI |
| CameraX | AVCaptureSession |
| ViewModel + StateFlow | ObservableObject + Published |
| Retrofit + OkHttp | 首发版无网络依赖 |
| DataStore + 本地文件 | UserDefaults + 本地文件 |
flowchart LR
Camera["拍照 / 相册"] --> Safety["本机人脸检查"]
Safety --> Vision["本机 Vision 分类"]
Vision --> Recognition["本机词表:词汇与例句"]
Recognition --> History["自动写入历史"]
Recognition --> Wordbook["收藏到单词本"]
Recognition --> Story["本机生成四页英文故事"]
Story --> Reader["绘本阅读与自动朗读"]
完整架构见 ARCHITECTURE.md。
Android 原型与 iOS 生产链路的配置不同:Android 仍使用本地开发 Key;iOS 1.0.0 不使用供应商 Key或服务端。
要求:
- Android Studio
- JDK 17
- Android SDK 34
- Android 8.0 / API 26 或以上设备
cd android
cp local.properties.example local.properties
# 编辑 local.properties,填写 AGNES_API_KEY
JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home" \
./gradlew test assembleDebugDebug APK:
android/app/build/outputs/apk/debug/app-debug.apk
更多说明见 android/README.md。
要求:
- Xcode 26+
- iOS 17+
- XcodeGen,可选
cd ios
open FeltWords.xcodeproj命令行编译:
cd ios
DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer \
xcodebuild -project FeltWords.xcodeproj \
-scheme FeltWords \
-sdk iphonesimulator \
-configuration Debug \
CODE_SIGNING_ALLOWED=NO build更多说明见 ios/README.md。
- 本仓库不包含真实 API Key、Android 签名文件或本地配置。
- iOS 的照片、分类候选、单词卡和故事只在设备本机处理;首发版没有 API Key 或服务地址。
- iOS 已加入家长门、数据删除、隐私清单和公开隐私/支持页面。
- 面向儿童正式发布前,仍需完成真机验证和 App Store 审核。
- Android 当前主要经过模拟器验收;正式发布前必须完成真机和多系统版本测试。
- iOS 当前仅声明源码提供与编译通过,不声明已完成完整功能验收。
Open CapWords · CapWords Inspired · Photo Vocabulary · Visual Vocabulary · Photo Flashcards · On-device Learning · Kids Education · Storybook · Text to Speech · Apple Vision · Jetpack Compose · SwiftUI · CameraX · 儿童英语启蒙 · 拍照识词 · 视觉单词卡 · 本机绘本
- 面向家庭与初级英语学习者
- 软萌儿童 3D 绘本感
- 暖奶油色、低饱和陶土橙、轻量毛玻璃
- 毛毡手作元素与可持续扩展的品牌 IP
- 不使用惊悚、神秘符号或深色恐怖视觉
当前仓库暂未声明开源许可证。未经授权,不代表允许商用或再分发。







