From c19db2ae3b5b169a1c94af47619e448defbb4bc6 Mon Sep 17 00:00:00 2001 From: baiyu-yu <135424680+baiyu-yu@users.noreply.github.com> Date: Mon, 8 Dec 2025 00:11:21 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20readme=E6=9B=B4=E6=96=B0=E5=88=B0?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 191 ++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 128 insertions(+), 63 deletions(-) diff --git a/README.md b/README.md index a62635a..67c9f31 100644 --- a/README.md +++ b/README.md @@ -28,21 +28,24 @@ - [依赖下载](#依赖下载) - [安装](#安装) - [⚙️ 配置手册](#️-配置手册) - - [基础设置](#基础) - - [对话设置](#对话) - - [函数调用设置](#函数调用) - - [消息接收与触发设置](#消息接收与触发) - - [回复设置](#回复) - - [图片设置](#图片) - - [后端设置](#后端) + - [基础](#基础) + - [对话](#对话) + - [函数调用](#函数调用) + - [消息接收与触发](#消息接收与触发) + - [回复](#回复) + - [图片](#图片) + - [后端](#后端) + - [记忆](#记忆) - [💻 完整命令手册](#-完整命令手册) - [管理员命令](#管理员命令) - [基础控制命令](#基础控制命令) - [记忆管理命令](#记忆管理命令) - [工具管理命令](#工具管理命令) - - [忽略名单命令](#忽略名单相关命令) + - [忽略名单相关命令](#忽略名单相关命令) - [token计数(管理员命令)](#token计数管理员命令) - [图片相关命令](#图片相关命令) + - [定时器相关(管理员命令)](#定时器相关管理员命令) + - [| `.ai timer clr` | - | 清除所有定时任务 |](#-ai-timer-clr----------------------------------------------------------------清除所有定时任务--------------------------) - [可用工具函数示例](#可用工具函数示例) - [🚨 注意事项](#-注意事项) - [常见问题处理](#常见问题处理) @@ -77,7 +80,7 @@ AI骰娘4是一款面向TRPG玩家(吗?)的智能对话插件,基于Open ### 下载 -- 通过GitHub下载最新稳定版:[下载链接](https://github.com/baiyu-yu/plug-in/blob/main/aiplugin4.js) +- 通过GitHub下载最新稳定版:[下载链接](https://github.com/error2913/aiplugin4/releases/download) - 通过GitHub下载后自编译最新开发版: @@ -95,7 +98,9 @@ AI骰娘4是一款面向TRPG玩家(吗?)的智能对话插件,基于Open - 通过GitHub下载最新版:[aitts依赖插件](https://github.com/baiyu-yu/plug-in/blob/main/AITTS.js) -- 通过GitHub下载最新版:[http依赖插件](https://github.com/error2913/sealdice-js/blob/main/HTTP%E4%BE%9D%E8%B5%96.js) +- 通过GitHub下载最新版: + [ob11网络连接依赖.js](https://raw.githubusercontent.com/error2913/sealdice-plugin-ob11-net-connection/refs/heads/main/dist/ob11%E7%BD%91%E7%BB%9C%E8%BF%9E%E6%8E%A5%E4%BE%9D%E8%B5%96.js)(推荐) + [http依赖插件](https://github.com/error2913/sealdice-js/blob/main/HTTP%E4%BE%9D%E8%B5%96.js) - 通过GitHub下载最新版:[AIDrawing依赖插件](https://github.com/baiyu-yu/plug-in/blob/main/AIDrawing.js) @@ -117,6 +122,7 @@ AI骰娘4是一款面向TRPG玩家(吗?)的智能对话插件,基于Open | url地址 | 大语言模型的请求地址,一般在大模型平台的文档中会写出,或者参考下面列出的场景大模型请求地址,通常以`/chat/completions`结尾 | | API Key | 在ai的开放平台中获取,请注意个别开放平台会有多个API Key用于不同情况,请注意选择HTTP调用的API Key,未说明可能没做区分,直接**完整**复制入 | | body | 请求体设置,注意在书写字符串时,使用**英文半角双引号**。具体参数还请查看自己使用的模型的接口文档,下表是简单的解释 | +| 请求超时时限/ms | 设置API请求的超时时间,单位为毫秒,防止API卡住 | > | body默认值 | 说明 | > |:-------------------------:|:--------------------------------------------------------------------------------------------------------------------------:| @@ -135,11 +141,14 @@ AI骰娘4是一款面向TRPG玩家(吗?)的智能对话插件,基于Open | 设置项 | 说明 | |:-----------------------:|:------------------------------------------------------------------------------:| -| 角色设定 | ai的扮演设定,按照豹语变量`$g人工智能插件专用角色设定序号`进行选择,序号从0开始,可自行设置自定义回复切换角色设定,或者用指令`.ai role`切换 | +| 角色设定名称 | 角色设定名称,用于切换角色设定,可自行设置,与角色设定一一对应。会自动赋值给豹语变量`$gSYSPROMPT`,可自行设置自定义回复切换角色设定,或者用指令`.ai role <角色设定名称>`切换 | +| 角色设定 | ai的扮演设定,与角色设定名称一一对应 | +| system消息模板 | 系统消息的拼接模板,一般不需要修改,如果更新后发现新增功能ai并不清楚,可以点刷子还原一下这里 | | 示例对话 | 顺序为用户和AI回复轮流出现,可用于提供扮演示例,位于上下文最前面,不会被上下文机制删除 | | 是否在消息内添加前缀 | 添加消息来源,如 from:土豆 | | 是否给AI展示数字号码 | 添加消息来源的数字ID,如 from:土豆(114514) | | 是否在消息内添加消息ID | 添加消息ID,用于执行**引用**、**撤回**、**查看**等操作 | +| 是否在消息内添加发送时间 | 添加消息来源的时间 | | 是否合并user content | 在不支持连续多个role为user的情况下开启,比如 deepseek-reasoner 模型 | | 存储上下文对话限制轮数 | 出现一次user视作一轮,超过轮数会遗忘除了示例对话之外最早的对话,越长消耗的token越多 | | 上下文插入system message间隔轮数 | 需要小于限制轮数的二分之一才能生效,为0时不生效,示例对话不计入轮数,会在设定间隔插入角色设定等信息 | @@ -152,13 +161,12 @@ AI骰娘4是一款面向TRPG玩家(吗?)的智能对话插件,基于Open |:----------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| | 是否开启调用函数功能 | 开启后AI可使用各种工具 | | 是否切换为提示词工程 | 当API不支持function calling时开启 | +| 工具函数prompt模板 | 提示词工程中每个函数的prompt模板,用于生成函数调用的提示词,一般不需要修改 | | 允许连续调用函数次数 | 单次对话中允许连续调用函数的次数,防止AI陷入调用函数死循环 | | 不允许调用的函数 | 修改后保存并重载js,设置后将不被允许开启,函数名可对骰娘发送.ai tool 查看 | | 默认关闭的函数 | AI在加入新群时,默认关闭对该函数调用,在开启后才能调用的函数,函数名可对骰娘发送.ai tool 查看 | -| 是否启用记忆 | AI能否通过自行调用函数记忆信息 | -| 长期记忆上限 | 记忆信息的条数上限,超过上限会遗忘最早的记忆,越长消耗的token越多 | -| 提供给AI的牌堆名称 | 提供给AI可用于函数调用的牌堆名称,没有的话建议把draw_deck这个函数加入不允许调用 | -| ai语音使用的音色 | 该功能在选择预设音色时,需要安装[http依赖插件](https://github.com/error2913/sealdice-js/blob/main/HTTP%E4%BE%9D%E8%B5%96.js),且需要可以调用ai语音api版本的napcat/lagrange等。选择自定义音色时,则需要[aitts依赖插件](https://github.com/baiyu-yu/plug-in/blob/main/AITTS.js)和ffmpeg | +| 提供给AI的牌堆名称 | 提供给AI可用于函数调用的牌堆名称,没有的话建议把draw_deck这个函数加入不允许调用 | +| ai语音使用的音色 | 该功能在选择预设音色时,需要安装[ob11网络连接依赖.js](https://raw.githubusercontent.com/error2913/sealdice-plugin-ob11-net-connection/refs/heads/main/dist/ob11%E7%BD%91%E7%BB%9C%E8%BF%9E%E6%8E%A5%E4%BE%9D%E8%B5%96.js),且需要可以调用ai语音api版本的napcat/lagrange等。选择自定义音色时,则需要[aitts依赖插件](https://github.com/baiyu-yu/plug-in/blob/main/AITTS.js)和ffmpeg | | 本地语音路径 | 如不需要可以不填写,修改完需要重载js。发送语音需要配置ffmpeg到环境变量中 | --- @@ -170,6 +178,7 @@ AI骰娘4是一款面向TRPG玩家(吗?)的智能对话插件,基于Open | 是否录入指令消息 | - | | 是否录入所有骰子发送的消息 | - | | 私聊内不可用 | - | +| 是否开启全局待机 | 开启后,全局的ai将进入待机状态,即一直保持接受消息添加进上下文中,可能造成性能问题 | | 非指令触发需要满足的条件 | 保持原样为可无限制非指令触发,即只要符合你的触发条件,AI就会回复,若需要限制只可在指定群或指定用户非指令触发,使用[豹语表达式](https://docs.sealdice.com/advanced/script.html),例如:\$t群号_RAW=='114514' 表示允许群号为114514的群触发AI回复 | | 非指令消息触发正则表达式 | 用于匹配符合特定正则表达式的消息用于强制触发AI回复,[正则表达式教程](https://www.runoob.com/regexp/regexp-syntax.html) | | 非指令消息忽略正则表达式 | 匹配的消息不会接收录入上下文 | @@ -186,7 +195,9 @@ AI骰娘4是一款面向TRPG玩家(吗?)的智能对话插件,基于Open | 回复最大字数 | 防止最大tokens限制不起效导致回复过长 | | 禁止AI复读 | 开启后检测到AI返回文本和前一次相似度太高时,尝试再次请求以获得相似度较低的文本 | | 视作复读的最低相似度 | 在禁止AI复读开关打开后,高于该相似度时,尝试再次请求以获得相似度较低的文本 | -| 回复消息过滤正则表达式 | 回复加入上下文时,将捕获组内文本保留,发送回复时,将捕获组内文本删除 | +| 回复消息过滤正则表达式 | 匹配在下面通过{{{match.[数字]}}}访问,0为匹配到的消息,1之后为捕获组,回复发出或者加入上下文时,将捕获组内文本保留,发送回复时,将捕获组内文本替换 | +| 正则处理上下文消息模板 | 回复加入上下文时替换匹配到的文本,与上面正则表达式序号对应 | +| 正则处理回复消息模板 | 回复发出时替换匹配到的文本,与上面正则表达式序号对应 | | 回复文本是否去除首尾空白字符 | 回复输出时,去除首尾的空格、换行等空白符 | --- @@ -195,10 +206,11 @@ AI骰娘4是一款面向TRPG玩家(吗?)的智能对话插件,基于Open | 设置项 | 说明 | |:------------------:|:--------------------------------------------------------------------------------------------------------------------:| -| 本地图片路径 | 如不需要可以不填写,修改完需要重载js | +| 本地图片路径 | 如不需要可以不填写,修改完需要重载js,只能发送海豹指定文件夹内的图片 | +| 是否接收图片 | 是否接收用户发送的图片,关闭后将不会处理任何图片消息 | | 图片识别需要满足的条件 | 若要开启所有图片自动识别转文字,请填写'1'。若需要限制只可在指定群或指定用户发出的图片可被AI通过图片识别指令识别,使用[豹语表达式](https://docs.sealdice.com/advanced/script.html) | | 发送图片的概率/% | 在AI触发回复后随机抽取一张本地或偷取的图片发送的概率 | -| 图片大模型URL | 视觉大模型的请求URL,填写后可使用image_to_text或check_avatar等识别图片内容 | +| 图片大模型URL | 视觉大模型的请求URL,填写后可使用image_to_text等识别图片内容 | | 图片API key | 视觉大模型的API key | | 图片body | 视觉大模型请求体设置,见下表 | | 图片识别默认prompt | 识图时的默认提示词 | @@ -217,14 +229,48 @@ AI骰娘4是一款面向TRPG玩家(吗?)的智能对话插件,基于Open ### 后端 -| 设置项 | 说明 | -|:---------:|:---:| -| 流式输出 | - | -| 图片转base64 | - | -| 联网搜索 | - | -| 网页读取 | - | -| 用量图表 | - | +| 设置项 | 说明 | +|:-----------:|:------------------------------------------------------------------:| +| 流式输出 | [流式输出](https://github.com/error2913/aiplugin4/tree/main/%E7%9B%B8%E5%85%B3%E5%90%8E%E7%AB%AF%E9%A1%B9%E7%9B%AE/%E6%B5%81%E5%BC%8F%E8%BE%93%E5%87%BA) | +| 图片转base64 | [图片转base64](https://github.com/error2913/aiplugin4/tree/main/%E7%9B%B8%E5%85%B3%E5%90%8E%E7%AB%AF%E9%A1%B9%E7%9B%AE/%E5%9B%BE%E7%89%87url%E8%BD%ACbase64) | +| 联网搜索 | [联网搜索](https://github.com/searxng/searxng) 有能力建议自己搭建,提供的公共服务不稳定,为AI提供联网搜索功能 | +| 网页读取 | [网页读取](https://github.com/error2913/aiplugin4/tree/main/%E7%9B%B8%E5%85%B3%E5%90%8E%E7%AB%AF%E9%A1%B9%E7%9B%AE/%E7%BD%91%E9%A1%B5url%E5%86%85%E5%AE%B9%E8%AF%BB%E5%8F%96) 有能力建议自己搭建,提供的公共服务不稳定,为AI提供网页详细内容获取功能 | +| 用量图表 | [用量图表](https://github.com/error2913/aiplugin4/tree/main/%E7%9B%B8%E5%85%B3%E5%90%8E%E7%AB%AF%E9%A1%B9%E7%9B%AE/%E7%94%A8%E9%87%8F%E5%9B%BE%E8%A1%A8%E7%BB%98%E5%88%B6) AI的token使用情况图表生成后端 | +| md和html图片渲染 | [md和html图片渲染](https://github.com/error2913/aiplugin4/tree/main/%E7%9B%B8%E5%85%B3%E5%90%8E%E7%AB%AF%E9%A1%B9%E7%9B%AE/md%E5%92%8Chtml%E5%9B%BE%E7%89%87%E6%B8%B2%E6%9F%93) 有能力建议自己搭建,提供的公共服务不稳定,为AI提供将生成的markdown和html图片转为图片功能 | + +--- + +### 记忆 + +| 设置项 | 说明 | +|:------------------:|:--------------------------------------------------------------------------------------------------------------------:| +| 知识库记忆展示数量 | 设置AI回答时展示的知识库记忆数量 | +| 知识库记忆 | 设置AI的知识库记忆内容,与角色设定一一对应,按照格式填写 | +| 单条知识库记忆展示模板 | 给AI提供的单条知识库记忆在上下文中的展示格式 | +| 是否启用长期记忆 | 是否启用AI的长期记忆功能 | +| 长期记忆上限 | 设置长期记忆的最大数量 | +| 长期记忆展示数量 | 设置AI回答时展示的长期记忆数量 | +| 长期记忆是否启用向量 | 是否为长期记忆启用向量搜索功能,向量搜索更容易找到相关记忆 | +| 向量维度 | 设置向量的维度,越高越能捕捉语义相似性 | +| 嵌入url地址 | 设置用于生成向量的嵌入模型API地址 | +| 嵌入API Key | 设置嵌入模型的API Key | +| 嵌入body | 设置嵌入模型的请求体,见下表 | +| 长期记忆展示模板 | 给AI提供的长期记忆在上下文中的展示格式,一般不需要修改 | +| 单条长期记忆展示模板 | 给AI提供的单条长期记忆在上下文中的展示格式,一般不需要修改 | +| 是否启用短期记忆 | 是否启用AI的短期记忆功能,隔一定轮数自动总结记忆当前上下文 | +| 短期记忆上限 | 设置短期记忆的最大数量 | +| 短期记忆总结轮数 | 设置短期记忆自动总结的间隔轮数 | +| 记忆总结 url地址 | 设置用于总结短期记忆的API地址,为空时默认使用对话接口 | +| 记忆总结 API Key | 设置记忆总结API的Key,若使用对话接口无需填写 | +| 记忆总结 body | 设置记忆总结的请求体 | +| 记忆总结prompt模板 | 给AI提供的用于总结短期记忆的prompt模板,一般不需要修改 | + + +> | body默认值 | 说明 | +> |:------------------:|:------------------------------------------------------------------------------------------------:| +> | `"model":"text-embedding-v4"` | 模型名,查看接口文档获取,一般含有embedding字样 | +> | `"encoding_format":float` | 嵌入向量的数据类型,查看接口文档 | --- ## 💻 完整命令手册 @@ -233,7 +279,7 @@ AI骰娘4是一款面向TRPG玩家(吗?)的智能对话插件,基于Open | 命令 | 使用示例 | 说明 | |:------------:|:-------------------------------------------------------------------:|:----------------------------------------:| -| `.ai st` | `.ai st QQ-Group:1234 60`设置群1234的权限限制是群主或群主以上,即群主、骰娘白名单、骰主可使用基础控制命令 | 设置群组操作基础控制命令需要的权限等级 | +| `.ai priv` | `.ai priv st ai-off 0-50-40`设置.ai off为所有会话群管理员以上权限能使用 | 修改具体命令的触发权限限制,修改当前会话的权限值 | | `.ai ck` | `.ai ck QQ-Group:1234` 查看群1234的权限设置 | 检查指定群或私聊的权限等级需求和触发设定 | | `.ai prompt` | - | 检查当前prompt,需要注意如果打开了将AI命令写入提示词开关,这条输出会很长 | @@ -243,9 +289,9 @@ AI骰娘4是一款面向TRPG玩家(吗?)的智能对话插件,基于Open | 命令 | 使用示例 | 说明 | |:--------------------------:|:------------------------------------------:|:-----------------------------------------------------------:| -| `.ai pr` | - | 查看当前群聊权限和触发设定 | -| `.ai ctxn` | - | 查看上下文中的名字 | -| `.ai on --<参数>=<数字>` | `.ai on --c=10 --t=60`每收到十条消息触发一次或每60s触发一次 | 开启AI,参数有计数器模式(c),计时器模式(t)和概率模式(p),可同时开启多个模式 | +| `.ai status` | - | 查看当前会话设置 | +| `.ai ctxn` | - | 查看上下文中的名字,设置上下文中名字是否自动修改为实际群名片等 | +| `.ai on --<参数>=<数字>` | `.ai on --c=10 --t=60`每收到十条消息触发一次或每60s触发一次 | 开启AI,参数有计数器模式(c),计时器模式(t),概率模式(p),活跃时间段和活跃次数(a),可同时开启多个模式 | | `.ai sb` | - | 待机模式(仅录入上下文,但不主动发言,只有非指令关键词触发才发言) | | `.ai off` | - | 关闭AI(仍可通过关键词触发) | | `.ai fgt [assistant/user]` | - | 遗忘当前上下文,不加参数为遗忘全部上下文,assistant为遗忘AI调用函数和发言,user为遗忘用户发言和函数返回 | @@ -273,7 +319,7 @@ AI骰娘4是一款面向TRPG玩家(吗?)的智能对话插件,基于Open | `.ai tool` | - | 列出所有可用工具 | | `.ai tool help ` | `.ai tool help get_time` | 查看指定工具的详细说明和参数需求 | | `.ai tool [on/off]` | - | 开启/关闭全部工具函数 | -| `.ai tool [on/off]` | `.ai tool jrrp on` | 开启/关闭指定工具函数 | +| `.ai tool [on/off] ` | `.ai tool on jrrp` | 开启/关闭指定工具函数 | | `.ai tool ` | `.ai tool jrrp --name=错误` 调用一次查看错误今日人品,输出会包括今日人品函数的输出和调用函数返回结果输出 | 试用指定工具函数,会输出调用函数返回信息,多个参数用空格或换行隔开,可使用上下文中名字或QQ号,数字需要引号包裹 | --- @@ -312,6 +358,13 @@ AI骰娘4是一款面向TRPG玩家(吗?)的智能对话插件,基于Open | `.img f` | - | 遗忘图片 | | `.img itt [图片/ran] [提示词]` | `.img itt ran 看看这图里人物是什么` 抽取一张盗取的图片,并询问AI是什么人物 | 使用视觉大模型进行一次图片转文字,图片为一张发送的图片,ran为抽取的随机图片(可带提示词) | +--- +### 定时器相关(管理员命令) + +| 命令 | 使用示例 | 说明 | +|:-----------------------------:|:-------------------------------------------:|:-----------------------------------:| +| `.ai timer lst` | - | 查看当前会话所有定时任务 | +| `.ai timer clr` | - | 清除所有定时任务 | --- ### 可用工具函数示例 @@ -321,8 +374,8 @@ AI骰娘4是一款面向TRPG玩家(吗?)的智能对话插件,基于Open | 函数名 | 描述 | 特殊说明 | |:---------------------:|:------------------------:|:------------------------------------:| | add_memory | 添加记忆 | | -| del_memory | 删除函数 | | -| show_memory | 查看记忆 | | +| search_memory | 搜索记忆 | | +| clear_memory | 删除函数 | | | draw_deck | 抽取牌堆 | | | jrrp | 查看今日人品 | | | modu_roll | 随机抽取COC模组 | | @@ -333,33 +386,39 @@ AI骰娘4是一款面向TRPG玩家(吗?)的智能对话插件,基于Open | attr_show | 展示用户全部属性 | | | attr_get | 获取用户指定属性 | | | attr_set | 修改用户属性 | | -| ban | 禁言用户 | 需要http依赖 | -| whole_ban | 全员禁言 | 需要http依赖 | -| get_ban_list | 查看群内被禁言的用户 | 需要http依赖 | +| ban | 禁言用户 | 需要ob11网络链接依赖或http依赖 | +| whole_ban | 全员禁言 | 需要ob11网络链接依赖或http依赖 | +| get_ban_list | 查看群内被禁言的用户 | 需要ob11网络链接依赖或http依赖 | | record | 发送本地语音 | 需要配置ffmpeg | -| text_to_sound | AI文本转语音 | 预设音色需要http依赖,自定义音色需要AITTS依赖和ffmpeg | +| text_to_sound | AI文本转语音 | 预设音色需要ob11网络链接依赖或http依赖,自定义音色需要AITTS依赖和ffmpeg | | get_time | 获取当前时间 | | | set_timer | 设置定时器用于触发对话 | | | show_timer_list | 查看当前聊天定时器列表 | | | cancel_timer | 取消当前聊天指定定时器 | | -| web_search | 搜索引擎搜索 | | -| web_read | 阅读网页 | | -| image_to_text | 图片内容识别,可指定特别关注的内容 | 需要设置视觉大模型相关配置项,需要支持QQ图床的视觉大模型或使用中转插件 | -| check_avatar | 查看指定用户头像或群聊头像,可指定特别关注的内容 | 需要设置视觉大模型相关配置项 | +| web_search | 搜索引擎搜索 | 需要配置联网搜索后端 | +| web_read | 阅读网页 | 需要配置网页读取后端 | +| image_to_text | 图片包括用户头像和群头像内容识别,可指定特别关注的内容 | 需要设置视觉大模型相关配置项,需要支持QQ图床的视觉大模型或使用中转插件 | | text_to_image | 生成图片 | 需要AIDrawing依赖 | -| group_sign | 发送群打卡 | 需要http依赖 | -| get_person_info | 获取用户信息 | 需要http依赖 | +| group_sign | 发送群打卡 | 需要ob11网络链接依赖或http依赖 | +| get_person_info | 获取用户信息 | 需要ob11网络链接依赖或http依赖 | | send_msg | 向指定私聊或群聊发送消息或调用函数 | | | get_msg | 获取消息内容 | | | delete_msg | 撤回消息 | | | set_essence_msg | 设置精华消息 | | +| get_essence_msg_list | 获取精华消息列表 | | +| delete_essence_msg | 删除指定精华消息 | | | get_context | 查看指定私聊或群聊的上下文 | | -| get_list | 查看当前好友列表或群聊列表 | 需要http依赖 | -| get_group_member_list | 查看群聊成员列表 | 需要http依赖 | -| search_chat | 搜索好友或群聊 | 需要http依赖 | -| search_common_group | 搜索共同群聊 | 需要http依赖 | -| set_trigger_condition | 设置触发条件 | | +| get_list | 查看当前好友列表或群聊列表 | 需要ob11网络链接依赖或http依赖 | +| get_group_member_list | 查看群聊成员列表 | 需要ob11网络链接依赖或http依赖 | +| search_chat | 搜索好友或群聊 | 需要ob11网络链接依赖或http依赖 | +| search_common_group | 搜索共同群聊 | 需要ob11网络链接依赖或http依赖 | +| set_trigger_condition | 设置触发条件,满足条件后触发一次对话,可使用正则表达式或者时间等 | | | music_play | 搜索并播放音乐 | 需要协议端配置音卡签名 | +| meme_list | 获取表情包列表 | | +| get_meme_info | 获取指定表情包的信息 | | +| meme_generator | 生成表情包 | | +| render_markdown | 渲染Markdown文本为图片 | 需要配置md和html图片渲染后端 | +| render_html | 渲染HTML文本为图片 | 需要配置md和html图片渲染后端 | > 注:部分工具函数需要额外依赖或权限,请在依赖下载一节中获取。 @@ -405,7 +464,8 @@ AI骰娘4是一款面向TRPG玩家(吗?)的智能对话插件,基于Open aiplugin4/ ├── src/ │ ├── config/ # 配置项相关 -│ │ ├── config.ts # 配置总管理 +│ │ ├── configManager.ts # 配置总管理 +│ │ ├── config.ts # 默认配置 │ │ └── config_... # 各种配置的相应管理 │ ├── tools/ # 调用函数扩展 │ │ ├── tool.ts # 工具总管理 @@ -414,8 +474,7 @@ aiplugin4/ │ │ ├── AI.ts # 核心AI逻辑 │ │ ├── context.ts # 上下文管理 │ │ ├── memory.ts # 记忆管理 -│ │ ├── image.ts # 图片管理 -│ │ └── service.ts # 服务管理,包括API调用 +│ │ └── image.ts # 图片管理 │ └── utils/ # 各种工具函数 └── package.json # 项目依赖 ``` @@ -427,11 +486,11 @@ aiplugin4/ 2. 实现工具接口,示例: ```typescript - import { Tool, ToolInfo, ToolManager } from "./tool"; + import { Tool, ToolManager } from "./tool"; - export function registerSayHi() { + export function registerSay() { //一个文件只注册一个function // 用JSON Schema标准填写tool info,以提供给AI - const info: ToolInfo = { + const toolSayhi = new Tool({ // 创建一个新tool type: "function", function: { name: "say_hi", @@ -447,17 +506,23 @@ aiplugin4/ required: ['arg1'] // 必需参数 } } - } - - const tool = new Tool(info); // 创建一个新tool - tool.solve = async (ctx, msg, ai, args) => { // 实现方法,返回字符串提供给AI + }); + + toolSayhi.cmdInfo = { + ext: '', + name: '', + fixedArgs: [''] + } //如果需要调用海豹内置指令,可以写该方法 + + toolSayhi.type = "private"; //可使用函数的聊天场景类型:"private" | "group" | "all",默认为"all" + toolSayhi.tool_choice = 'auto'; //是否可以继续调用函数:"none" | "auto" | "required",默认为"auto" + toolSayhi.solve = async (ctx, msg, ai, args) => { // 实现方法,返回字符串提供给AI const { arg1 } = args; // 解构获取AI提供的参数 - return `你好,${arg1}`; + return { content: `你好,${arg1}`, image: [] }; } - - // 注册到toolMap中 - ToolManager.toolMap[info.function.name] = tool; + + // const toolSayhello = new Tool({ 如果需要继续注册第二个工具 } ``` @@ -465,13 +530,13 @@ aiplugin4/ ```typescript // 打开src/tool/tool.ts,导入你写的注册函数 - import { registerSayHi } from "./tool_say_hi" + import { registerSay } from "./tool_say_hi" export class ToolManager { // ... static registerTool() { // ... - registerSayHi(); // 添加到registerTool函数中 + registerSay(); // 添加到registerTool函数中 } } ``` From cba452ef28781d64a3b5e17535ef2ee3bd9c0ed6 Mon Sep 17 00:00:00 2001 From: baiyu-yu <135424680+baiyu-yu@users.noreply.github.com> Date: Mon, 8 Dec 2025 00:14:19 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=E4=B8=80=E4=B8=AA=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E4=B8=8A=E7=9A=84=E5=B0=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 67c9f31..0a95f36 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,6 @@ - [token计数(管理员命令)](#token计数管理员命令) - [图片相关命令](#图片相关命令) - [定时器相关(管理员命令)](#定时器相关管理员命令) - - [| `.ai timer clr` | - | 清除所有定时任务 |](#-ai-timer-clr----------------------------------------------------------------清除所有定时任务--------------------------) - [可用工具函数示例](#可用工具函数示例) - [🚨 注意事项](#-注意事项) - [常见问题处理](#常见问题处理) @@ -365,6 +364,7 @@ AI骰娘4是一款面向TRPG玩家(吗?)的智能对话插件,基于Open |:-----------------------------:|:-------------------------------------------:|:-----------------------------------:| | `.ai timer lst` | - | 查看当前会话所有定时任务 | | `.ai timer clr` | - | 清除所有定时任务 | + --- ### 可用工具函数示例