Files
story/docs/project-baseline.md
T

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;后续接入环境流水线

第一批外部待确认项

以下内容不会阻止本地工程和模拟闭环开发,但会阻止真实设备及真实供应商验收:

  1. 硬件设备身份材料、绑定码规则、固件接口和RTC能力。
  2. 火山引擎RTC与豆包真实测试账号、区域、配额、回调签名和错误码。
  3. 正式OIDC提供方、Claim映射、会话策略和多因素认证要求。
  4. 生产对象存储、KMS、域名、证书、网络和数据驻留要求。
  5. 授权文本、数据保留期、删除例外和运营审计规则的业务与法务确认。

配置和安全约定

  • 仓库只提交.env.example,不提交.env、Token、证书、长期密钥和真实个人数据。
  • 所有对外资源编号使用不可猜测标识;内部数据库标识不得作为可枚举接口编号。
  • 请求使用X-Request-Id关联;修改类接口逐步接入Idempotency-Key。
  • 数据库事务中不调用外部网络服务,外部副作用使用outbox衔接。