Repository navigation
Entari WebUI 1.1.1
配置编辑
- 保存不再把模型默认值写回配置文件。 配置文件里原本没有的字段,即使表单里显示了默认值,也不会在保存后变成显式配置。
- 默认值在表单中只作为 placeholder / “默认: xxx” 提示;点击“恢复默认值”会删除该字段,而不是写入默认值。
- 保存改为字段级 diff,只应用真正发生变化的字段,不再整段重建配置。
- 尽量保留原有注释、键顺序和结构;列表增删、移动时不会重建未变化的字典项。
- 修复编辑列表后
${{ env.xxx }}插值重复或丢失的问题。 - 支持
$files单文件/目录、子插件、$disable、$optional等配置形态。 GET /api/config/basic现在返回文件中的原始配置,不再混入模型默认值。
热重载与插件生命周期
- 保存配置后通过
ConfigModify立即应用,无需再手动点击“重载”。 - 启用、禁用、卸载、重新加载插件统一走配置写入 + apply 流程,不再出现“配置文件已改、运行时没变”的状态。
- 外部直接修改配置文件仍然由 auto_reload 接管。
- 保存响应会返回 apply 结果;部分插件应用失败时,前端会显示具体插件和错误信息。
插件管理
- 切换插件时立即清除上一个插件的详情,不再短暂显示旧描述、版本、作者等元数据。
- 快速连续切换时,过期的详情请求会被丢弃,不会覆盖当前插件。
- 修正插件头部描述与右侧按钮之间缺少间距的问题。
- 插件详情中的市场包查询改用
importlib.metadata,不再每次启动pip/pdm list子进程;实测查询耗时从约 0.86s 降到约 0.05s。 - 修复目录型
$files在计算 ETag 时崩溃的问题。
API 与兼容性
PUT /api/config/{section}和PUT /api/plugins/{id}/config现在要求If-Match:- 缺失返回
428 Precondition Required - ETag 不匹配返回
409 Conflict
- 缺失返回
PUT按整段替换语义处理,未提交的字段会被视为删除;不再做隐式 merge。- 保存响应新增
apply报告、最新data和etag。 - 前端保存时会携带 ETag,并在 409/428 时提示刷新或重新加载,避免静默覆盖外部修改。
升级注意
- 需要将
arclet-entari升级到0.19.2或更高版本。
Full Changelog: v1.1.0...v1.1.1