Route all memory ingest/retrieve/enrichment/compaction through async MemoryService. Remove legacy sync memory implementations (ingest/retrieve/compaction); Celery and memoir Phase2 call asyncio.run into MemoryService-backed helpers. Memoir Phase1 batch ingest uses MemoryService.ingest_transcripts_batch; drop chapters. evidence_bundle_json mirror (Alembic 0015). Evaluation uses snapshot/link-only bundles; raise EvidenceClosureMissing instead of partial/fallback lineage tiers. Split memoir state into NarrativeCoverageState and InterviewControlState; delete the _interview_meta_store adapter layer. Remove rolling-query and recent-fact fallback settings from config and evidence assembly. Update judges, docs, tests, and PlaygroundPage alignment. Made-with: Cursor
内部评测 Web(Life Echo)
独立 Vite + React 控制台,对接 app.internal_main:internal_app。路由含 Playground(分步测评)、Memoir、Memoir · Stories、实机联调(#live,主站 JWT + WS)。
部署范围(重要)
本目录 仅用于本地开发:在开发者机器上 npm run dev,依赖 Vite 将 /internal、/api、/ws 代理到本机后端。不提供生产或预发环境的 Docker 镜像,不随 api/docker-compose.yml 部署到 Staging/Production;切勿将 dist/ 或自建镜像发布到线上。
环境变量
VITE_EVAL_API_BASE— 内部评测 API 根(可选;开发留空则走 Vite 代理,默认:7999)VITE_EVAL_API_KEY— 与后端INTERNAL_EVAL_API_KEY相同VITE_MAIN_API_BASE/VITE_MAIN_API_PROXY_TARGET— 实机联调用主站 API(见api/docs/internal-eval.md)
开发
npm install
VITE_EVAL_API_BASE=http://127.0.0.1:7999 VITE_EVAL_API_KEY=your-secret npm run dev
浏览器打开提示的端口(默认 5174)。仓库根目录亦可:npm run eval-web。
生产构建(仅限本地检查,非部署产物)
npm run build 仅可用于本地验证 TypeScript/打包是否通过;不作为预发/生产发布步骤。正式联调请始终使用 npm run dev(以便代理与热更新)。
对话流式评审使用带 X-Internal-Eval-Key 的 fetch(见 api/docs/internal-eval.md)。