插件服务
介绍
我们通过浏览器扩展技术,使OPENUGC
能够无缝对接各类网页。该方案基于JavaScript
执行机制,可在目标页面直接获取数据并实现动态接口调用、表单提交模拟及自动化数据分析等功能。
你可以将OPENUGC
的插件服务,理解为Agent+MCP
,每个插件都是一个MCP服务,服务提供各类功能的工具,并能让大模型理解工具的作用,以及如何调用。
创建服务
表单 | 说明 | 示例 |
---|---|---|
服务名称 | 插件服务的名称,一般是目标网站的名称 | 百度一下 |
版本信息 | x.x.x格式,我习惯用日期,比如今天2025/06/26,版本号为:0.6.26 | 0.6.26 |
介绍信息 | 让使用者知道这个插件服务是干嘛的,能提供什么 | 提供百度搜索相关服务 |
目标URL地址 | 在启动插件服务的时候,打开的URL地址,后续的工具代码将会注入在这个页面执行 | https://www.baidu.com/ |
Favicon地址 | 插件服务的图标 | https://www.baidu.com/favicon.ico |
自定义提示词 | 默认不需要填写。填写可以让大模型能够更理解当前插件服务,比如一些使用注意说明等 | 你可以使用本服务进行百度的相关功能操作 |
注入脚本
针对一些特殊的网页,我们可能需要在加载之前就执行我们的JS代码,以达到HOOK某个函数,获取内部API等功能方便后续调用。 注入脚本为非必填项目,属于高级用法,普通开发者请忽略。
创建工具
表单 | 说明 | 示例 |
---|---|---|
工具名称 | 工具的名称,要求简短、明确,让AI能够更理解 | 获取百度搜索列表 |
工具说明 | 明确该工具的用途、使用事项等,让AI理解需要 | 根据用户的关键词,进行百度搜索,并获取搜索的结果 |
参数 | 比如要搜索的关键词、搜索的条数,这些就是参数 | keyword、count |
工具执行代码
工具执行代码,是一个异步JS函数,由async (args) => {
开头,由}
结尾,中间是用户的自定义代码,在目标网页上执行,请严格遵守代码规范。
你可以在这个函数里,使用await
操作,也可以直接返回一个数据(默认字符串、object)。
如果是需要异步执行的操作,比如请求一个接口,那么,返回promise
更合适。
示例:
async (args) => { const { keyword, count } = args; return new Promise(async (RES) => { const data = await fetch(`/data?keyword=${keyword}&count=${count}`); return RES(data); })}
使用插件服务
保存插件服务后,即可在对话中,按下@
选择启动插件服务(如果已经启动了,更新后需要手动关闭并重新启动)
就可以让大模型理解当前的插件服务和可使用的工具,并根据你的需求进行工具调用了。