-
Notifications
You must be signed in to change notification settings - Fork 1
Plugin Inventory zh
上游插件状态投影和组合查看器——为什么 Edge 设置页没有插件列表。
无对应的上游文档页。包:
@deepseek-ai/dsh-host-plugin-inventory+@deepseek-ai/dsh-cordis-host-runner
两个包协同工作,将运行时插件图暴露给浏览器:
-
dsh-host-plugin-inventory — 当前 cordis Loader 插件状态的只读 Typert Remote 投影。暴露
pluginInventory/list端点,返回每个已加载包的版本、信任级别和活跃状态。- dsh-cordis-host-runner — 动态包定义注册表,管理宿主侧沙箱生命周期和模型挂载双半包的 invoke handler。提供清单服务读取的运行时数据。
客户端插件 dsh-client-ui-agent-preset(包含在 Edge 的 33 插件包中)消费这些数据来渲染设置页的 preset 组合查看器和插件列表。
**未实现。**两个包均未安装。影响:
- 设置页插件列表为空——客户端通过 Typert Remote 调用
pluginInventory/list但服务端没有提供者,网关返回错误。- Edge 在
edge-api.ts中硬编码单个 preset'dsh-edge'。agentPresets.listhandler 返回一个trust: 'system'、authorable: false、hasDocument: false的 preset。 -
agentPresets.readhandler 从运行时状态生成合成 YAML 描述(已安装插件、部署配置、模型配置)。
- Edge 在
Edge 使用静态组装而非动态加载。所有插件在部署时由 assemble-standalone-web.mjs 预构建,通过 expected-boot-graph.json 验证,作为 Cloudflare Assets 分发。没有 cordis Loader,没有运行时包发现,没有 per-session preset 切换。插件清单服务没有东西可读,因为它依赖的加载基础设施不存在。
这是有意的架构选择:静态组装消除了冷启动插件解析,保持 bundle 确定性,避免 Workers 中受限的动态 import()。
| 组件 | 状态 | Edge 方式 |
|---|---|---|
| dsh-host-plugin-inventory | 🚫 未安装 | 没有 loader 可读 |
| dsh-cordis-host-runner | 🚫 未安装 | 没有动态包 |
| dsh-client-ui-agent-preset | ✅ 在 bundle 中 | 显示硬编码的 'dsh-edge' preset |
| agentPresets API | 单个 preset,无 YAML 文件 |
关键观察:插件清单的缺失是 Edge 静态组装模型的必然结果——不是需要修复的遗漏功能。安装清单服务需要动态 loader 基础设施,这与 Edge 的确定性 bundle 方式冲突。前进方向不是添加动态加载,而是提供一个静态清单投影来报告构建时的插件列表。
**评估静态插件清单投影。**一个轻量适配器可以读取构建时的插件列表(来自
expected-boot-graph.json或组装清单),暴露为 Typert Remote 端点,这样设置页就能显示当前组合而不需要完整的动态 loader。这会满足pluginInventory/list的客户端调用而不改变静态组装模型。所有 plan 可用。
**与 Agent Presets 的关系(#43)。**如果 Edge 将来支持多个 preset(每个 session 不同的工具集),清单和 loader 基础设施需要重新考虑。参见 #43 的 preset 系统调研。
- Home
- Architecture
- Core & Scope
- Session & Persistence
- Model & Context
-
Execution & Tools
- Tools
- Bash
- Subprocess 🚫
- PTY Session 🚫
- Background Jobs 🚫
- Filesystem
- LSP Navigation 🚫
- Code Runtime 🚫
-
Web Access
⚠️ -
Skills
⚠️ - Workflow 🚫
- Subagent 🚫
-
Policy & Interaction
- Goal
- Approval 🚫
- Permission Presets 🚫
-
Sandbox
⚠️ - Plan Mode 🚫
- User Interaction 🚫
- Commands 🚫
- Schedule 🚫
- Message Feedback 🚫
- Platform & Access
- Development
- 首页
- 架构
- 核心与作用域
- 会话与持久化
- 模型与上下文
- 执行与工具
- 策略与交互
- 平台与接入
- 开发