Files
life-echo/README.md
2026-01-07 11:56:19 +08:00

97 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 往事拾遗 (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. 安装依赖:
```bash
cd api
pip install -r requirements.txt
```
2. 配置环境变量:
```bash
cp .env.example .env
# 编辑 .env 文件,填入 OPENAI_API_KEY
```
3. 初始化数据库:
```python
from api.database import init_db
init_db()
```
4. 启动服务:
```bash
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_URL``WS_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](docs/开发计划.md)
## 许可证
MIT License