SuperAPI AI 工具集

elizaos-plugin-developer

智能体与模型

查看项目

更新于 10-19 03:39

技能介绍

elizaOS Plugin Developer 是一个用于开发、调试、迁移、测试和打包 elizaOS TypeScript 插件的技能,适用于扩展 @elizaos/core 的插件、Action、Provider、Evaluator 与 Service。它强调基于目标项目实际使用的 @elizaos/core 接口进行开发,而不是混合公开示例与 develop 分支的代码。

用途与定位 该技能的核心目标是在真实项目的版本契约上工作。它要求先阅读项目说明、所属 README、包描述文件、锁文件、现有插件与测试,记录解析出的 core 版本以及宿主形态(嵌入式运行时、agent 宿主或应用宿主),再把该快照作为基线,而不是当作当前 npm 的最新版本。不进行编译或执行,通过已安装的声明文件和锁文件确认接口;必要时通过 HTTP/GitHub API 读取匹配的发布或标签源码。若目标未知,需要询问是已有项目及版本,还是基于 develop 的新工作,并以带标注的设计继续,而不是给出未经验证的直接替换代码。

主要能力 它按需求选择最小扩展组件:执行操作或外部变更用 Action;提供只读提示上下文用 Provider;维护客户端、连接或后台资源用 Service;提取轮次后结构化信息用 Evaluator;处理凭据、权限、确认与回执等横切策略;以及验证、集成、打包与分发。一个插件对应一个内聚关注点,复用已有服务而非并行管理连接,组件数组注册在导出的 Plugin 对象和服务类上而非实例上,并检查宿主的加载与导出约定。

使用方式 实现阶段要求从 @elizaos/core 导入公共类型,避免私有深层导入与复制的替代接口;使用精确的 action 描述与受支持的参数模式,从结构化输入读取参数并处理参数错误;在每个 handler 路径返回 ActionResult,区分已受理请求、预览与已验证的已提交效果;Provider 保持只读与授权,传播取消信号,不在上下文组装期间修改外部系统;明确 service 启停与插件初始化和释放的归属,清理定时器、关闭客户端并处理服务缺失。实现 Evaluator 前需重新核对,因为旧版 validate/handler 示例与锁定的 develop 流程不一致。承诺依赖顺序、优先级、热重载或初始化错误恢复前,需查看加载器;暴露 HTTP/UI 接口前需查看宿主 API,因为当前锁定的 Plugin 没有路由属性。

验证与交付 变更后先读测试参考再选择命令,在授权下运行所属项目的类型检查、构建和现有相关测试,仅针对变更行为添加聚焦测试。检查准入拒绝、配置或服务缺失、结构化输入、Provider 取消、服务清理、Evaluator 处理与外部失败等情形,在声称端到端成功前验证实际效果边界,不把 mock、类型检查或源码审阅当作运行时证据。调试加载按依赖与版本、包导出与构建入口、清单、宿主注册、服务就绪、按 agent 设置、授权与上下文选择、执行错误的顺序进行,且不打印完整配置来诊断凭据。发布或提议上游贡献前需阅读分发策略,外部包发布与官方注册表收录是分开的;上游目前拒绝第三方收录与提交工具,不应把插件开发作为创建上游 issue 或 PR 的副作用。最终需汇报目标任务所用的 core、宿主、CLI 版本与源码修订,变更的组件与文件,所需设置项名称而非值,实际检查与结果,未测试的运行时边界,兼容性注意事项与待定决策;仅在要求时发布,且不隐式更改凭据。

适用场景与限制 适用于在具体 elizaOS 项目中新增或维护插件组件、迁移接口、排查加载与运行问题、补充针对性测试,以及打包与分发准备。角色与人格编写不在此技能范围内,除非涉及插件注册与设置。不承诺未经检查的依赖顺序、热重载或路由能力;不执行上游代码仅用于研究 API;安装、迁移、付费调用或需要凭据的执行前需获得批准。