Files

40 lines
2.1 KiB
Markdown
Raw Permalink Normal View History

2026-08-26 06:41:07 +08:00
# 项目研发基线 V0.1
## 已冻结范围
- 自建云端负责设备身份、通话控制、家庭与长者业务、授权、数据治理、Agent编排和运行维护。
- 实时语音由设备、火山引擎RTC和豆包语音智能体直接传输,自建应用服务器不转发、不落盘。
- 录音在授权有效时由设备直接上传S3兼容对象存储,应用接口只签发短期授权并核验结果。
- PostgreSQL保存最终业务事实;Redis只保存可重建在线状态、租约、限流、幂等结果和短期缓存。
- 机器生成的故事和事实必须经过家庭用户核对,确认后才能成为正式记忆。
## 技术栈
| 层次 | 首版选择 |
|---|---|
| 后端 | Go模块化单体,`api`、`callbacks`、`worker`独立进程 |
| 前端 | React、TypeScript、Vite |
| 业务数据库 | PostgreSQL 16与pgvector |
| 缓存 | Redis 7 |
| 对象存储 | S3兼容存储,本地使用MinIO |
| 身份 | OIDC/OAuth 2.1;本地先使用模拟身份,接入方式保持可替换 |
| 接口 | REST/JSON、OpenAPI 3.1;状态通知使用SSE |
| 部署 | Docker、Docker Compose;后续接入环境流水线 |
## 第一批外部待确认项
以下内容不会阻止本地工程和模拟闭环开发,但会阻止真实设备及真实供应商验收:
1. 硬件设备身份材料、绑定码规则、固件接口和RTC能力。
2. 火山引擎RTC与豆包真实测试账号、区域、配额、回调签名和错误码。
3. 正式OIDC提供方、Claim映射、会话策略和多因素认证要求。
4. 生产对象存储、KMS、域名、证书、网络和数据驻留要求。
5. 授权文本、数据保留期、删除例外和运营审计规则的业务与法务确认。
## 配置和安全约定
- 仓库只提交`.env.example`,不提交`.env`、Token、证书、长期密钥和真实个人数据。
- 所有对外资源编号使用不可猜测标识;内部数据库标识不得作为可枚举接口编号。
- 请求使用`X-Request-Id`关联;修改类接口逐步接入`Idempotency-Key`。
- 数据库事务中不调用外部网络服务,外部副作用使用outbox衔接。