🔧 插件开发
🌟 核心架构
OPENUGC
采用浏览器扩展技术实现:
- 基于
JavaScript
执行引擎 - 支持动态接口调用
- 实现表单自动提交
- 完成数据智能分析
💡 技术定位:Agent + MCP
混合架构
每个插件都是一个独立MCP服务,包含:
- 功能工具集
- 工具语义描述
- 调用接口规范
🛠️ 服务创建表单
字段 | 说明 | 示例 | 必填 |
---|---|---|---|
服务名称 | 目标网站简称 | 百度一下 | ✅ |
版本号 | 推荐日期格式 | 0.6.26 (2025/6/26) | ✅ |
服务描述 | 核心功能说明 | 提供百度搜索相关服务 | ✅ |
目标URL | 脚本执行页面 | https://www.baidu.com/ | ✅ |
图标地址 | 服务标识 | https://www.baidu.com/favicon.ico | ✅ |
提示词 | AI交互优化 | 可用于百度搜索相关操作 | ❌ |
⚡ 高级功能(可选)
// 预注入脚本示例(用于HOOK函数)window._originalFetch = window.fetch;window.fetch = async (...args) => { // 自定义拦截逻辑 return _originalFetch(...args);};
🔨 工具开发规范
字段 | 说明 | 示例 | 必填 |
---|---|---|---|
工具名称 | 功能语义化命名 | 获取百度热搜 | ✅ |
工具说明 | 详细功能描述 | 获取实时百度热搜榜单 | ✅ |
参数定义 | 输入参数规范 | {limit: 数量} | ✅ |
// 标准工具代码模板async (args) => { // 参数解构 const { keyword, count = 10 } = args;
// 异步操作示例 return new Promise(async (resolve) => { const results = await fetchSearchAPI(keyword, count); resolve({ status: "success", data: results }); });}
🚀 服务部署流程
- 完成服务配置后点击保存
- 对话界面使用
@
触发服务 - 首次使用需手动启动服务
- 更新后需重启服务生效
💡 专业建议:
- 使用
try-catch
处理异常 - 返回结构化数据便于AI解析
- 复杂操作建议分步Promise处理
- 重要操作添加超时机制