AgentHarness 课程

第三十八课:Plugins 插件系统

2.7K字·7分钟·
插件安装/管理插件市场常用插件推荐

学习目标

  • 了解 Codex 插件系统的概念和架构
  • 掌握插件安装和管理的完整方法
  • 了解插件市场和常用插件
  • 学会开发自定义插件

一、插件系统概述

Codex 的插件系统让你可以扩展代理的功能。插件是独立的功能模块,可以添加新的工具、集成外部服务、自定义工作流或扩展 UI 功能。

1.1 插件的价值

插件系统的核心价值在于可扩展性。通过插件,你可以:

  • 添加新的工具能力,无需修改 Codex 核心代码
  • 集成外部服务,如 GitHub、Slack、数据库等
  • 自定义工作流,适应团队的特定需求
  • 扩展 UI 功能,改善用户体验

1.2 插件 vs MCP

插件和 MCP 都是扩展 Codex 功能的方式,但有区别:

方面插件MCP
运行方式内置运行,与 Codex 同进程独立进程,通过协议通信
配置方式插件配置文件服务器配置
功能范围广泛,可扩展 UI专注于工具调用
安装方式codex plugin add配置文件
性能更快,无进程间通信可能有延迟

二、管理命令

2.1 列出插件

codex plugin list

显示已安装的插件列表,包括名称、版本、状态、描述。

2.2 安装插件

codex plugin add <plugin-name>

从插件市场安装插件。安装过程:

  1. 从市场下载插件包
  2. 验证插件完整性
  3. 安装到本地
  4. 注册到 Codex

2.3 卸载插件

codex plugin remove <plugin-name>

卸载已安装的插件。卸载过程:

  1. 停止插件运行
  2. 清理插件资源
  3. 从注册表移除

2.4 更新插件

codex plugin update <plugin-name>

更新插件到最新版本。更新过程:

  1. 检查是否有新版本
  2. 下载新版本
  3. 备份旧版本
  4. 安装新版本
  5. 重启插件

三、插件市场

3.1 市场管理

codex plugin marketplace list    # 列出可用市场
codex plugin marketplace add     # 添加市场源
codex plugin marketplace upgrade # 升级市场

3.2 官方市场

Codex 官方市场提供经过审核的插件,保证质量和安全性。

3.3 社区市场

社区维护的市场,提供更多插件选择。使用社区市场时需要注意安全性。

四、常用插件

4.1 代码格式化插件

自动格式化代码,支持多种语言和风格。常见功能:

  • 保存时自动格式化
  • 支持 Prettier、ESLint 等工具
  • 可配置格式化规则

4.2 测试运行器插件

集成测试框架,自动运行和报告测试结果。常见功能:

  • 自动发现测试文件
  • 运行测试并报告结果
  • 监视模式,文件变更时自动运行

4.3 文档生成插件

自动生成代码文档,支持多种格式。常见功能:

  • 从代码注释生成文档
  • 支持 Markdown、HTML 等格式
  • 自动更新文档

4.4 部署工具插件

集成部署平台,自动化部署流程。常见功能:

  • 一键部署
  • 环境管理
  • 部署历史

4.5 代码审查插件

自动化代码审查,提供改进建议。常见功能:

  • 代码质量检查
  • 安全漏洞扫描
  • 性能优化建议

五、插件开发

5.1 插件结构

my-plugin/
├── package.json      # 插件元数据
├── index.ts          # 插件入口
├── tools/            # 工具定义
├── handlers/         # 事件处理
└── README.md         # 插件文档

5.2 插件接口

export default {
  name: "my-plugin",
  version: "1.0.0",
  description: "My custom plugin",
  tools: [{
    name: "my-tool",
    description: "My custom tool",
    handler: async (input) => {
      // 处理逻辑
      return result;
    }
  }],
  hooks: {
    "pre-run": async (context) => {
      // 任务开始前执行
    }
  }
};

5.3 注册工具

在插件中注册工具,定义工具的名称、描述、参数和处理函数。

5.4 处理事件

在插件中注册事件处理函数,在特定事件发生时执行自定义逻辑。

5.5 发布插件

将插件发布到市场:

  1. 编写插件代码
  2. 测试插件功能
  3. 编写文档
  4. 发布到市场

六、最佳实践

6.1 选择插件

  • 选择活跃维护的插件
  • 查看用户评价和下载量
  • 检查安全审计报告
  • 测试插件兼容性

6.2 管理插件

  • 定期更新插件
  • 移除不用的插件
  • 监控插件性能
  • 备份插件配置

6.3 开发插件

  • 遵循插件开发规范
  • 提供清晰的文档
  • 处理错误情况
  • 编写单元测试

七、本课小结

要点说明
插件系统扩展 Codex 功能的模块化方式
管理命令list/add/remove/update
插件市场官方和社区市场
常用插件格式化、测试、文档、部署、审查
插件开发注册工具、处理事件、发布市场

下一步

下一课我们将了解 Skills 技能系统。