跳到正文

博客

新版发布

Chimera Agent 0.45.1 修复了 Docker 无头启动崩溃问题

v0.45.1 解决了一个关键的 Docker 部署问题,该问题导致无头实例因 FastAPI 的急切导入链而无法启动。

我们自己写的、关于我们某个版本的文字。 在 GitHub 上阅读这条 release

Docker 部署不再在启动时崩溃

Chimera Agent 0.45.0 引入了一个回归问题,导致运行网关服务的无头 Docker 容器在启动时立即崩溃。该问题的原因是 cron 路径开始导入 chimera.api.usage,从而触发了 FastAPI 依赖的急切导入 —— 尽管 Docker 镜像特意没有包含 desktop 扩展包。

这个问题在测试中未被发现,因为开发环境通常已经安装了 FastAPI。现有的 2,945 个测试全部通过,因为它们运行在依赖项恰好存在的环境中。该故障仅在使用了精简 .[full] 安装的生产部署中显现。

延迟导入防止隐藏依赖

此次修复解决了根本原因,而不仅仅是添加缺失的依赖项。之前,chimera/api 中的五个 CLI 可访问的叶子模块通过 __init__.py 中的急切重新导出,默默地引入了整个 Web 堆栈。v0.45.1 将这些导入改为延迟加载,因此它们仅在 Web 组件实际需要时才会加载。

这保持了文档中描述的核心 CLI/网关不应依赖 Web 依赖项的分离性,同时仍确保在 FastAPI 缺失时,chimera app 会在合法的 Web 使用场景中明确报错。

新测试防止回归

现在,一个专门的测试通过在一个子进程中运行来验证此行为,其中 fastapi 被故意设置为不可导入。该测试首先确认此环境设置有效,然后再进行其他断言 —— 捕捉因环境污染而静默通过测试的情况。

该修复已在干净的 .[full] 安装中进行了端到端验证。无头 Docker 部署现在可以按预期运行 serve --cron

对于受此问题影响的现有部署,请升级到 v0.45.1。[发布说明]Chimera Agent v0.45.1 包含了从 v0.45.0 开始的所有变更的详细信息。

https://chimeraagent.space