# 0.2.2:修复服务商列表为空 ## 原因与修复 0.2.1 的前端先注册了模型能力远程接口,但页面仍在只声明 `remote`(远程服务入口)依赖的父作用域内调用 `remote.documentReaderModels`(文档读取插件的模型目录服务)。Cordis 会拒绝未声明的服务访问,实际错误为: ```text cannot get property "remote.documentReaderModels" without inject ``` 意思是:未声明依赖,无法读取该模型目录服务。此前页面捕获错误后清空列表,因此出现连服务商也无法选择的现象;这与用户模型配置无关。 0.2.2 在注册接口之后创建明确依赖模型目录服务的子作用域,并由该子作用域注册和渲染配置页面。顺序不能倒置:如果把尚未注册的接口直接加入外层必需依赖,插件会等待自身创建接口,无法启动。 同时区分远程请求失败与本地接口未就绪:请求失败时显示错误代码,不再只给出笼统的模型列表加载失败提示。继续保留图片能力筛选,不把未知能力的模型当作图片模型。 ## 升级 停止 DSH,将完整源码更新到原插件目录。在插件目录执行: ```powershell pnpm install --frozen-lockfile pnpm build ``` 使用原命令重启 DSH,然后刷新浏览器。源码安装路径未变化时无需重新添加插件;无需重建 Python 环境,也无需修改现有服务商和模型配置。 在配置页面选择服务商 `codeagent` 和图片模型 `codeagent/Qwen3.6-27B-CodeAgent-VL`。保留模型的 `input: [text, image]`(输入类型:文字、图片)。 ## 验证与之前的测试遗漏 此前页面测试直接把根上下文传给组件。根上下文没有实际插件的依赖访问限制,因此即使接入真实模型服务和网关,仍漏掉了页面作用域错误。 本次改为: 1. 宿主通过 DSH 加载器加载编译后的插件主入口。 2. 前端通过原生模块加载格式读取编译产物,再由 Cordis 启动真正的插件作用域。 3. 渲染插件注册的配置页面,使用实际 `llm-pi-ai` 和此前反馈的七个模型配置。 4. 检查服务商列表、图片模型过滤、配置保存、版本冲突、远程请求失败提示及卸载清理。 这个测试在未修复的 0.2.1 上复现空列表并失败,修复后通过。构建与全部 24 项 Node 测试通过,0 项跳过。 界面测试使用模拟浏览器文档环境;物理通信使用进程内连接,宿主/前端网关和插件依赖检查使用真实实现。尚未在用户 Windows 浏览器或公司网关现场验收。本轮未修改 Python 转换代码与依赖。