跳转到内容

invalid config structure - OpenCode

Quick fix

修复更新顺序:仅在 OpenCode 实时配置写入成功后保存数据库行,写入失败时保留原记录。

报错原文
invalid config structure

OpenCode provider 的普通新增式更新分支会先保存数据库行,再调用实时配置写入器。若写入器因配置片段结构无效而返回错误,实时文件保持不变,但数据库已保留编辑后的名称和无效的 `settings_config`。

  1. 调整 OpenCode 的普通更新路径:在实时配置写入失败时恢复此前保存的 provider 行,或仅在实时写入成功后持久化该行。报告中的本地候选方案是将该写入结果接入现有 `keep_row_if_written` helper。

  2. 添加回归测试:导入已有 OpenCode provider 后编辑名称并将 `settings_config` 设为 `{"models": []}`;确认更新返回 `invalid config structure` 时,实时文件和数据库中的 provider 均保持更新前状态。

ToolOpenCode
Version未知
PlatformsLinux
Would a narrow OpenCode rollback fix with focused regression tests be welcome?
该报告提出了仅处理 OpenCode 普通更新写入失败后的回滚,并说明本地候选方案未改变 DB-only updates 或单独的 OMO paths;该 issue 仍为 open,尚无维护者确认。

这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。