Skip to content

Latest commit

 

History

History
203 lines (148 loc) · 8.36 KB

File metadata and controls

203 lines (148 loc) · 8.36 KB

Open CapWords

拍下真实世界,把物品变成单词卡、发音与孩子自己的英文绘本。 Turn the real world into visual vocabulary cards and illustrated English stories.

Open CapWords 是一个独立开发的双端相机词汇学习项目,面向家庭场景。用户拍摄身边的物品,App 识别英文单词、生成单词卡与四页英文故事,并通过语音朗读形成完整学习闭环。iOS 首发版的学习链路完全在设备本机运行。

Android:当前主要可运行与已验收版本  iOS:以 `FeltWords Camera` / `毛毡单词相机` 发布,中英文界面与 Release 构建通过

为什么做这个产品

传统单词卡让孩子记住的是预设图片。Open CapWords 希望孩子从自己的生活出发:

拍摄真实物品 → 认识英文单词 → 收藏到单词本
→ 生成本机小绘本 → 自动朗读 → 再次复习

产品不做开放式儿童聊天,也不追求复杂课程系统。核心理念是:

真实世界就是孩子的第一本英语教材。

与 CapWords 的关系

Open CapWords 的早期产品研究参考了 CapWords 所展示的“相机连接现实物品与词汇学习”范式,但代码、视觉资产与实现均独立完成。本项目进一步采用本机 Vision 分类、毛毡视觉、双端原生实现和本地优先存储。

本项目是独立的社区实现,与 CapWords、HappyPlan Tech 或 Apple 没有隶属、授权或背书关系。CapWords 的官方产品与设计故事可参考 CapWords 官网 和 Apple Developer 专访。CapWords 名称及相关品牌权益归其权利人所有。

产品截图

Android 已验收版本

首页 下拉 IP 场景 拍照识别 识别结果
Android 首页 下拉毛毛场景 拍照页面 识别结果
历史记录 单词本 我的绘本 绘本阅读器
历史记录 单词本 我的绘本 绘本阅读器

核心能力

  • 拍照识词:拍照或从相册选择物品;iOS 使用 Apple Vision 在本机分类,原始照片不上传。
  • 中英文界面:iOS 按系统语言显示英文或简体中文,权限说明、错误提示和动态文案均已本地化。
  • 本机学习卡: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["绘本阅读与自动朗读"]
Loading

完整架构见 ARCHITECTURE.md。

快速开始

Android 原型与 iOS 生产链路的配置不同:Android 仍使用本地开发 Key;iOS 1.0.0 不使用供应商 Key或服务端。

Android

要求:

  • 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 assembleDebug

Debug APK:

android/app/build/outputs/apk/debug/app-debug.apk

更多说明见 android/README.md。

iOS

要求:

  • 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 上传不要求开发者本人持有实体 iPhone;正式发布前仍建议通过 TestFlight 完成真机相机与语音验收。
  • 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
  • 不使用惊悚、神秘符号或深色恐怖视觉

许可

当前仓库暂未声明开源许可证。未经授权,不代表允许商用或再分发。