2026-01-07 11:57:00 +08:00
2026-01-07 11:56:12 +08:00
2026-01-07 11:57:00 +08:00
2026-01-07 11:56:12 +08:00
2026-01-07 11:56:19 +08:00
2026-01-05 21:37:53 +01:00
2026-01-05 21:37:53 +01:00
2026-01-07 11:56:19 +08:00

往事拾遗 (Life Echo)

一个基于实时 WebSocket 长连接的语音对话回忆录生成系统。

项目结构

life-echo/
├── api/                    # 后端服务FastAPI
│   ├── agents/            # LangChain Agent
│   ├── database/          # 数据库模型和连接
│   ├── routers/          # API 路由
│   ├── services/         # 业务服务ASR、TTS、PDF
│   └── main.py           # FastAPI 应用入口
├── app-android/          # Android 应用
│   └── app/
│       └── src/main/java/com/huaga/life_echo/
│           ├── data/     # 数据层Room、Repository
│           ├── network/  # 网络层WebSocket、REST API
│           ├── ui/       # UI 层Compose
│           └── feature/  # 功能模块
└── doc/                  # 文档
    ├── 开发计划.md
    └── 数据库设计.md

快速开始

后端设置

  1. 安装依赖:
cd api
pip install -r requirements.txt
  1. 配置环境变量:
cp .env.example .env
# 编辑 .env 文件,填入 OPENAI_API_KEY
  1. 初始化数据库:
from api.database import init_db
init_db()
  1. 启动服务:
uvicorn api.main:app --reload --host 0.0.0.0 --port 8000

Android 设置

  1. 使用 Android Studio 打开 app-android 目录

  2. 同步 Gradle 依赖

  3. 配置 API 地址(如需要):

    • 编辑 app-android/app/src/main/java/com/huaga/life_echo/config/AppConfig.kt
    • 修改 BASE_URLWS_BASE_URL
  4. 运行应用

功能特性

  • 实时 WebSocket 长连接对话
  • 基于访谈问题的智能对话引导
  • 自动将口语整理为书面语章节
  • 基于传记结构的章节组织
  • PDF 导出功能
  • Android 本地数据存储

技术栈

后端:

  • FastAPI + WebSocket
  • LangChain对话 Agent + 整理 Agent
  • SQLAlchemy + SQLite
  • OpenAI APIASR、TTS、LLM

Android

  • Kotlin + Jetpack Compose
  • Ktor WebSocket Client
  • Room Database
  • Coroutines + Flow

开发计划

详细开发计划请查看 doc/开发计划.md

许可证

MIT License

Description
No description provided
Readme 14 MiB
Languages
Python 67.9%
TypeScript 25.4%
HTML 3.4%
CSS 1.4%
Shell 1.3%
Other 0.5%