这个项目能做什么

S.A.G.A. (Story Analysis, Generation, and Archives) 被描述为一种具备正典意识的叙事智能,用于分析、检索、时间线构建和故事生成。该项目并非单一的庞大应用程序,而是组织为一个由合约驱动的可复用运行时集合。 功能 README 指出,S.A.G.A. 能将源书分析为有证据支撑的正典,生成基于正典的故事和视觉资产,合成经过审核的有声书,并打包发布制品。其生产编排路径被记录为以下序列:源数据摄取与分析基础;Modal XCore LitBank 身份解析;正典提取;角色与世界建模;生成规划;叙事生成与语义支持;视觉生成与图像 QA;有声书合成与转录 QA;最后是 EPUB、清单、血缘关系和资格报告。 架构 活跃的源码树包含四个主要界面: - packages/ —— 独立的运行时包,涵盖代理、推理、检索、持久化、执行、身份、媒体生成、可观测性、血缘、资格验证和部署。 - integrations/ —— ComfyUI、Kokoro TTS 以及 Modal 上 XCore LitBank 的提供商实现。 - apps/dashboard_api/ —— 一个无状态的 FastAPI 控制与查询界面。 - apps/dashboard_pro/ —— 一个 React 操作员控制面板。 Supabase Postgres、pgvector 和对象存储作为 packages/persistence_runtime 背后的持久化提供商。LangGraph 的执行由 packages/agent_runtime 负责。提供商凭据保存在持久化或部署密钥存储中,并注入到运行时中,而非提交至源码控制系统。 一个显著的设计决策是将早期的实现作为惰性参考资料保留在 backup/reference/ 下。活跃代码被禁止导入该部分,且此边界由自动化的架构边界测试强制执行。其他文档文件涵盖了存储架构和架构加固审计。 开发工作流 Python 依赖项使用 uv 锁定,记录的命令为: uv sync --frozen --extra dev uv run pytest -q 控制面板的开发在 apps/dashboard_pro 内部通过 npm ci、npm test -- --run 和 npm run build 处理。在配置 Supabase 环境后,通过 uv run saga-runtime-api 启动 API。 生产与运维 生产拓扑和运维位于 deploy/production/ 下,并在 docs/deployment_operations.md 中记录。部署被分为 API、工作节点 (workers)、调度器、可观测性、前端、迁移和遥测收集器的独立进程。提供了一个 docker compose 工作流用于配置验证和启动。 容器基础镜像和 OpenTelemetry 收集器通过摘要 (digest) 固定。CI 从 main 分支发布运行时和控制面板镜像,拒绝现有版本标签,创建来源证明,并存储包含提交记录和镜像摘要的发布清单。生产环境的晋升被描述为“故障关闭”模式,除非部署清单具有干净的已提交源码来源证明。 文档索引 README 指向 docs/system_agent_roadmap.md 和 docs/production_qualification.md 以了解实现和资格验证状态,以及关于部署(构建、滚动更新、回滚、备份、恢复)、运行时密钥所有权、存储合约与提供商边界、端到端编排、认可的真实书籍资格证据以及架构完整性审计的运维参考。 评估 该仓库最好被理解为一种用于基于正典的叙事生产的基础设施:它将针对源书的检索和身份解析与文本、图像和音频的生成阶段相结合,并以发布打包和面向来源证明的 CI 结尾。README 侧重于架构和运维合约细节,并未发布基准测试或质量声明;其能力陈述应结合其引用的资格验证文档进行阅读。