#337·plandex

在模型验证初始化中,将 panic() 替换为错误返回

作者: 1Ckpwee创建于 2026年4月8日更新于 2026年4月8日

□ 问题

app/shared/ai models option.go'中,init ()'函数使用12个`panic ()'调用,在启动时验证模型配置(约667-711行)。 如果任何模型配置不完全——例如缺少描述或默认的最大符号——整个应用程序立即崩溃,没有机会进行优雅的错误处理或方便用户的通讯.

示例图案 : 开始 如果模型Config。 说明=""{ 恐慌("...") {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?


这尤其成问题,因为:
1. 添加自定义模型或修改配置的用户会遇到不透明的崩溃,没有恢复路径
2. 恐慌追踪不方便用户——显示 内部指导而不是可采取行动的指导
3. 防止部分启动(例如,跳过一个配置错误的模型,但继续有效模型)

同样,`app/server/db/fs.go:15'和`app/server/db/git.go:28'在进入时感到恐慌,如果找不到或没有安装主目录,而不是返回错误。

□ 建议的解决办法

- 用返回`错误'的验证函数取代`泛()'调用
- 在服务器启动时调用验证, 为无效的模型日志警告, 并优雅地跳过它们
- 对于关键依赖(git, home dir),在启动时返回清晰的错误信息,而不是惊慌失措

这将使Plandex在环境设置可能各不相同的地方更有力地用于自备部署.

内容来源: plandex-ai/plandex