nico9800000/oxygen-squeeze
0
氧气捏捏 🫧
把每天通勤听的 AI 播客,捏成属于你自己的认知框架。
贴一条播客链接,AI 提炼成可滑动的知识卡片,并自动归入「AI 认知 / 行业知识 / 产品思维 / 趋势与商业」四大类,随听随长成一座私人知识书架。
下载与安装
📱 安卓
到 Releases 页,下载最新版的 氧气捏捏-vX.X.apk,在手机上打开安装(需在系统设置里允许「安装未知来源应用」)。
🍎 iPhone / iPad
用 Safari 打开已部署的网址 → 点底部「分享」→「添加到主屏幕」。之后从桌面图标进入,就是全屏 App 体验(PWA)。
两个平台都需要先部署后端(见下文),App 才能联网工作。
技术架构
React PWA ──┐
├─► FastAPI ──► DeepSeek API
Android APK ─┘ (同时托管 PWA 静态资源)
(Capacitor) 仅做转录与分析计算
↓
IndexedDB 本机存储- 前端:React + Vite + Framer Motion,可装为 PWA,也用 Capacitor 打包成安卓 APK
- 后端:FastAPI,抓取小宇宙 / Apple Podcasts 节目信息,调用 DeepSeek 提炼洞察
- 存储:浏览器 / Capacitor WebView 的 IndexedDB。画像、播客卡片、反思回答和统计只保存在当前设备;不同设备不会互相看到数据,同一设备重新打开 App 后仍会保留。
- 一个部署搞定:后端同时对外提供
/api/*和可安装的 PWA
部署后端(免费)
- 把仓库 push 到你的 GitHub
- 登录 render.com → New → Blueprint → 连接此仓库(会自动读取
render.yaml) - 部署时在服务的 Environment 里填入
DEEPSEEK_API_KEY(从 platform.deepseek.com 获取) - 部署完成后得到一个网址,如
https://oxygen-squeeze.onrender.com - 这个网址直接就能在手机浏览器打开、添加到主屏幕(PWA)
让 APK 也连上后端
APK 是离线打包的,需要在打包时写入后端地址:
- GitHub 仓库 → Settings → Secrets and variables → Actions → Variables
- 新建变量
VITE_API_BASE,值填后端网址(如上面的 Render 地址) - 打一个新 tag(见下文),CI 会用这个地址重新构建 APK
发布新版本
git tag v1.0
git push origin v1.0打 tag 后,GitHub Actions 会自动在云端构建 APK 并创建一个 Release,把 .apk 挂上去。
本地开发
# 后端
cd backend
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
echo "DEEPSEEK_API_KEY=你的key" > .env
uvicorn main:app --reload --port 8000
# 前端(另开一个终端)
cd frontend
npm install
npm run dev # http://localhost:5173说明
- 服务端不保存个人知识数据。音频转录、DeepSeek 分析和框架生成仅在请求期间处理,语音回答的临时音频会在请求结束后删除。
- 本机数据依赖浏览器 / App 存储:清除站点数据、卸载 App、无痕模式或更换浏览器会得到一份新的独立空间;当前版本不做跨设备同步。
- APK 为 debug 包,安装时系统会提示来源未知,属正常。正式上架应用商店需各自的开发者账号与签名。
