Learning Echo 插件¶
Handbook · Plugin contract · Testing
此包是受管插件运行时的参考实现。它声明了一个 Tool、一个 Capability、一条 HTTP 路由和一个静态前端页面。该页面仅请求 sandboxed-iframe UI 权限;此包没有任何 Python 依赖。
包布局¶
- Manifest: 插件标识、权限以及四个扩展声明。
- Worker: 描述、工具执行、Capability 流式输出以及 JSON HTTP 响应。
- Page manifest: 显式的静态资源闭包;index.html 和 app.js 实现了沙盒页面。
- Build metadata: 打包 worker、manifest 和资源。
构建与检查¶
从仓库根目录构建一个本地 wheel:
使用一次性的 DEEPTUTOR_HOME,然后使用生成的 wheel 路径运行 deeptutor plugin install,并通过以下命令检查:
在调用 deeptutor plugin approve org.deeptutor.learning_echo 之前,请先检查 manifest 和构件;如果插件被禁用,请显式启用它。已安装和已批准是两种不同的状态。安装步骤会在导入插件代码之前读取 deeptutor.plugin.json,并创建一个插件私有的虚拟环境。
批准并启用后,页面可通过 /api/plugins/org.deeptutor.learning_echo/pages/learning_echo_page/ 访问。其入口和资源闭包在 learning_echo/frontend/page.json 中声明。
在启用主机认证的情况下,打开该页面或其 public HTTP 路由仍需要主机会话。页面的 CSP 会阻止任意的网络访问;这不是一个注入主机前端代码的示例。
验证与适配¶
在仓库根目录下:
这些测试使用此包作为 worker/page 测试夹具。在移动或更改该示例时,请保留这些测试。对于新插件,请选择不同的包/manifest 标识,声明实际所需的权限和依赖闭包,并测试失败、取消、禁用状态以及升级后的重新批准。有关信任限制和回滚行为,请参阅插件指南。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 dee/DeepTutor