🎲 AI骰娘4 - SealDice AI插件¶
- 让你的骰娘活起来
📖 文档站:https://error2913.github.io/aiplugin4/ —— 在线阅读体验更好(全文搜索、深色模式、目录导航)。
快速开始¶
1. 下载插件¶
2. 安装插件¶
- 参考海豹手册,在 SealDice WebUI →「JS插件」中上传
aiplugin4.js; - 点击重载,刷新浏览器页面。
3. 配置大模型¶
- 在 WebUI →「JS插件」→「插件设置」中找到
aiplugin4,点击展开,进入「模型」分组; - 在 模型配置 中填写一份 JSON(出厂默认已带 deepseek 示例,只改
apiKey即可用):
{
"version": 5,
"providers": [
{
"api": "openai-completions",
"baseURL": "https://api.deepseek.com/v1",
"apiKey": "sk-xxxx",
"models": [
{ "id": "flash", "name": "deepseek-v4-flash", "kind": "vision" },
{ "id": "pro", "name": "deepseek-v4-pro", "kind": "text" }
]
}
],
"purposes": { "chat": ["flash"], "compression": ["flash"], "summarization": ["flash"], "judge": ["flash"] },
"groups": [
{ "purposes": ["chat", "compression", "summarization", "judge"],
"body": { "temperature": 1, "top_p": 1, "max_tokens": 8192, "stop": null, "stream": false } }
]
}
- 推荐用配置生成器生成后粘贴:https://error2913.github.io/aiplugin4-config/ —— 它会按
baseURL拉取模型列表、自动预填kind,并把「用途绑定」可视化; providers[].models留空/不写 = 启动时自动拉取该连接的模型列表(OpenAI 兼容GET /models;anthropic-messages走/v1/models并自动翻页);拉取失败按连接降级展示(认证失败/无列表接口/超时),不影响其它连接;离线或没有列表接口的服务,就把模型写死在models里;models[].kind取text/vision/embed/gen/tts,取代旧的[types]表。⚠️ 视觉能力不再按模型名猜测:gpt-4o、gemini、qwen-vl这类名字不会被自动认成视觉模型,要识图必须显式写"kind": "vision"(生成器会自动预填);嵌入/生图/语音仍可按命名推断;purposes是用途 → 模型 id 的有序数组:优先用列出的,按此顺序取用(首选失败时顺着往后切);未列出的同类型模型仍在候选池里、排在后面。留空则由插件取该用途首个可用模型;- 常用命令:
.ai model查看各用途当前模型与来源(运行时覆盖 / 配置绑定 / 自动)、.ai model list读当前模型列表(不联网)、.ai model pull立即重拉全部连接(无视models钉住清单,强制网络)、.ai model <用途> <模型>绑定为该用途的运行时覆盖(优先级最高,但只在插件存储里;想进配置就把它填进purposes);.ai balance可查全部连接余额(deepseek/moonshot/siliconflow 内置接口直接查,其余平台提示控制台入口,见下方可用AI大模型开放平台列表的余额说明); api支持openai-completions(默认)与anthropic-messages(Claude,请求/响应格式自动转换:system 拆出、tool_result 合并、响应归一化,流式暂不支持、配stream = true会回退非流式)。openai-responses本期未实现,写上会明确报错而不是静默走错协议;provider(厂商标识)通常不用填:由baseURL的 host 自动识别;只有自动识别失败、且该地址代理某家原生接口时才手工指定;- 修改「模型配置」后需重载 JS 生效。
4. 设置触发与角色¶
- 在「消息触发」分组中修改「触发正则表达式」,改为你希望的触发方式(默认示例为 @ 骰娘,可直接替换);
- 在「角色设定」分组中修改「角色设定」,决定 AI 扮演的角色(
roles[].name为名称,可用.ai role <名称>切换;prompt为设定内容)。推荐用配置生成器生成后粘贴。「上下文」分组可调整「预设上下文」「对话保存轮数」「上下文最大token」等上下文参数。
5. 开始对话¶
- 对着骰娘输入你设定的触发方式(默认是 @ 骰娘),即可看到回复;也可以使用
.ai on开启计数 / 计时 / 概率等自动触发模式; - 如果没有回复,把「基础 → 日志级别」改为「调试」查看触发日志,并对照常见问题处理排查。
目录¶
- 🎲 AI骰娘4 - SealDice AI插件
- 快速开始
- 目录
- 🌟 核心特性
- 🛠️ 完整安装指南
- ⚙️ 配置手册
- 💻 完整命令手册
- 🧰 可用工具函数
- 🚨 注意事项
- 可用AI大模型开放平台列表
- 版权信息
- 致谢
- 📞 技术支持
🌟 核心特性¶
AI骰娘4 是一款运行在 SealDice 上的智能对话插件,基于 OpenAI 兼容 API 开发,深度整合海豹骰子生态的 TRPG 功能:
- 智能对话:支持上下文感知的 AI 对话、角色设定与预设上下文(示例对话);
- 记忆体系:长期记忆(向量检索 + 标签/用户/群组过滤)、观察记忆、配置驱动的知识库(JSON 配置 + Markdown 正文自动分块);
- 工具系统:内置 40+ 工具函数(TRPG 检定、牌堆抽取、消息、图片、禁言、定时器等),支持函数调用与提示词工程两种模式,可接入外部 MCP 服务器与可配置技能;
- 图片处理:图片识别、表情包管理、Markdown/HTML 渲染为图片与本地图片资源;
- 权限体系:命令权限(会话/用户/强触三维)与工具权限(禁止/默认关闭/按会话开关);
- 多智能体与多端协作:子代理委派(后台并行 / 可续跑 / 完成通知)与公开会话目录(跨平台、跨账号的会话只读与外发);
- 可观测性:结构化日志(级别控制、密钥脱敏)、token 用量统计与图表、工具调用审计。
🛠️ 完整安装指南¶
环境要求¶
- SealDice v1.4.6+;
- v1.4.6 分离部署(napcat / llonebot 协议)下图片相关功能存在问题,建议 SealDice v1.5.0+;
- 大模型 API:OpenAI 兼容格式;
- 本地开发:Node.js + npm(构建使用 esbuild,建议使用较新 Node 版本)。
下载¶
-
通过 GitHub 下载最新稳定版:下载链接
-
通过 GitHub 下载后自编译最新开发版:
-
安装 Node.js 和 npm
bash git clone https://github.com/error2913/aiplugin4 # 克隆仓库 npm install # 安装依赖 npm run build # 编译-
在
dist/文件夹中可找到编译好的aiplugin4.js文件 -
在 QQ 群中获取
依赖下载¶
以下依赖按需安装,均可通过 GitHub 下载或在 QQ 群中获取:
- ob11 网络连接依赖.js(推荐)或 http 依赖插件:ob11 相关工具(发消息、用户/群信息、禁言、打卡等);
- ffmpeg:发送本地语音需要配置到环境变量中。
自 4.24.0 起,语音合成与文生图已内置到本插件(由「模型」页的模型配置声明
kind)。 不再需要「生成音频(tts)」「生成图片(tti)」依赖插件;完整包也只附带 ob11 网络连接一个依赖。
安装¶
- 参考海豹手册进行插件上传安装;
- 简单配置(开关/数值/单行字符串/纯字符串数组)修改后自动生效(缓存最多 1 分钟),无需重载 JS;复杂配置(模型「模型配置」、触发/忽略正则、评分触发、「角色设定」、「MCP服务器」、「知识库配置」、本地资源路径、音乐服务)修改后需重载 JS 才生效(其中「MCP服务器」「知识库配置」也可用
.ai mcp refresh/.ai kb refresh立即生效);「技能列表」修改后下一条消息自动生效(也可用.ai skill refresh强制重解析)。
⚙️ 配置手册¶
配置项在 SealDice WebUI 的插件设置中按分组展示,以下键名与当前代码注册的配置一致。
模型¶
模型配置是一份 JSON(单个「模型配置」框)。⚠️ 自 5.0 起,旧的「api连接」「模型规则」两个 TOML 框已废弃——插件不再读取它们,请按下方格式重建(推荐用配置生成器)。
| 设置项 | 说明 |
|---|---|
| 模型配置 | 整份模型配置(一个 JSON)。顶层字段:version(固定 5,必填)、providers(连接数组,至少 1 项,必填)、purposes(用途 → 模型 id 的有序数组)、groups(用途组默认请求体)。providers[]:api(必填,openai-completions / anthropic-messages / openai-responses)、baseURL(必填,http(s):// 开头,不再兜默认值)、apiKey(必填,明文)、provider(厂商标识,通常不填,由 baseURL 的 host 自动识别)、models(该连接的模型;留空/不写 = 启动时自动拉取)、enabled(默认 true;false=忽略该连接,取代旧的 ignore = 1)、displayName(仅展示用)、timeout(秒)、request(连接级覆盖:list_url/auth_header_name/headers/balance_url/balance_json_path/balance_divisor/balance_currency)。providers[].models[]:id(必填,全局唯一,被 purposes 引用)、name(必填,发给 API 的真实模型名,可含 / . :,不需加引号)、kind(text/vision/embed/gen/tts,取代旧的 [types] 表)、contextWindow、maxTokens、request(per-model 覆盖:body/request/response/params/prompt,取代旧的 models 定向规则)、bodyMode(merge/replace,媒体用途与内置预设的合成方式)。purposes:用途 → 模型 id 的有序数组(优先用这些、按此顺序;首选失效自动往后切);留空取该用途首个可用模型。用途取 chat/compression/summarization/judge/image-understanding/text-embedding/tts/image-generation。groups[]:purposes + body,给一组用途预设请求体。校验失败整份拒绝(不做部分生效)并一次报出全部问题(带 $.providers[0].models[1].name 式路径)。修改后需重载 JS 生效 |
| 媒体用途(tts / image-generation) | 默认走内置预设:不写 request.body 时,插件按 vendor + 模型名套用该供应商的原生请求结构(覆盖 OpenAI / 硅基流动 / 智谱 / 百炼 / Google Cloud / Gemini / MiniMax / FishAudio / ElevenLabs / 火山方舟 / 腾讯 TokenHub / Stability / 百度 / 本地自建等),骰主只填连接与 kind 即可生成。写了 body 默认整体替换预设结构(bodyMode: "merge" 改为逐键合并),用 {占位符} 标出可被 AI/命令覆写的字段、用嵌套表表达字段路径(同一个"语速"在阿里是 input.parameters.rate、在 Google 是 audioConfig.speakingRate)。内置占位符:{text}(语音正文)/{prompt}(图片正文)/{negative_prompt}/{image}/{image_url}/{image_base64}(参考图)/{model}/{api_key}。取值优先级:AI/命令传参 > params.default > 预设自带默认 > 无值且无默认时整个键不发送;未在模板里出现的参数一律忽略(模型不支持的参数不会污染请求)。request/response 是逐键覆盖预设(headers 逐键合并),只想改一项时不必重写整段 |
{
"version": 5,
"providers": [
{
"api": "openai-completions",
"baseURL": "https://api.deepseek.com/v1",
"apiKey": "sk-xxxx",
"models": [
{ "id": "flash", "name": "deepseek-v4-flash", "kind": "vision" },
{ "id": "pro", "name": "deepseek-v4-pro", "kind": "text" }
]
}
],
"purposes": { "chat": ["flash"], "compression": ["flash"], "summarization": ["flash"], "judge": ["flash"] },
"groups": [
{ "purposes": ["chat", "compression", "summarization", "judge"],
"body": { "temperature": 1, "top_p": 1, "max_tokens": 8192, "stop": null, "stream": false } }
]
}
多个连接(含语音/生图)就再往 providers 数组里加项——模型嵌在连接内,不会出现"引用了不存在的连接"这类错误:
{
"version": 5,
"providers": [
{ "api": "openai-completions", "baseURL": "https://api.deepseek.com/v1", "apiKey": "sk-xxxx",
"models": [{ "id": "flash", "name": "deepseek-v4-flash", "kind": "vision" }] },
{ "api": "openai-completions", "baseURL": "https://api.siliconflow.cn/v1", "apiKey": "sk-yyyy",
"models": [
{ "id": "sf-tts", "name": "FunAudioLLM/CosyVoice2-0.5B", "kind": "tts" },
{ "id": "sf-image", "name": "black-forest-labs/FLUX.1-schnell", "kind": "gen" }
] },
{ "api": "openai-completions", "baseURL": "https://tsn.baidu.com/text2audio", "apiKey": "APIKey:SecretKey",
"models": [{ "id": "baidu-tts", "name": "baidu-tts", "kind": "tts" }] }
],
"purposes": { "chat": ["flash"], "tts": ["sf-tts", "baidu-tts"], "image-generation": ["sf-image"] }
}
改默认值 / 声明参数:写在该模型的 request 里(params 是给 AI 看的元信息,body 是请求模板;预设里已有的 {voice}/{rate} 等占位符本就可被 AI/命令覆写):
{ "id": "sf-tts", "name": "FunAudioLLM/CosyVoice2-0.5B", "kind": "tts",
"request": {
"params": { "voice": { "default": "longxiaochun", "desc": "音色" },
"rate": { "default": 1.0, "min": 0.5, "max": 2.0, "type": "number", "desc": "语速" } },
"prompt": { "extra": "本模型语速 0.5~2.0,超过会报错。" }
} }
内置预设按 vendor + 模型名给出该供应商的原生结构,已覆盖:
| 用途 | 已内置结构的 provider |
|---|---|
| 语音合成 | openai / siliconflow / zhipu / dashscope(兼容模式)/ alibaba / minimax(hex 输出)/ fishaudio / elevenlabs(音色进地址 + xi-api-key)/ google-cloud(text:synthesize)/ google / baidu(短文本在线合成,双密钥换 token) |
| 文生图 | openai(gpt-image-* 与 dall-e 分开)/ volcengine / tencent-tokenhub / zhipu / alibaba(兼容模式)/ dashscope(原生 wanx* 异步轮询、qwen-image* 同步)/ siliconflow / gemini / stability(core / ultra)/ custom(本地 SD WebUI) |
未收录的 vendor 一律按 OpenAI 兼容结构处理。也就是说:只要在 providers 里填好 baseURL(根地址,如 https://api.siliconflow.cn/v1)+ apiKey,再给模型声明 kind: "tts" / "gen",语音与图片就能直接生成(provider 一般不用填,由 baseURL 自动识别)。
百度短文本语音合成(
baseURL为tsn.baidu.com时自动识别为baidu)是个例外:它的鉴权是access_token而非 API Key,插件按连接自动换取(30 天有效、按连接缓存复用,同一连接不会反复请求),所以apiKey有两种填法: -"APIKey:SecretKey"—— 直接填控制台的 API Key 和 Secret Key(冒号分隔),插件自动换取并缓存access_token; -"<access_token>"—— 手头已有令牌时直填(不触发换取)。密钥本身含冒号时用
\:转义;出现 2 个以上未转义冒号会被视为写法非法、整体当令牌使用(不会猜着拆)。百度没有/models列表,必须把模型写死在models里并声明kind: "tts":{ "api": "openai-completions", "baseURL": "https://tsn.baidu.com/text2audio", "apiKey": "你的APIKey:你的SecretKey", "models": [{ "id": "baidu-tts", "name": "baidu-tts", "kind": "tts" }] }音色用
params.voice传百度的per编号(默认5003度逍遥精品;0=度小美、4189=度涵竹),语速/音调/音量对应rate/pitch/volume(0~15,默认5)——都可在.ai tts用--voice=/--rate=/--pitch=/--volume=或工具参数覆写。音色编号完整列表见百度音色列表文档。
接口与预设不一致时才写 per-model 覆盖(示例:阿里原生语音 + 自定义参数约束):
{ "id": "cosy", "name": "cosyvoice-v1", "kind": "tts",
"request": {
"body": { // 默认整体替换预设结构;"bodyMode": "merge" 改为逐键合并
"model": "cosyvoice-v1", // 固定值,AI 不可改
"input": {
"text": "{text}", // 内置占位符:语音正文
"voice": "{voice}", // 自定义占位符:AI/命令可覆写
"parameters": { "rate": "{rate}", "pitch": "{pitch}" } // 阿里的嵌套结构由配置表达,代码零分支
}
},
"params": { // 可选:AI 可覆写参数的元信息(省略时从 {占位符} 自动推断)
"voice": { "default": "longxiaochun", "desc": "音色" },
"rate": { "default": 1.0, "min": 0.5, "max": 2.0, "type": "number", "desc": "语速" }
},
"prompt": { "extra": "本模型语速 0.5~2.0,超过会报错。" }, // 可选:给 AI 的额外自由提示词,原样注入
"request": { // 可选:逐键覆盖预设。url=绝对地址;urlSuffix=拼在 baseURL 之后
"url": "https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation"
},
"response": { // 可选:逐键覆盖预设的取数规则
"data_path": "output.audio.data", // 音频在返回里的路径;留空=整个响应体即数据(如 TTS 音频流)
"data_type": "base64", // auto / url / base64 / hex
"error_message_path": "message"
}
} }
模型类型判定优先级:
models[].kind显式声明 > 命名终值(reranker/生图/语音/嵌入白名单) > 接口自报能力位 > 兜底纯文本。⚠️ 视觉能力不再按命名猜测——gpt-4o/gemini/qwen-vl这类名字不会被自动认成视觉模型,要进识图候选必须在配置里显式写"kind": "vision"(生成器会自动预填;接口自报能力位vision仍作正向证据)。模型按类型进各用途候选:text/vision进对话候选(vision另进识图候选);嵌入白名单命名(如text-embedding-*/bge-*)进嵌入候选;生图白名单命名(如gpt-image-*/wanx*/flux*/stable-diffusion*)进生图候选;语音白名单命名(如tts-*/*-tts/cosyvoice*/fish-speech*)进语音候选;reranker 不进任何候选。用途绑定:
purposes里写模型 id 的有序数组(优先用这些、按此顺序,首选失效自动往后切);留空则取该用途首个可用模型。.ai model查看各用途当前模型与来源(运行时覆盖 / 配置绑定 / 自动)、.ai model list读当前模型列表(不联网、不持久化)、.ai model pull立即重拉全部连接(无视models钉住清单,强制网络)、.ai model <用途>查看候选(按取用顺序编号)、.ai model <用途> <模型>设为运行时覆盖(优先级最高,存插件存储、重装会丢;想进配置就填进purposes)。嵌入输出维度取该模型
request.body里的dimensions(默认 1024);配置后长期记忆与知识库启用语义检索,未配置/不匹配自动降级为关键词检索。
基础¶
| 设置项 | 说明 |
|---|---|
| 日志级别 | 从不 / 错误 / 警告 / 信息 / 调试,反馈问题建议设为「调试」 |
| 日志简短打印 | 日志超长时只保留首尾各 500 字 |
| 日志记录消息内容 | 关闭后请求上下文日志只记录角色与长度,不打印消息正文 |
| 请求超时时限 | 单位毫秒,同时约束模型请求与工具调用,过小会导致长回复/慢工具超时 |
| 请求并发上限 | 同时进行中的请求数量上限,0 表示不限制;超出后进入等待队列 |
| 请求队列上限 | 排队等待的请求数量上限,超过后直接丢弃;0 表示超出并发后不排队 |
| 海豹核心全局路径 | 本地资源相对路径拼接用的 SealDice 核心目录 |
| 是否开启全局待机 | 开启后 AI 不主动回复,收到的所有消息会录入上下文(会话的计数器/计时器/概率仍可触发);长时间开启可能占用较多上下文 |
错误处理¶
| 设置项 | 说明 |
|---|---|
| 启用报错自动处理 | 模型请求报错时按语义类别自动处理(上下文超长归档重试 / 余额不足切模型 / 限速退避等);未覆盖或无法处理的错误仅记日志不回复(默认开启) |
| 上下文超长自动归档重试 | 模型返回上下文超长时,把会话历史按「观察归档 + 删除」链路压到模型窗口内后自动重发一次;关闭则该场景仅记日志(默认开启) |
| 余额不足自动切换模型 | 对话模型报余额不足 / 欠费 / 额度用尽时,自动把 chat 用途切换到备用模型(写入全局模型覆盖,管理员可用 .ai model 改回)(默认开启) |
| 自动切换触发错误 | 每框一个触发自动切换的类别:balance(余额不足)/ permission(权限不足);其余类别仅退避重试或记日志(默认 balance) |
| 自动切换策略 | 跨厂商优先 = 优先切到不同服务商的模型;连接顺序 = 按 providers 顺序 / 候选顺序取下一个不同模型 |
| 切换后发送通知 | 自动切换模型后用 ctx.notice 向当前会话发送一条切换通知(默认开启) |
角色设定¶
| 设置项 | 说明 |
|---|---|
| 角色设定 | 整份角色设定配置(JSON v1):{"version":1,"roles":[{"name":"角色名","prompt":"设定内容"}]}。name 超过 20 字符自动截断;可通过 .ai role <名称> 或豹语变量 $gSYSPROMPT 切换。推荐用配置生成器「角色设定」页生成后粘贴;修改后需重载 JS 生效 |
上下文¶
| 设置项 | 说明 |
|---|---|
| 预设上下文 | 每框一条预设上下文,role 按 user / assistant 轮流出现,位于上下文最前面,帮助模型学习对话语气 |
| 对话保存轮数 | 上下文超过「上下文最大token」后保留的最近真实用户轮数(默认 5);更早消息会先归档沉淀为观察/长期记忆,原文同时写入归档分片(可用 read_raw kind=user id=arc:序号 回查),再从上下文移除 |
| 上下文最大token | 持久化上下文 token 上限(默认 1000000);填 0 / 负数 = 跟随报错探测到的模型真实窗口 × 0.8(未探测到回退 100 万),显式正数优先;超过后触发上面归档逻辑 |
| 插入system message间隔轮数 | 需小于「对话保存轮数」的二分之一才能生效,为 0 时不生效,预设上下文不计入轮数 |
| 消息压缩阈值 | 用户消息(含连续多条合并后)超过该字符数时,使用压缩智能体压缩后存入上下文(仅"热态"即正在对话时;待机时只做纯代码截断);压缩前原文自动保留,可用 read_raw kind=user 按 msg_id/blk:id 查看(默认 2000) |
| 冷态窗口字数 | 待机(冷态)下模型可见的最近内容字数(默认 5000):超出部分折叠为纯代码摘要(不调用模型);0=不折叠。冷态 = 连续 10 分钟无相关活动(内置常量,不可配) |
| 冷态单条截断字数 | 待机(冷态)时单条消息超过该字数则留头留尾(默认 500);原文仍可用 read_raw 查;0=不截断 |
| 归档保留原文 | 开启(默认):归档时把群聊原文写入归档分片(可用 read_raw kind=user id=arc:序号 回查),并调用总结智能体沉淀记忆;关闭:归档不留原文、不写分片(省存储),但仍会调用总结智能体沉淀记忆——历史依旧进长期记忆,只是之后无法回查原文(关掉它只省存储、不省 LLM) |
| 窗口上限字数 | 上下文里保留的最近内容字数上界(默认 20000):超出部分移出到原文分片(session_<会话ID>:raw:<序号>,可用 read_raw kind=user id=raw:序号 回查),使会话存档体积与消息总量解耦;0=不移出 |
| 结算水位 | 待结算积压达到该 token 数才把窗口外原文总结进长期记忆(默认 3000);0=关闭自动结算 |
| 结算最小门槛 | 上下文总量低于该 token 数时不做 LLM 结算(默认 20000),避免短会话也调总结智能体 |
| 结算空闲门槛 | 距上次相关活动达到该秒数才结算(默认 600);0=不要求空闲;转冷时也会结算一次 |
| 单次结算调用上限 | 每次结算最多处理的分片数(默认 2)。注意是分片数而非 LLM 调用数:每个分片内部还有失败重试 |
| 原文分片保留天数 | 原文分片(归档/窗口移出)超过该天数后惰性淘汰(默认 30);0=不按时间淘汰 |
| 原文分片上限 | 每个会话的分片数量上限(默认 200):超出时把最旧的分片置空 |
| 待机入库配额 | 待机会话每小时最多入库多少条普通群消息(默认 0=不限制);超出后只计数不入库,用于防极端灌水群 |
消息接收¶
| 设置项 | 说明 |
|---|---|
| 接收图片 | 是否接收图片消息并将图片 URL 记录到上下文;是否自动识别由图片识别条件和识图模型配置决定 |
| 接收指令消息 | 是否将指令消息计入上下文(指令仍会执行) |
| 接收骰子发送的消息 | 是否处理机器人自己发送的消息 |
| 忽略私聊消息 | 开启后私聊消息不触发 AI |
| 忽略消息豹语条件 | 命中为 1 时忽略,可填豹语表达式限制忽略范围 |
| 忽略消息正则表达式 | 匹配的消息不会被接收录入上下文 |
| ob11 额外消息接收 | 安装 ob11 网络连接依赖后,卡片/视频/音乐/文件/语音/合并转发消息经其事件分发接入(核心 milky 原生路径会过滤这些段),合并转发自动展开为可读文本 |
事件接收¶
| 设置项 | 说明 |
|---|---|
| 接收依赖通知事件 | 开启后把 ob11 依赖订阅到的通知/请求事件(禁言/管理变动/文件上传/名片变更/表情回应/精华/运气王/入群申请/好友申请等)转成文本提示词录入上下文,仅作背景不触发 AI;仅当会话待机或全局待机开启时才录入 |
| 通知事件白名单 | 每行一个事件类型;notify 大类下需单独写子类型才收录;poke 由原生处理不录入;事件文本由纯代码模板生成(超长仅 head 截断兜底),完整原始数据由 read_raw kind=event 只读读取(原 get_event_detail 工具已删除) |
消息触发¶
| 设置项 | 说明 |
|---|---|
| 默认计数器 / 默认计时器 / 默认概率 / 默认触发活跃时间 | .ai on 不带参数时使用的默认值;活跃时间格式 HH:mm-HH:mm-次数 |
| 触发正则表达式 | 匹配符合正则的消息用于强制触发 AI 回复,正则表达式教程 |
| 触发需要满足的条件 | 豹语表达式,例如 $t群号_RAW=='2001' 表示仅允许群 2001 触发;填 1 为无限制 |
| 触发次数上限 | 群内共用令牌桶容量,触发一次减少一计数,计数为 0 时无法触发 |
| 触发次数补充间隔 | 单位秒,按该间隔补充触发次数 |
图片¶
| 设置项 | 说明 |
|---|---|
| 图片全局识别豹语条件 | 填 '1' 开启所有图片自动识别转文字;或填豹语表达式限制群/用户范围 |
| 识别图片时将url转换为base64 | 永不 / 自动 / 总是,解决大模型无法正常获取 QQ 图床图片的问题 |
| 图片识别展示截断字数 | 图片识别转文字结果超过该字数时不再压缩,改为仅展示开头部分;完整识别原文保留,可用 read_raw kind=image 按图片 ID 阅读(0 为不截断不保留,默认 5000) |
| 工具产出图片自动类型标签 | 生图/表情包/MCP 图片等工具产出的新图片入库时,按产出者自动打英文类型标签(ai-generated / meme / mcp-image / tool-image);不调用识图模型(默认开) |
| 自动类型标签每图上限 | 每张工具产出图片最多自动打几个类型标签(1~4,默认 2) |
工具¶
| 设置项 | 说明 |
|---|---|
| 开启调用函数功能 | 开启后 AI 可使用各种工具 |
| 切换为提示词工程 | 当 API 不支持 function calling 时开启 |
| 拉黑前需要骰主确认 | AI 建议拉黑时需骰主确认后才生效;关闭后 AI 可直接拉黑 |
| 无工具调用时续跑提示 | 上一轮调用过工具、本轮只回文字时,向上下文注入续跑提示再转一轮,避免只说方向不调用工具就停(默认关闭) |
| 工具方向提示 | 开启后要求模型调用工具前先向用户说一句方向说明,再在同一回复中给出工具调用块(默认开启) |
| 允许连续调用函数次数 | 单次触发内允许连续调用函数的次数,防止 AI 陷入调用函数死循环(默认 0=不限制) |
| 工具响应截断字数 | 工具返回结果超过该字数时改为只展示开头、截断前完整原文保留(0 关闭,默认 10000);原文可由 grep_raw / read_raw(kind=tool)只读检索 |
| 禁止调用的函数 | 每框一个,设置后将不被允许开启(.ai tool on <组名> 会跳过名单内的工具并回报跳过个数);该工具也不参与 .ai tool 的组统计 |
| 默认关闭的函数 | 每框一个,AI 在新会话中默认无法调用,需 .ai tool on <函数名> 开启 |
| 禁止调用的 OB11 action | 每框一个禁止 call_ob11_api 调用的原始 OB11 action,例如 set_group_ban |
| 默认关闭的 OB11 action | 每框一个默认关闭的原始 OB11 action,例如 get_group_member_list;关闭后 AI 不会调用 |
| 可调用指令白名单 | 每框一个 扩展名|指令名/别名1/别名2;同一元素内的别名用 / 分隔。默认已包含当前 SealDice 核心命令、内置扩展命令及全部别名,核心扩展名统一写 core(如 core|roll/r/rd) |
| 是否允许调用所有指令 | 开启后忽略白名单,允许调用所有可解析的扩展指令;核心指令仍通过 run_core_command 调用 |
| 指令前缀 | 注入到 SealDice 核心的指令前缀,通常为 .;核心前缀改动时需同步修改 |
| 音乐服务配置 | 每框一条 JSON:{"platform":"网易云/qq","api":"域名","cookie":"Cookie(可留空)"},供 search_music 使用;修改后需重载 JS 生效 |
| 媒体任务并发上限 | 同时进行的语音/图片生成任务数上限(默认 3);超出的任务排队等待 |
| 媒体生成同步等待秒数 | 调用生图/语音工具后先等待这么多秒看是否已出结果(默认 5):期间生成完就当场返回结果、不再走异步通知;超时未完成则返回任务号,生成完再自动通知并唤醒 AI。填 0 关闭等待(一律走异步) |
| (仅 AI 调工具受影响) | 该等待只作用于 generate_audio / text_to_image 工具调用;命令 .ai tts / .ai tti 始终由插件直接投递,与它无关 |
自 4.24.0 起「ai语音使用的音色」下拉已移除,请按链路区分: 协议端自带 AI 语音(下拉里的小新/猴哥/妲己…等角色,由 NapCat/Lagrange 实现、无需配置模型)——AI 现在直接用
call_ob11_api调get_ai_characters(查角色)/send_group_ai_record、send_private_ai_record(发送)/get_ai_record(只取语音 URL);用法与常见角色名见默认知识库 ob11-api。 插件自建 TTS(下拉里的「自定义」,已内置)——内置预设里已经带{voice}占位符,音色改该模型request.params.voice的default或生成时传--voice(.ai tts)/工具参数voice(AI)即可。
联网¶
| 设置项 | 说明 |
|---|---|
| 联网配置 | 联网搜索/抓取配置(v1,一个 JSON)。留空 = 使用内置 SearXNG(https://searxng.fishwhite.top)。内置方言:DeepSeek / SearXNG / Kimi / Brave / Tavily / Serper / 博查 / 智谱 / Exa / Firecrawl / 自定义 generic;providers 顺序即尝试顺序(失败自动回退),routes 可分别指定搜索/抓取顺序。推荐用配置生成器的「联网搜索」页生成后粘贴;修改后需重载 JS 生效。返回条数 / 详细程度 / 超时 / 正文截断 / 失败回退不写进 JSON,见下方 5 个独立配置项 |
| 联网搜索返回条数 | 默认返回条数,1~50(默认 10);工具调用未指定 count 时使用 |
| 联网搜索详细程度 | snippet 短摘要 / summary 长摘要 / content 正文(默认 summary);工具未指定 detail 时使用 |
| 联网搜索超时 | 单次搜索/抓取默认超时秒数(默认 20);provider 自己的 timeout 优先 |
| 联网搜索正文截断 | detail=content 时单条正文最大字符数(默认 5000) |
| 联网搜索失败回退 | 失败时自动换下一个 provider(默认开启);关闭后只试第一个,便于排障 |
AI 侧工具:
web_search(搜索,支持allowed_domains/blocked_domains/time_range/detail,失败自动换 provider)与web_fetch(抓取网页正文,按start_index续读)。模型厂商自带的托管搜索(OpenAI / Anthropic / Gemini / xAI / Qwen)默认不启用,属于模型请求参数,见 docs/18 §6.8。
MCP¶
| 设置项 | 说明 |
|---|---|
| 是否启用MCP | MCP 功能总开关,默认关闭;开启后才会解析并连接下方「MCP服务器」中的服务器并注册其工具,未安装对应 MCP 后端时建议保持关闭 |
| MCP服务器 | 标准 MCP 配置 JSON(与 Claude Desktop / Cursor 的 .mcp.json 顶层结构一致):{"mcpServers":{"服务器名":{"type":"http","url":"…","headers":{…}}}}。键 = 服务器名;type 仅支持 http / streamable-http,stdio(command)与 SSE 会被跳过;platform 是 aiplugin4 扩展字段(可选平台白名单,[] 或省略 = 所有平台)。生成器里用「启用」开关控制是否写入,关闭的服务器不会出现在 JSON 里(不写 enabled 字段)。工具名称、描述与参数 schema 连接后经远端 tools/list 自动发现并注册(来源分组 = 服务器名),同名冲突自动跳过;服务器 platform 与当前平台不匹配时其工具不可见且调用被拦截。插件默认空配置(不预置服务器),避免没配 MCP 时启动/对话报错;配置生成器的「MCP」页仍保留三台示例:mcp-files-exec(read_file/list_dir/write_file/delete_file/download_file/run_shell/export_file,相对路径与命令工作目录按 AI 会话隔离)、md-html-render(platform: [QQ],render_markdown/render_html)、mcp-browser(browser_navigate/click/type/snapshot/take_screenshot/wait_for/close 等浏览器操作,按 AI 会话隔离),按需复制使用。格式定义见 MCP 官方规范;推荐用配置生成器「MCP」页生成后粘贴 |
| MCP会话空闲回收分钟 | MCP 会话(含浏览器操作)空闲超过该分钟数后自动回收,释放服务端浏览器状态;设为 0 不回收(默认 10) |
| MCP每服务器最大会话数 | 每个 MCP 服务器最多同时保留的 AI 会话数,超出后按最近使用时间回收最旧会话;浏览器操作按 AI 会话隔离(默认 3) |
{
"mcpServers": {
"mcp-files-exec": {
"type": "http",
"url": "http://127.0.0.1:3910/mcp",
"headers": { "Authorization": "Bearer token" },
"platform": []
}
}
}
MCP 配置修改后用
.ai mcp refresh立即重新解析并强制重同步工具列表(refresh 需骰主,或重载 JS);.ai mcp list查看当前平台可用服务器及工具开关状态;.ai mcp on/off [<服务器>]按会话批量开启/关闭某服务器(或缺省全部当前平台服务器)下的工具(on 时跳过「禁止调用的函数」)。
run_core_command由插件本地注册,通过「后端 → 后端配置」的backends.ob11-core-bridge直连ob11-core-bridge(默认ws://127.0.0.1:46880/plugin);run_ext_command仅由插件本地实现。二者不由 MCP 提供。
技能¶
| 设置项 | 说明 |
|---|---|
| 技能列表 | 整份技能配置(JSON v1):{"version":1,"skills":[{"name":"技能名","description":"摘要","platform":["QQ"],"content":"技能正文"}]}。platform 省略或 [] = 所有平台;name 唯一;description 省略/为空时自动取正文首段。生成器「技能」页支持直接拖入标准 SKILL.md(--- frontmatter + 正文)转成 JSON,推荐生成后粘贴。默认只含「录卡」技能(Excel 角色卡录入);SealDice 核心/扩展指令与 OB11 API 的调用帮助已作为默认知识库提供(「知识库」页签默认库:核心指令 / 扩展指令 / ob11-api)。配置修改后下一条消息自动生效(也可用 .ai skill refresh 强制重解析) |
system prompt 的「可用技能」段只列「当前平台可用且本会话未关闭」的技能摘要(名称 + 描述,1500 字符预算内尽可能多列,单条描述超过 200 字符截断;描述为空自动取正文首段);技能过多时超出部分用
skill_list查看完整列表、用use_skill按需获取正文(支持offset续读超长正文)。.ai skill list可查看当前平台技能与开关状态,.ai skill on/off <名称>按会话开关。配置修改后下一条消息自动生效。
子代理¶
| 设置项 | 说明 |
|---|---|
| 是否启用子代理 | 子代理功能总开关(默认开启);关闭后 AI 调用 subagent / subagent_fork 会直接提示已关闭 |
| 最大委派深度 | 子代理最多嵌套几层(默认 3,0=禁止委派);主会话为 0 层,每层 +1(当前版本子代理不可再嵌套委派,该值 >0 即允许主会话委派) |
| 子代理禁止调用工具 | 每框一个子代理不可调用的工具名(如 call_ob11_api);留空 = 继承主会话全部已开启工具 |
委派工具:
subagent(spawn:子代理看不到本会话历史,任务必须自包含)、subagent_fork(fork:继承本会话已完成轮次、看不到当前正在执行的这一轮)。参数:prompt(必填)/description/persona/run_in_background(后台执行并返回 job id,用job_list/job_output/job_kill收取结果)/continuable(建立可续跑子代理并立即返回 id,之后用send_message续派、interrupt_agent打断、list_agents盘点)。前台调用直接返回最终结论;子代理有独立上下文与工具面(按上面配置收窄),不向聊天发消息。可续跑子代理结算后以
[system:子代理]只读通知写入主会话上下文,主会话空闲且未待机时自动唤醒一轮补答(受令牌桶/全局待机约束);单次激活默认最多 8 个模型轮、120 秒护栏;记录与断点落盘,重载 JS 后运行中的子代理标记「已中断·可续」,send_message可继续。管理命令.ai subagent(list / stop/ clean)。本会话开启委派工具时(默认开启),system prompt 会注入「子代理委派」指引。
记忆¶
| 设置项 | 说明 |
|---|---|
| 启用长期记忆 | 开启后对话内容会沉淀为长期记忆 |
| 启用观察记忆 | 开启后上下文超过 token 上限归档删除前,会把旧对话沉淀为观察记忆 |
| 记忆召回新近度权重 | 检索时给新近记忆的加分权重,0 为关闭(默认 0.4) |
| 记忆召回新近度半衰期 | 新近度加分半衰期(天),越大旧记忆衰减越慢(默认 60) |
| 长期记忆条数上限 | 长期记忆超过该条数自动遗忘最不重要的记忆,0 为不限制(默认 100) |
| 用LLM抽取记忆 | 使用 LLM 从对话中抽取原子事实(实验性,默认关闭) |
| 用LLM重排召回结果 | 使用 LLM 对召回结果重新排序(较慢,默认关闭) |
| 用LLM合成观察记忆 | 使用 LLM 合成观察记忆(默认开启) |
| 用LLM推理记忆 | 使用 LLM 合成心智模型推理答案(.ai memo mm / reflect 使用,默认开启) |
| 自动维护固定心智模型 | 自动为个人/群聊补建写死的固定心智模型问题(设定/偏好/规则),并固定优先注入;删除后不会自动重建(默认开启) |
| 巩固后自动刷新心智模型 | 巩固记忆后自动基于最新记忆刷新心智模型(默认开启) |
| 心智模型刷新最小间隔 | 自动刷新心智模型的最小间隔(分钟),0 为不限制(默认 30) |
| 心智模型刷新模式 | 新增心智模型的刷新方式:full=基于全部记忆重新推理 / delta=只按新增记忆增量更新(默认 full) |
| 心智模型刷新排除其它心智模型 | 刷新心智模型时不把其它心智模型作为推理输入,避免互相引用(默认开启) |
| 心智模型定时刷新间隔 | 每累计该分钟数自动检查并刷新心智模型(仅当有新记忆时实际刷新),0 为关闭(默认 0) |
知识库¶
| 设置项 | 说明 |
|---|---|
| 启用知识库记忆 | 开启后把知识库内容注入 system prompt,供对话参考 |
| 知识库配置 | 整份知识库配置(JSON v1):{"version":1,"libraries":[{"name":"库名","description":"描述","platform":["QQ"],"content":"Markdown 正文"}]}。platform 省略或 [] = 所有平台;name 唯一;描述省略时用正文首段兜底。正文支持列表/表格/引用/代码块等标准 Markdown(# 一级标题为一个条目,##/### 为该条目下的小节,超长自动分块)。生成器「知识库」页可直接拖入 .md / .txt 自动转成 JSON,推荐生成后粘贴。默认三个库:核心指令、扩展指令(各扩展为 # 子条目、命令为 ## 小节)、ob11-api(platform: [QQ],仅 QQ 平台可见与注入)。知识库只读,内容由管理员维护,AI 通过 knowledge_search / knowledge_read / knowledge_list / knowledge_docs 工具只读检索(检索范围 = 当前平台可用 + 本会话开启的库);管理员可用 .ai kb list/on/off/refresh 查看与按会话开关。语法定义见 CommonMark 规范 |
回复¶
| 设置项 | 说明 |
|---|---|
| 回复引用 | AI 回复时是否引用触发的消息;回复含戳戳(poke)时不引用,避免消息无法显示 |
| 回复最大字数 | 防止最大 tokens 限制不起效导致回复过长 |
| 回复文本去除首尾空白字符 | 发送前去除回复首尾空白 |
| 回复中的换行转义 | AI 回复里写出的字面量 \n / \r\n 会在发送时转换为真实换行;多条消息仍使用 \f 分隔 |
| 分段发送延时 | 流式/非流式输出共用,消息间隔是否开启延时防止乱序 |
| 分段发送基础延时/ms | 流式/非流式输出共用,从第二条消息开始每条发送前等待的毫秒数(默认 350) |
| 分段发送含图额外延时/ms | 流式/非流式输出共用,当消息包含图片时额外增加的等待毫秒数(默认 250) |
| 禁止回复复读 | 检测到与上一条回复相似度过高时停止回复 |
| 视作复读的最低相似度 | 与上一条回复的相似度达到该值视为复读(默认 0.8) |
后端¶
| 设置项 | 说明 |
|---|---|
| 后端配置 | 整份后端地址(JSON v1)。在 aiplugin4-backends 的 WebUI 点「📋 复制后端配置」后整段粘贴;包含流式输出、图片转base64、图床、媒体转base64、用量图表、核心桥的地址与 token。图床的 url 是插件访问地址(可为 127.0.0.1),publicUrl 是协议端与模型都能访问的对外 IP/域名(复制时「图床对外地址」一栏自动生成,留空会自动探测本机 IP);没有 publicUrl 时发图/模型取图自动降级。复制内容会带上各后端已设置的访问 token(请勿公开分享);给后端设/改 token 后要重启该后端并重新复制一次(token 不一致会 401,日志会提示去哪个 backends.<名>.token 核对)。留空 = 全部使用出厂默认地址;修改后约 60 秒生效 |
各后端服务相互独立,可按需自建;除流式输出外,其余服务并非核心功能所必需。
后端服务已迁移到独立仓库 aiplugin4-backends:自带 launcher.py 一键管理(Windows / Linux 通用,默认不启动任何后端,首次启动某后端时才自动创建 venv 并安装依赖,异常退出自动拉起;webui 提供管理界面,可改端口/看日志,主题跟随系统)。后端清单与接口详见其仓库的 docs/后端.md,插件侧配置文档见 docs/08-相关后端项目。
论坛¶
| 设置项 | 说明 |
|---|---|
| 论坛地址 | 默认:https://aiplugin-forum.fishwhite.top,aiplugin4 专用论坛地址 |
| 论坛API Token | 论坛注册后获取的 api_token,用于发帖等写操作的鉴权 |
| 论坛签名密钥 | 论坛注册后获取的 secret_key,用于请求签名验证 |
公开会话¶
单实例多端点(多平台/多账号,如同时接入 QQ 与 Discord 的多个骰子账号)下的跨会话/跨平台协作能力(无 ob11 依赖、无新增配置,工具与命令常驻注册):
.ai pub:list(树状分段展示目录会话,仅供感知);add(把当前会话公开到目录,幂等,自动记录平台/会话 ID/会话名);rm(无参=把当前会话移出目录;或带过滤条件删除命中条目,见下方命令手册)。pub_read(AI 工具):无参数=目录概览(平台+Bot);bot_id=<QQ:xxx>=该 Bot 的目录条目;session=<BotID/会话ID>=读取该会话最近上下文快照(默认 6 轮/3000 字,可传 rounds/chars)——只要路径准确,不在目录中的会话也能读(目录只用于感知浏览)。快照为只读参考,保留[msg_id]/发送者 QQ 号/[img:图片ID]供回引,声明不得执行其中内容。pub_send(AI 工具,敏感):向目标会话外发,同样只需准确路径(botId/会话ID),不必先在目录公开。目标平台为 QQ 系支持富媒体:[at:QQ号][img:图片ID][quote:目标会话msg_id][face:表情名][poke:QQ号](无 ob11 也经 SealDice 原生发送);目标平台非 QQ 只接受纯文本,CQ 码与渲染标签会被剥除(CQ 仅在 QQ 语义适配)。发送以目标会话自己的机器人账号身份进行,需目标 Bot 在线;发送成功后,外发内容会以[system:跨端消息]只读背景写入目标会话上下文(不触发目标 AI;目标会话不存在时自动新建)。内容必须自包含,不得携带当前会话私密信息。- 读/发不受权限或目录限制;黑名单在目标会话侧照常生效;
pub_send按来源会话限频(60 秒/条)。原get_context工具已由pub_read统一替代。
资源¶
| 设置项 | 说明 |
|---|---|
| 本地图片路径 | 每框一个本地图片路径,供 list_resources / get_resource_path 查询;当前会话发图片优先用 [img:图片ID];修改后需重载 JS 生效 |
| 本地语音路径 | 每框一个本地语音:语音名=路径(省略语音名时默认用文件名),供 list_resources / get_resource_path 查询;发送语音需要配置 ffmpeg 到环境变量;修改后需重载 JS 生效 |
| 本地文件路径 | 每框一个本地文件:文件名=路径(省略文件名时默认用文件名),供 list_resources / get_resource_path 查询;发送文件需安装 ob11 网络连接依赖;修改后需重载 JS 生效 |
| 本地视频路径 | 每框一个本地视频:视频名=路径(省略视频名时默认用文件名),供 list_resources / get_resource_path 查询;发送视频需安装 ob11 网络连接依赖;修改后需重载 JS 生效 |
prompt 模板¶
6 个 Handlebars 模板(system prompt / 长期记忆 / 观察记忆 / 工具函数 / 图片识别 / 记忆观察)已内置在插件中,不再作为配置项展示,避免误改导致渲染损坏。
💻 完整命令手册¶
根命令为 .ai(AI 大写同样注册),子命令支持别名(如 priv→privilege、ses→session、st→set、ck→check、clr→clear、sb→standby、fgt→forget、memo→memory、tk→token、img→image、ign→ignore),列表类命令支持 --page=<数字>(别名 --p)翻页。
管理员命令¶
| 命令 | 使用示例 | 说明 |
|---|---|---|
.ai priv ses st <ID> <会话权限> |
.ai priv ses st QQ-Group:1234 50 |
修改指定会话的权限等级,ID 可为 now 表示当前窗口 |
.ai priv ses ck <ID> |
.ai priv ses ck QQ-Group:1234 |
检查指定会话的权限等级 |
.ai priv st <指令> <权限限制> |
.ai priv st ai-sb 0-0-0 |
修改具体命令的权限限制,指令用 - 连接,权限限制格式为「会话-用户-强触」 |
.ai priv show <指令> |
- | 检查指定指令的权限限制 |
.ai priv reset |
- | 重置所有指令权限为默认 |
.ai prompt |
- | 查看当前 system prompt(骰主) |
.ai block add <用户ID/群ID> <原因> |
.ai block add QQ:1234567890 乱发广告 |
拉黑用户/群(骰主),被拉黑对象无法触发 AI 对话 |
.ai block rm <用户ID/群ID> |
- | 移除黑名单 |
.ai block list |
- | 查看黑名单列表 |
权限数值:-30 黑名单 / 0 普通用户 / 40 邀请者 / 50 群管理员 / 60 群主 / 70 白名单 / 100 骰主。
基础控制命令¶
| 命令 | 使用示例 | 说明 |
|---|---|---|
.ai status |
- | 查看当前会话设置 |
.ai ctx |
- | 查看当前会话的上下文成本状态:冷/热状态、窗口与预算、本会话压缩/归档/评分调用次数、归档分片与缓存命中 |
.ai ctxset [window=<字>\|cold=<字>\|truncate=<字>] / .ai ctxset clr |
.ai ctxset cold=8000 |
按本会话覆盖上下文参数:窗口上限字数 / 冷态窗口字数 / 冷态单条截断字数(需邀请者以上);0 或 clr 回到全局值(0 不能用来"关闭",只是清除覆盖);只影响本会话 |
.ai live / .ai live all |
.ai live |
查看会话实时运行状态:.ai live 查看当前会话(流式/运行/排队/定时器);.ai live all 查看全局活跃会话总览(仅骰主) |
.ai help <子指令> / .ai <子指令> help |
.ai help tool |
查看子命令帮助;.ai <子指令> help 带更多参数时交由子命令自身处理(如 .ai tool help <函数名>) |
.ai ctxn status |
- | 查看上下文中的名字与自动修改状态 |
.ai ctxn set [nick/card] |
- | 将上下文中的名字设置为昵称/群名片 |
.ai ctxn mod <0\|1\|2> |
- | 自动修改上下文中的名字:0 不修改,1 昵称,2 群名片 |
.ai on / .ai on --r |
- | 开启 AI:非指令正则触发默认随之开启;.ai off --r 仅关闭正则触发,.ai on 重新开启 |
.ai on [--r --j --c=<条> --t=<秒> --p=<%> --a=<开始-结束-次数>] |
.ai on --c=10 --t=60 |
开启 AI:--r 开启非指令正则触发,--j 开启评分触发(评分智能体判断是否插话),--c/--t/--p/--a 开启计数器/计时器/概率/活跃时间段模式,不带参数仅开启非指令正则触发 |
.ai standby [on/off] |
.ai standby off |
待机模式:仅录入上下文不主动发言,非指令关键词触发才发言;off 仅关闭待机、保留其它触发模式(适合只播报不读群消息) |
.ai off [--r/--j/--c/--t/--p/--a/--sb] |
.ai off --t |
关闭 AI(含非指令正则触发),加参数只关闭对应模式(--sb 仅关闭待机) |
.ai fgt [assistant/user] [--all] |
.ai fgt --all |
遗忘当前上下文;assistant 为遗忘 AI 发言与函数调用,user 为遗忘用户发言与函数返回;--all 清空本会话归档/窗口移出原文分片并重置结算水位(不影响已沉淀的长期记忆) |
.ai role [<名称>] |
- | 查看 / 切换角色设定 |
.ai model [list\|pull\|<用途> [<模型>]] |
.ai model chat deepseek-v4-flash |
查看 / 绑定全局分用途模型(骰主):无参数查看各用途当前模型与来源(运行时覆盖 / 配置绑定 / 自动)与连接状态;.ai model list 读加载/最近一次拉取到内存的模型列表(不联网,按连接序号分组);.ai model pull 立即重拉全部连接并展示(无视 models 钉住清单,强制网络);.ai model <用途> 查看指定用途候选(按取用顺序编号);.ai model <用途> <模型> 设为该用途的运行时覆盖(支持编号 / 模型 id / 模型名,优先级最高、存插件存储)。模型类型在「模型配置」里用 kind 声明(text/vision/embed/gen/tts) |
.ai balance |
- | 并发查询全部(非忽略)连接的账户余额(骰主):deepseek / moonshot / siliconflow 内置余额接口直接查;其余平台提示控制台入口;one-api/new-api 等网关可在连接的 request 里配置 balance_url + balance_json_path 后查询 |
.ai stop |
- | 完全暂停当前对话(打断流式输出/工具链/排队请求,清计时器) |
.ai subagent / .ai subagent list |
- | 查看本会话子代理运行情况:列出 ID / 用途 / 状态 |
.ai subagent stop <ID\|all> |
.ai subagent stop all |
停止指定子代理(仅中断当前轮、可续跑;all = 停止本会话全部) |
.ai subagent clean |
- | 清理已结束/已停止的子代理记录 |
记忆管理命令¶
| 命令 | 使用示例 | 说明 |
|---|---|---|
.ai memo status [用户ID] |
- | 查看当前(或指定用户ID的)长期/观察记忆状态 |
.ai memo [p/g] st <内容> |
.ai memo p st 西瓜 |
设置个人/群聊设定(个人≤20字,群聊≤30字) |
.ai memo [p/g] st clr |
- | 清除设定 |
.ai memo [p/g] del <ID1> <ID2> --关键词 |
- | 按 ID 删除记忆,可附带关键词(物理删除不可恢复) |
.ai memo [p/g] list |
- | 展示长期记忆列表,支持 --page 翻页 |
.ai memo [p/g] clr |
- | 清除长期记忆(物理删除不可恢复) |
.ai memo obs [on/off] |
- | 开启/关闭观察记忆 |
.ai memo obs list |
- | 展示观察记忆列表,支持 --page 翻页 |
.ai memo obs |
- | 立即生成一次观察记忆 |
.ai memo obs view <ID> |
- | 查看观察记忆详情(含证据条数与范围) |
.ai memo obs clr |
- | 清除观察记忆 |
.ai memo cons |
- | 立即巩固一次记忆(合并重复观察、清理过期记忆) |
.ai memo reflect <问题> |
- | 基于记忆推理回答问题(引用心智模型 / 观察记忆 / 长期记忆证据) |
.ai memo mm list [页码] |
- | 展示心智模型列表,支持 --page 翻页 |
.ai memo mm view <ID> |
- | 查看心智模型详情 |
.ai memo mm add <问题> [答案] |
- | 添加/更新心智模型:不填答案时基于记忆重新生成并保留旧答案兜底;--tag=范围、--mode=full|delta、--auto/--no-auto 可调 |
.ai memo mm refresh [ID] |
- | 刷新心智模型(基于当前记忆重新推理) |
.ai memo mm del <ID或问题关键词> |
- | 删除心智模型(关键词唯一命中时直接删除) |
个人记忆跨群、群聊记忆仅限本群;group 分支需邀请者以上,
.ai memo obs on/off需会话权限 1。
工具管理命令¶
| 命令 | 使用示例 | 说明 |
|---|---|---|
.ai tool |
- | 工具组概览:按「内置分类 + MCP 服务器」列出每组工具数与开/关统计(不再刷屏列出全部工具) |
.ai tool <组名> |
.ai tool 记忆 |
查看该组内工具与开关状态(显式写法 --group=<组名>,可绕开 on/off/help/call/list/all 等保留字与撞名) |
.ai tool <函数名> |
.ai tool memory_add |
查看指定工具的详细说明和参数需求(等价 .ai tool help <函数名>) |
.ai tool all |
- | 扁平列出全部工具及开关状态(含技能/知识库工具) |
.ai tool [on/off] [<组名\|函数名>] |
.ai tool off 记忆 |
开启/关闭整组或单个工具函数;不带参数=全部工具。关闭时默认跳过核心常驻工具(list_tools/search_tools/list_mcps/call_tool/use_skill/call_ob11_api/run_ext_command/run_core_command),确需一并关闭加 --force;开启时跳过「禁止调用的函数」并回报变更/跳过个数(on/off 需邀请者以上) |
.ai tool help <函数名> |
.ai tool help set_timer |
查看指定工具的详细说明和参数需求 |
.ai tool call <函数名> --参数=值 |
.ai tool call run_ext_command --action=call --extension=fun --command=jrrp |
试用指定工具函数,输出调用返回信息;参数可尝试 JSON 解析,数字需要引号包裹 |
工具组 = 内置工具的 16 个能力分类(基础调度 / 指令 / 定时 / 触发 / 记忆 / 图片 / 多媒体 / OB11 / 资源 / 属性 / 原文检索 / 上下文编辑 / 黑名单 / 网页 / 公开会话 / 子代理;外部插件注册的工具归「外部插件」)+ 每台 MCP 服务器各一组,
.ai tool on/off <服务器名>与.ai mcp on/off <服务器名>等价。技能与知识库不参与工具组维度(其会话开关仍用.ai skill on/off、.ai kb on/off),但单工具开关照旧可用(如.ai tool off use_skill)。
MCP 技能 知识库管理命令¶
| 命令 | 使用示例 | 说明 |
|---|---|---|
.ai mcp list |
- | 列出当前平台可用的 MCP 服务器及工具开关状态(未启用 MCP 时提示先开启配置) |
.ai mcp on/off [<服务器>] |
.ai mcp on mcp-browser |
按会话批量开启/关闭某服务器(或缺省全部当前平台服务器)下的工具;开启时跳过「禁止调用的函数」(on/off 需邀请者以上) |
.ai mcp refresh |
- | 重新解析 MCP 服务器配置并强制重同步工具列表(骰主;MCP 配置修改后无需重载 JS) |
.ai skill list |
- | 列出当前平台可用的技能及会话开关状态(名称带 (平台:…) 标注) |
.ai skill on/off <技能名> |
.ai skill off 录卡 |
按会话开启/关闭指定技能(on/off 需邀请者以上) |
.ai skill refresh |
- | 强制重新解析「技能列表」(骰主;平时配置变化下一条消息自动生效) |
.ai kb list |
- | 列出当前平台可用且本会话开启的知识库(含平台标注) |
.ai kb on/off <库ID或名称> |
.ai kb off ob11-api |
按会话开启/关闭指定知识库(名称唯一命中时也可用名称;on/off 需邀请者以上) |
.ai kb refresh |
- | 重新解析「知识库配置」配置(骰主) |
三个管理命令的行为一致:
list只显示「当前平台可用」的项(平台限制来自对应 JSON 条目的platform字段,如知识库默认 ob11-api;MCP 生成器示例里的 md-html-render 也限定 QQ);on/off开关按会话保存(只记录被关闭的项,缺省=开启);refresh立即重解析 JSON 配置生效,无需重载 JS。
忽略名单相关命令¶
| 命令 | 使用示例 | 说明 |
|---|---|---|
.ai ign add <用户ID> |
- | 添加名单(仅群聊)。名单内的用户能正常对话,但不会被选为目标用户 |
.ai ign rm <用户ID> |
- | 删除名单 |
.ai ign lst |
- | 查看名单 |
token 计数命令¶
| 命令 | 使用示例 | 说明 |
|---|---|---|
.ai tk lst |
- | 查看有使用记录的模型 |
.ai tk sum |
- | 查看所有模型的 token 使用记录总和 |
.ai tk all |
- | 查看所有模型的 token 使用记录,分别列出 |
.ai tk [y/m] (chart) |
.ai tk y chart |
查看最近 12 个月 / 31 天的 token 用量,chart 生成用量图片 |
.ai tk <模型名> [y/m] (chart) |
- | 查看指定模型的用量记录 |
.ai tk clr [<模型名>] |
- | 清除全部或指定模型的用量记录 |
.ai tk use |
- | 按用途(chat / compression / summarization / judge 等)查看 token 用量,便于对账 |
图片相关命令¶
| 命令 | 使用示例 | 说明 |
|---|---|---|
.ai img list [lcl] |
.ai img list lcl |
展示本地图片列表 |
.ai img itt [图片] (附加提示词) |
.ai img itt ran 看看这图里人物是什么 |
使用视觉大模型对图片进行图片转文字 |
.ai img find <图片ID> |
- | 查找图片并发送 |
定时器相关命令¶
| 命令 | 使用示例 | 说明 |
|---|---|---|
.ai timer lst |
- | 查看当前会话所有定时任务 |
.ai timer clr |
- | 清除所有定时任务 |
媒体生成命令(4.24.0 起内置)¶
语音合成与文生图都是异步任务:提交后立即返回任务号,生成完成后直接发到本会话(命令发起的由插件投递,不需要 AI 介入)。
| 命令 | 使用示例 | 说明 |
|---|---|---|
.ai tts <文本> |
.ai tts 今天天气真不错 --rate=1.5 --instruction=用欢快的语气说 |
合成语音并发送;可选 --model --voice --rate --pitch --volume --instruction --emotion(是否生效取决于该模型的 request.params / request.body 声明) |
.ai tti <描述> |
.ai tti 一只在雪地里奔跑的白狐 --size=1024x1024 |
生成图片并发送;可选 --model --size --steps --seed --quality --style --negative --save --name |
.ai media |
- | 查看本会话生成任务队列(未完成 + 最近 10 条已结束,含状态/耗时/结果句柄/失败原因) |
.ai media list [页码] [--all] |
.ai media list 2 --all |
分页查看;--all 包含全部已结束任务。别名 .ai md |
.ai media cancel <任务号> |
.ai media cancel 3 |
取消未完成的任务(已结束的任务无法取消);运行中的任务也能取消,取消后结果被丢弃、不发送 |
命令与 AI 工具的区别:
.ai tts/.ai tti由插件直接投递结果(不看「媒体生成同步等待秒数」);AI 调generate_audio/text_to_image时才会先等同步窗口——窗口内出结果就把结果当场返回给 AI(由 AI 决定怎么发),超时才返回任务号走异步通知。
公开会话目录命令¶
| 命令 | 使用示例 | 说明 |
|---|---|---|
.ai pub list |
- | 树状分段展示目录会话(平台头 → botid → 缩进会话,仅供感知) |
.ai pub add |
.ai pub add |
把当前会话公开到目录(幂等,重复执行=更新;自动记录平台/会话ID/会话名) |
.ai pub rm |
.ai pub rm |
把当前会话移出目录 |
.ai pub rm --platform=<平台> |
.ai pub rm --platform=QQ |
删除该平台目录下全部条目 |
.ai pub rm --botid=<BotID> [--platform=<平台>] |
.ai pub rm --botid=QQ:123 |
删除该 Bot 下全部条目(可加 --platform 缩小范围) |
.ai pub rm --session=<会话ID> [--platform= | --botid=] |
.ai pub rm --session=QQ-Group:456 |
删除所有该会话条目(同名会话一次全删;可加平台/Bot 缩小范围) |
过滤说明:多个过滤条件为交集;至少提供一个条件。
--botid与--session必须传完整 UNI-ID(含平台前缀,如--botid=QQ:123、--session=QQ-Group:456),--platform传平台名(如 QQ);给了哪一级就删除该级目录下全部命中条目。目录只用于感知展示:AI 读写只需准确路径(botId/会话ID),不需要会话先公开到目录。AI 侧对应工具:
pub_read(目录感知/读任意会话上下文快照)、pub_send(向任意会话外发,QQ 系富媒体/其他平台纯文本,成功后写入目标会话[system:跨端消息]只读背景)。命令默认权限骰主级,可用.ai priv调整;能力说明见上方配置手册「公开会话」小节(无新增配置项)。
🧰 可用工具函数¶
以下为内置工具函数(基于当前源码),下表「工具组」列即 .ai tool 的工具组名(可直接 .ai tool <工具组> 查明细、.ai tool on/off <工具组> 整组开关),可通过 .ai tool help <name> 查看详细用法:
| 工具组 | 工具函数 |
|---|---|
| 基础调度 | list_tools(按工具组列出当前平台工具)、search_tools(按名称/关键词/工具组发现工具并取参数)、list_mcps(列出当前平台可用 MCP 服务器及工具)、call_tool(统一执行任意工具) |
| 指令 | run_ext_command(本地执行扩展指令)、run_core_command(经核心桥 WebSocket 调用核心指令) |
| 定时 | set_timer、show_timer_list、cancel_timer |
| 触发 | set_trigger_condition |
| 记忆 | memory_add、memory_update、memory_delete、memory_recall、memory_clear、memory_reflect、memory_consolidate、memory_mm_list、memory_mm_view、memory_mm_create、memory_mm_refresh、memory_mm_delete |
| 图片 | image_to_text(文字描述,ids[]≤3)、image_view(多模态直接看,ids[]≤4;不支持视觉时降级)、text_to_image、meme_list、get_meme_info、meme_generator |
| 多媒体 | media_tasks(查看/取消本会话的语音与图片生成任务队列) |
| OB11 | call_ob11_api(通过 action 调用消息、查询、管理、文件和合并转发 API;群资料、精华消息等均传入对应 action)、resolve_special_id(还原上下文短 ID/句柄为原始字段,用于对接协议 API) |
| 资源 | list_resources、get_resource_path(本地资源查询);generate_audio(提交语音生成任务,立即返回任务号,完成后自动通知;传 path 时同步解析本地/MCP 音频资源)、search_music(返回 music 消息段,不直接发送) |
| 属性 | attr_get、attr_set |
| 原文检索 | grep_raw、read_raw(按 kind 检索/读取工具、用户消息、图片、事件被截断或压缩前的完整原文) |
| 上下文编辑 | context_edit_list(按序号定位任意会话上下文条目,支持 role/keyword/时间过滤)、context_edit_replace(按 scope 批量替换正文文本:字面量/正则、空串删除、原文副本同步、持久化;敏感工具,默认开启,详见下方说明) |
| 黑名单 | suggest_block(AI 建议拉黑,带冷却;默认需骰主确认)、unblock_user、get_block_list |
| 网页 | web_search(多后端、失败回退)、web_fetch(抓取正文、start_index 续读);论坛:forum_get_posts、forum_get_post_detail、forum_search、forum_create_post、forum_manage_comment、forum_get_activity、forum_manage_post |
| 公开会话 | pub_read(分级浏览公开会话目录 / 读取其他会话上下文只读快照)、pub_send(以目标会话自己的机器人账号身份外发:QQ 系富媒体 / 其他平台纯文本) |
| 子代理 | subagent、subagent_fork(委派)、send_message、interrupt_agent、list_agents(可续跑子代理控制)、job_list、job_output、job_kill(后台 job 管理);默认开启,详见上方「子代理」配置小节 |
| 外部插件 | 其他海豹插件经 globalThis.aiplugin4.registerTool 注册的工具 |
| 技能(来源分组,不参与工具组开关) | use_skill(按需获取正文,支持 offset 续读)、skill_list(平台受限或本会话已关闭时明确返回不可用提示) |
| 知识库(来源分组,不参与工具组开关) | knowledge_search、knowledge_read、knowledge_list、knowledge_docs(只读检索,范围 = 当前平台可用 + 本会话开启的库;内容由配置维护) |
| MCP(来源分组 = 服务器名,可整组开关) | 远端工具名(同名冲突时跳过,仅当前平台可见);render_markdown / render_html 由默认服务器 md-html-render 提供 |
指令类技能(今日人品、COC 模组抽取/搜索、属性展示、属性检定、san 检定等)通过
use_skill按需获取内容,内部统一使用run_ext_command/run_core_command调用海豹指令,对应指令需加入「可调用指令白名单」。上下文编辑说明:
context_edit_list/context_edit_replace允许 AI 定位并批量替换任意会话上下文中的正文文本(纯文本字面量或全局正则,replacement传空串=删除匹配文本)。目标会话缺省=当前会话,也可用bot_id(如QQ:123)+session_id(如QQ-Group:456)跨会话定位,同一 SealDice 实例内多端点/多账号可写;压缩/截断保留的原文副本(rawText/rawItems)会同步修改并持久化。属敏感操作、不可自动回滚,工具默认开启,可用.ai tool off context_edit_replace或加入「禁止调用的函数」硬禁。OB11 说明:协议动作统一通过
call_ob11_api。安装 ob11 网络连接依赖时,action 原样交给net.callApi;未安装时仍由 SealDice 原生后端完成当前上下文可完成的发送和查询,远端 action 返回OB11_DEPENDENCY_REQUIRED,不会假装成功。当前会话回复中发送图片优先使用[img:图片ID];图片、语音、视频、文件、JSON、Markdown、音乐和合并转发均通过 message segment 保留格式;search_music只生成可发送的 segment。语音/图片生成说明(4.24.0 起内置):
generate_audio/text_to_image是异步任务——提交后先等一段同步窗口(「工具 → 媒体生成同步等待秒数」,默认 5 秒),窗口内就生成完则当场把结果返回给 AI(图片直接给[img:图片ID]、语音给 record 段指引),不再走异步通知;窗口内没完成则立即返回任务号,生成完成后写入会话通知并尽力唤醒 AI投递(该送达免触发令牌桶,桶空也送达;待机中同样唤醒,因为这是用户请求的结果而不是主动搭话;会话忙则通知留在队列,由本轮结束时的补触发接手,不会丢;端点离线时通知保留、下一轮呈现)。命令.ai tts/.ai tti发起的由插件直接投递。AI 收到完成通知后:语音走call_ob11_api的 record 段([audio:xxx]只认「资源」页配置的本地语音资源名,不接受生成结果的路径/URL),图片优先直接在回复里写[img:图片ID](系统会自动发送,非必要不要为此调用call_ob11_api)。任务队列可用media_tasks工具或.ai media查看与取消。请求结构默认由内置供应商预设提供(见「模型」页说明),参数(音色/语速/尺寸等)由「模型规则」[params]与模板里的{占位符}决定。扩展/核心指令工具不再要求会话先出现
.r:run_ext_command在插件内本地直调扩展solve,无需中间件;run_core_command通过 OB11 核心桥注入假消息,需启动ob11-core-bridge(SealDice 的 OB11 网络依赖连接中间件/core,并在「后端 → 后端配置」的backends.ob11-core-bridge填地址,默认ws://127.0.0.1:46880/plugin)。
🚨 注意事项¶
- 简单配置(开关/数值/单行字符串/纯字符串数组/「后端配置」JSON)修改后自动生效(缓存最多 1 分钟),无需重载 JS;复杂配置(模型、触发/忽略正则、评分触发、「角色设定」、「MCP服务器」、「知识库配置」、本地资源路径、音乐服务)修改后需重载 JS 才生效(其中「MCP服务器」「知识库配置」也可用
.ai mcp refresh/.ai kb refresh立即生效);「技能列表」修改后下一条消息自动生效(也可用.ai skill refresh强制重解析); - 嵌入输出维度取该模型
request.body里的dimensions(默认 1024);有嵌入模型参与 text-embedding 用途后长期记忆与知识库启用语义检索,未配置时自动降级为关键词检索(知识库加载本身不请求嵌入); - 流式输出需要自建或使用公共后端,并在「后端 → 后端配置」里配置 stream-output 地址;在 chat 用途组
groups[].body里设stream = true的模型才会走流式(anthropic-messages协议不支持,会自动回退非流式); - 「请求超时时限」同时约束模型请求与工具调用,过小会导致长回复/慢工具超时;
- CQ 码白名单之外的图片类型消息不处理(当前允许 at/image/reply/face/poke);卡片/视频/文件/语音/合并转发等段经 ob11 事件分发接收,不受该白名单限制。
常见问题处理¶
不回复 / 触发不生效
- 日志级别改为「调试」,观察触发日志与请求日志;
- 检查「触发正则表达式」与「触发需要满足的条件」(豹语表达式)是否命中,触发条件命中为 1 才触发;
- 检查「触发次数上限/补充间隔」(令牌桶),桶为空会跳过回复;
- 检查消息是否被「忽略正则」或「忽略消息豹语条件」拦下;
- 确认模型配置可访问:url/API Key/模型名正确、余额充足、支持工具调用。
工具调用失败
- 查看日志中的调用失败原因(未注册/未经许可/参数缺失/类型不符/会话类型不符/超时等);
- 用
.ai tool查看开关状态,.ai tool help <函数名>查看参数,.ai tool call <函数名> --参数=值手动试用; - 工具在「禁止调用的函数」列表中时无法开启;新会话中「默认关闭的函数」需要
.ai tool on <函数名>手动开启; - 扩展指令工具不需要先使用
.r;run_ext_command每次调用现场构造CmdArgs。run_ext_command/run_core_command均支持trigger指定触发对象、at指定群聊中的 @ 对象列表。核心指令工具通过run_core_command走 OB11 核心桥。
记忆/知识库检索不到
- 记忆检索确认已有嵌入模型可用(「模型配置」里有
kind: "embed"的模型,且.ai model text-embedding显示已绑定或存在可用默认),「启用长期记忆」开关打开; - 知识库为配置驱动(JSON 里的 Markdown 内容),不按角色加载;「启用知识库记忆」开关打开后修改「知识库配置」(
.ai kb refresh或重载 JS 生效);若仍检索不到,用.ai kb list确认库在当前平台可用且未被本会话关闭(platform限定当前平台、未执行过.ai kb off),可让 AI 通过 knowledge_search / knowledge_read 工具检索验证; - 记忆检索有相似度下限过滤,条目太旧(衰减)或相似度过低不会展示。
图片识别异常
- 确认图片 URL 可以在浏览器访问(过期或 QQ 图床 bug 时更换协议端版本);
- 模型不支持 QQ 图床时,把「识别图片时将url转换为base64」设为「总是」或「自动」;
- 图片转文字依赖视觉模型:先在「模型配置」里给视觉模型显式写
"kind": "vision"(⚠️ 视觉不再按模型名自动识别),再用.ai model image-understanding <模型>绑定; - 图片直链失效不会再卡死会话:QQ 直链 rkey 过期时(图床返回
download url has expired,后端与模型都拿不到图),插件会把这些图片降级为[img:ID]文本标签、不再产生 image_url,模型也就不会因「下载图片失败」整轮 400 而静默不回复;日志出现图片xxx的URL已确认不可用或[model-error] 模型无法下载上下文图片属正常兜底; - 若历史上下文里已有坏图片(旧版本遗留)导致该会话一直不回复,执行
.ai forget清上下文即可恢复。
HTTP 请求出错
- 日志中的错误码对照 HTTP 错误码与大模型文档排查;常见原因:url 填错、API Key 错、模型名错、不支持工具调用、余额不足、请求频繁。
可用AI大模型开放平台列表¶
| 大模型平台 | 调用url | 文档地址 | 支持语言大模型 | 支持视觉大模型 |
|---|---|---|---|---|
| deepseek | https://api.deepseek.com/chat/completions |
deepseek API文档 | deepseek-chat,deepseek-reasoner×▲ |
- |
| kimi | https://api.moonshot.cn/v1/chat/completions |
Moonshot AI 使用手册 | moonshot-v1-8k,moonshot-v1-32k,moonshot-v1-128k,moonshot-v1-auto |
- |
| 百炼大模型 | https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions |
大模型服务平台百炼产品文档 | qwen-max,qwen-plus,qwen-turbo,qwen-long,deepseek-r1×▲,deepseek-v3× |
qwen-vl-max,qwen-vl-plus |
| 智谱AI | https://open.bigmodel.cn/api/paas/v4/chat/completions |
BigModel 接口文档 | glm-4-plus,glm-4-air,glm-4-air-0111,glm-4-airx,glm-4-long,glm-4-flashx,glm-4-flash,glm-zero-preview×,charglm-4× |
glm-4v-plus-0111,glm-4v-plus,glm-4v,glm-4v-flash |
| 百度千帆大模型平台 | https://qianfan.baidubce.com/v2/chat/completions |
千帆大模型服务与开发平台ModelBuilder文档 | ernie-4.0-8k▲,ernie-4.0-turbo-8k▲,ernie-3.5-8k▲,deepseek-v3×▲,deepseek-r1×▲ |
deepseek-vl2 |
| 讯飞星火大模型 | https://spark-api-open.xf-yun.com/v1/chat/completions |
讯飞开放平台文档中心 | lite×,generalv3×,pro-128k×,generalv3.5×,max-32k,4.0Ultra |
|
| google AI | https://generativelanguage.googleapis.com/v1beta/openai/chat/completions |
gemini API 文档 | gemini-2.0-flash,gemini-1.5-flash,gemini-1.5-pro |
|
| openAI | https://api.openai.com/v1/chat/completions |
openAI API 文档 | gpt-4o,gpt-4o-mini,o1,o3-mini,gpt-4-turbo,gpt-3.5-turbo |
gpt-4-turbo,gpt-4o,o1,gpt-4o-mini |
注:× 为不支持 function call;▲ 为需要开启合并 user 消息开关。视觉模型不一定支持 QQ 图床识别,可使用中转插件。
在「模型配置」中,上表平台只需填
baseURL(provider一般不用填,由baseURL的 host 自动识别,它决定用哪套原生请求结构与列表接口适配);未列出的平台/网关填根地址的baseURL即可,按 OpenAI 兼容方式使用(Claude 需把api设为anthropic-messages走其专有适配)。模型名以各平台「模型列表」接口/官方文档为准,连接的models留空时插件启动会自动获取。余额查询:deepseek / kimi(moonshot) / siliconflow(硅基流动)支持
.ai balance直接查 API 余额(deepseek/moonshot 按 vendor、其余按内置规则自动识别端点);其余平台未开放 API 余额接口,请在各自控制台查看;one-api/new-api 等网关可在连接的request里配置balance_url+balance_json_path(配合auth_header_name/headers)后查询。仅列出部分官方的本插件支持的模型,部分大模型平台同一模型有多个版本并未在上表写出,且更新不及时,存在过期可能,未列出的不一定不能使用,最好到文档自己查看。国外大模型网络问题请自行解决。
版权信息¶
本项目采用 MIT 开源协议,欢迎二次开发。原创作者保留署名权。
致谢¶
- 海豹骰子开发团队
- 开源社区贡献者
📞 技术支持¶
- GitHub Issues: 问题提交
- QQ交流群: 143412516
"才、才不是专门给你写的文档呢!只是...只是顺便而已!(///ω///)" —— 正确·改