2.1 KiB
2.1 KiB
项目研发基线 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;后续接入环境流水线 |
第一批外部待确认项
以下内容不会阻止本地工程和模拟闭环开发,但会阻止真实设备及真实供应商验收:
- 硬件设备身份材料、绑定码规则、固件接口和RTC能力。
- 火山引擎RTC与豆包真实测试账号、区域、配额、回调签名和错误码。
- 正式OIDC提供方、Claim映射、会话策略和多因素认证要求。
- 生产对象存储、KMS、域名、证书、网络和数据驻留要求。
- 授权文本、数据保留期、删除例外和运营审计规则的业务与法务确认。
配置和安全约定
- 仓库只提交
.env.example,不提交.env、Token、证书、长期密钥和真实个人数据。 - 所有对外资源编号使用不可猜测标识;内部数据库标识不得作为可枚举接口编号。
- 请求使用
X-Request-Id关联;修改类接口逐步接入Idempotency-Key。 - 数据库事务中不调用外部网络服务,外部副作用使用outbox衔接。