merge: sync upstream/r-dev and resolve real conflicts
This commit is contained in:
@@ -1,58 +1,40 @@
|
||||
{
|
||||
"manifest_version": 1,
|
||||
"name": "发言频率控制插件|BetterFrequency Plugin",
|
||||
"manifest_version": 2,
|
||||
"version": "2.0.0",
|
||||
"description": "控制聊天频率,支持设置focus_value和talk_frequency调整值,提供命令",
|
||||
"name": "发言频率控制插件|BetterFrequency Plugin",
|
||||
"description": "控制聊天频率,支持设置 focus_value 和 talk_frequency 调整值,并提供命令入口。",
|
||||
"author": {
|
||||
"name": "SengokuCola",
|
||||
"url": "https://github.com/MaiM-with-u"
|
||||
},
|
||||
"license": "GPL-v3.0-or-later",
|
||||
"host_application": {
|
||||
"min_version": "1.0.0"
|
||||
"urls": {
|
||||
"repository": "https://github.com/SengokuCola/BetterFrequency",
|
||||
"homepage": "https://github.com/SengokuCola/BetterFrequency",
|
||||
"documentation": "https://github.com/SengokuCola/BetterFrequency",
|
||||
"issues": "https://github.com/SengokuCola/BetterFrequency/issues"
|
||||
},
|
||||
"homepage_url": "https://github.com/SengokuCola/BetterFrequency",
|
||||
"repository_url": "https://github.com/SengokuCola/BetterFrequency",
|
||||
"keywords": [
|
||||
"frequency",
|
||||
"control",
|
||||
"talk_frequency",
|
||||
"plugin",
|
||||
"shortcut"
|
||||
"host_application": {
|
||||
"min_version": "1.0.0",
|
||||
"max_version": "1.0.0"
|
||||
},
|
||||
"sdk": {
|
||||
"min_version": "2.0.0",
|
||||
"max_version": "2.99.99"
|
||||
},
|
||||
"dependencies": [],
|
||||
"capabilities": [
|
||||
"send.text",
|
||||
"frequency.set_adjust",
|
||||
"frequency.get_current_talk_value",
|
||||
"frequency.get_adjust"
|
||||
],
|
||||
"categories": [
|
||||
"Chat",
|
||||
"Frequency",
|
||||
"Control"
|
||||
],
|
||||
"default_locale": "zh-CN",
|
||||
"locales_path": "_locales",
|
||||
"plugin_info": {
|
||||
"is_built_in": false,
|
||||
"plugin_type": "frequency",
|
||||
"components": [
|
||||
{
|
||||
"type": "command",
|
||||
"name": "set_talk_frequency",
|
||||
"description": "设置当前聊天的talk_frequency调整值",
|
||||
"pattern": "/chat talk_frequency <数字> 或 /chat t <数字>"
|
||||
},
|
||||
{
|
||||
"type": "command",
|
||||
"name": "show_frequency",
|
||||
"description": "显示当前聊天的频率控制状态",
|
||||
"pattern": "/chat show 或 /chat s"
|
||||
}
|
||||
],
|
||||
"features": [
|
||||
"设置talk_frequency调整值",
|
||||
"调整当前聊天的发言频率",
|
||||
"显示当前频率控制状态",
|
||||
"实时频率控制调整",
|
||||
"命令执行反馈(不保存消息)",
|
||||
"支持完整命令和简化命令",
|
||||
"快速操作支持"
|
||||
"i18n": {
|
||||
"default_locale": "zh-CN",
|
||||
"locales_path": "_locales",
|
||||
"supported_locales": [
|
||||
"zh-CN"
|
||||
]
|
||||
},
|
||||
"id": "SengokuCola.BetterFrequency"
|
||||
}
|
||||
"id": "sengokucola.betterfrequency"
|
||||
}
|
||||
|
||||
@@ -3,12 +3,18 @@
|
||||
通过 /chat 命令设置和查看聊天频率。
|
||||
"""
|
||||
|
||||
from maibot_sdk import MaiBotPlugin, Command
|
||||
from maibot_sdk import Command, MaiBotPlugin
|
||||
|
||||
|
||||
class BetterFrequencyPlugin(MaiBotPlugin):
|
||||
"""聊天频率控制插件"""
|
||||
|
||||
async def on_load(self) -> None:
|
||||
"""处理插件加载。"""
|
||||
|
||||
async def on_unload(self) -> None:
|
||||
"""处理插件卸载。"""
|
||||
|
||||
@Command(
|
||||
"set_talk_frequency",
|
||||
description="设置当前聊天的talk_frequency值:/chat talk_frequency <数字> 或 /chat t <数字>",
|
||||
@@ -80,6 +86,25 @@ class BetterFrequencyPlugin(MaiBotPlugin):
|
||||
await self.ctx.send.text(status_msg, stream_id)
|
||||
return True, None, False
|
||||
|
||||
async def on_config_update(self, scope: str, config_data: dict[str, object], version: str) -> None:
|
||||
"""处理配置热重载事件。
|
||||
|
||||
Args:
|
||||
scope: 配置变更范围。
|
||||
config_data: 最新配置数据。
|
||||
version: 配置版本号。
|
||||
"""
|
||||
|
||||
del scope
|
||||
del config_data
|
||||
del version
|
||||
|
||||
|
||||
def create_plugin() -> BetterFrequencyPlugin:
|
||||
"""创建聊天频率插件实例。
|
||||
|
||||
Returns:
|
||||
BetterFrequencyPlugin: 新的聊天频率插件实例。
|
||||
"""
|
||||
|
||||
def create_plugin():
|
||||
return BetterFrequencyPlugin()
|
||||
|
||||
@@ -1,67 +1,42 @@
|
||||
{
|
||||
"manifest_version": 1,
|
||||
"name": "MCP桥接插件",
|
||||
"manifest_version": 2,
|
||||
"version": "2.0.0",
|
||||
"description": "将 MCP (Model Context Protocol) 服务器的工具桥接到 MaiBot,使麦麦能够调用外部 MCP 工具",
|
||||
"name": "MCP桥接插件",
|
||||
"description": "将 MCP (Model Context Protocol) 服务器的工具桥接到 MaiBot,使麦麦能够调用外部 MCP 工具。",
|
||||
"author": {
|
||||
"name": "CharTyr",
|
||||
"url": "https://github.com/CharTyr"
|
||||
},
|
||||
"license": "AGPL-3.0",
|
||||
"host_application": {
|
||||
"min_version": "0.11.6"
|
||||
"urls": {
|
||||
"repository": "https://github.com/CharTyr/MaiBot_MCPBridgePlugin",
|
||||
"homepage": "https://github.com/CharTyr/MaiBot_MCPBridgePlugin",
|
||||
"documentation": "https://github.com/CharTyr/MaiBot_MCPBridgePlugin",
|
||||
"issues": "https://github.com/CharTyr/MaiBot_MCPBridgePlugin/issues"
|
||||
},
|
||||
"homepage_url": "https://github.com/CharTyr/MaiBot_MCPBridgePlugin",
|
||||
"repository_url": "https://github.com/CharTyr/MaiBot_MCPBridgePlugin",
|
||||
"keywords": [
|
||||
"mcp",
|
||||
"bridge",
|
||||
"tool",
|
||||
"integration",
|
||||
"resources",
|
||||
"prompts",
|
||||
"post-process",
|
||||
"cache",
|
||||
"trace",
|
||||
"permissions",
|
||||
"import",
|
||||
"export",
|
||||
"claude-desktop",
|
||||
"workflow",
|
||||
"react",
|
||||
"agent"
|
||||
"host_application": {
|
||||
"min_version": "0.11.6",
|
||||
"max_version": "1.0.0"
|
||||
},
|
||||
"sdk": {
|
||||
"min_version": "2.0.0",
|
||||
"max_version": "2.99.99"
|
||||
},
|
||||
"dependencies": [
|
||||
{
|
||||
"type": "python_package",
|
||||
"name": "mcp",
|
||||
"version_spec": ">=0.0.0"
|
||||
}
|
||||
],
|
||||
"categories": [
|
||||
"工具扩展",
|
||||
"外部集成"
|
||||
"capabilities": [
|
||||
"send.text"
|
||||
],
|
||||
"default_locale": "zh-CN",
|
||||
"plugin_info": {
|
||||
"is_built_in": false,
|
||||
"components": [],
|
||||
"features": [
|
||||
"支持多个 MCP 服务器",
|
||||
"自动发现并注册 MCP 工具",
|
||||
"支持 stdio、SSE、HTTP、Streamable HTTP 四种传输方式",
|
||||
"工具参数自动转换",
|
||||
"心跳检测与自动重连",
|
||||
"调用统计(次数、成功率、耗时)",
|
||||
"WebUI 配置支持",
|
||||
"Resources 支持(实验性)",
|
||||
"Prompts 支持(实验性)",
|
||||
"结果后处理(LLM 摘要提炼)",
|
||||
"工具禁用管理",
|
||||
"调用链路追踪",
|
||||
"工具调用缓存(LRU)",
|
||||
"工具权限控制(群/用户级别)",
|
||||
"配置导入导出(Claude Desktop mcpServers)",
|
||||
"断路器模式(故障快速失败)",
|
||||
"状态实时刷新",
|
||||
"Workflow 硬流程(顺序执行多个工具)",
|
||||
"Workflow 快速添加(表单式配置)",
|
||||
"ReAct 软流程(LLM 自主多轮调用)",
|
||||
"双轨制架构(软流程 + 硬流程)"
|
||||
"i18n": {
|
||||
"default_locale": "zh-CN",
|
||||
"supported_locales": [
|
||||
"zh-CN"
|
||||
]
|
||||
},
|
||||
"id": "MaiBot Community.MCPBridgePlugin"
|
||||
"id": "chartyr.mcpbridge-plugin"
|
||||
}
|
||||
|
||||
@@ -1,68 +1,44 @@
|
||||
{
|
||||
"manifest_version": 1,
|
||||
"name": "BetterEmoji",
|
||||
"manifest_version": 2,
|
||||
"version": "2.0.0",
|
||||
"name": "BetterEmoji",
|
||||
"description": "更好的表情包管理插件",
|
||||
"author": {
|
||||
"name": "SengokuCola",
|
||||
"url": "https://github.com/SengokuCola"
|
||||
},
|
||||
"license": "GPL-v3.0-or-later",
|
||||
"host_application": {
|
||||
"min_version": "1.0.0"
|
||||
"urls": {
|
||||
"repository": "https://github.com/SengokuCola/BetterEmoji",
|
||||
"homepage": "https://github.com/SengokuCola/BetterEmoji",
|
||||
"documentation": "https://github.com/SengokuCola/BetterEmoji",
|
||||
"issues": "https://github.com/SengokuCola/BetterEmoji/issues"
|
||||
},
|
||||
"homepage_url": "https://github.com/SengokuCola/BetterEmoji",
|
||||
"repository_url": "https://github.com/SengokuCola/BetterEmoji",
|
||||
"keywords": [
|
||||
"emoji",
|
||||
"manage",
|
||||
"plugin"
|
||||
"host_application": {
|
||||
"min_version": "1.0.0",
|
||||
"max_version": "1.0.0"
|
||||
},
|
||||
"sdk": {
|
||||
"min_version": "2.0.0",
|
||||
"max_version": "2.99.99"
|
||||
},
|
||||
"dependencies": [],
|
||||
"capabilities": [
|
||||
"emoji.get_random",
|
||||
"emoji.get_count",
|
||||
"emoji.get_info",
|
||||
"emoji.get_all",
|
||||
"emoji.register_emoji",
|
||||
"emoji.delete_emoji",
|
||||
"send.text",
|
||||
"send.forward"
|
||||
],
|
||||
"categories": [
|
||||
"Emoji",
|
||||
"Management"
|
||||
],
|
||||
"default_locale": "zh-CN",
|
||||
"locales_path": "_locales",
|
||||
"plugin_info": {
|
||||
"is_built_in": false,
|
||||
"plugin_type": "emoji_manage",
|
||||
"capabilities": [
|
||||
"emoji.get_random",
|
||||
"emoji.get_count",
|
||||
"emoji.get_info",
|
||||
"emoji.get_all",
|
||||
"emoji.register_emoji",
|
||||
"emoji.delete_emoji",
|
||||
"send.text",
|
||||
"send.forward"
|
||||
],
|
||||
"components": [
|
||||
{
|
||||
"type": "command",
|
||||
"name": "add_emoji",
|
||||
"description": "添加表情包",
|
||||
"pattern": "/emoji add"
|
||||
},
|
||||
{
|
||||
"type": "command",
|
||||
"name": "emoji_list",
|
||||
"description": "列表表情包",
|
||||
"pattern": "/emoji list"
|
||||
},
|
||||
{
|
||||
"type": "command",
|
||||
"name": "delete_emoji",
|
||||
"description": "删除表情包",
|
||||
"pattern": "/emoji delete"
|
||||
},
|
||||
{
|
||||
"type": "command",
|
||||
"name": "random_emojis",
|
||||
"description": "发送多张随机表情包",
|
||||
"pattern": "/random_emojis"
|
||||
}
|
||||
"i18n": {
|
||||
"default_locale": "zh-CN",
|
||||
"locales_path": "_locales",
|
||||
"supported_locales": [
|
||||
"zh-CN"
|
||||
]
|
||||
},
|
||||
"id": "SengokuCola.BetterEmoji"
|
||||
}
|
||||
"id": "sengokucola.betteremoji"
|
||||
}
|
||||
|
||||
@@ -3,17 +3,23 @@
|
||||
通过 /emoji 命令管理表情包的添加、列表和删除。
|
||||
"""
|
||||
|
||||
from maibot_sdk import Command, MaiBotPlugin
|
||||
|
||||
import base64
|
||||
import datetime
|
||||
import hashlib
|
||||
import re
|
||||
|
||||
from maibot_sdk import MaiBotPlugin, Command
|
||||
|
||||
|
||||
class EmojiManagePlugin(MaiBotPlugin):
|
||||
"""表情包管理插件"""
|
||||
|
||||
async def on_load(self) -> None:
|
||||
"""处理插件加载。"""
|
||||
|
||||
async def on_unload(self) -> None:
|
||||
"""处理插件卸载。"""
|
||||
|
||||
# ===== 工具方法 =====
|
||||
|
||||
@staticmethod
|
||||
@@ -208,6 +214,25 @@ class EmojiManagePlugin(MaiBotPlugin):
|
||||
await self.ctx.send.forward(messages, stream_id)
|
||||
return True, "已发送随机表情包", True
|
||||
|
||||
async def on_config_update(self, scope: str, config_data: dict[str, object], version: str) -> None:
|
||||
"""处理配置热重载事件。
|
||||
|
||||
Args:
|
||||
scope: 配置变更范围。
|
||||
config_data: 最新配置数据。
|
||||
version: 配置版本号。
|
||||
"""
|
||||
|
||||
del scope
|
||||
del config_data
|
||||
del version
|
||||
|
||||
|
||||
def create_plugin() -> EmojiManagePlugin:
|
||||
"""创建表情包管理插件实例。
|
||||
|
||||
Returns:
|
||||
EmojiManagePlugin: 新的表情包管理插件实例。
|
||||
"""
|
||||
|
||||
def create_plugin():
|
||||
return EmojiManagePlugin()
|
||||
|
||||
@@ -1,88 +1,41 @@
|
||||
{
|
||||
"manifest_version": 1,
|
||||
"name": "Hello World 示例插件 (Hello World Plugin)",
|
||||
"manifest_version": 2,
|
||||
"version": "2.0.0",
|
||||
"description": "我的第一个MaiCore插件,包含问候功能和时间查询等基础示例",
|
||||
"name": "Hello World 示例插件 (Hello World Plugin)",
|
||||
"description": "我的第一个 MaiCore 插件,包含问候功能和时间查询等基础示例",
|
||||
"author": {
|
||||
"name": "MaiBot开发团队",
|
||||
"url": "https://github.com/MaiM-with-u"
|
||||
},
|
||||
"license": "GPL-v3.0-or-later",
|
||||
"host_application": {
|
||||
"min_version": "1.0.0"
|
||||
"urls": {
|
||||
"repository": "https://github.com/MaiM-with-u/maibot",
|
||||
"homepage": "https://github.com/MaiM-with-u/maibot",
|
||||
"documentation": "https://github.com/MaiM-with-u/maibot",
|
||||
"issues": "https://github.com/MaiM-with-u/maibot/issues"
|
||||
},
|
||||
"homepage_url": "https://github.com/MaiM-with-u/maibot",
|
||||
"repository_url": "https://github.com/MaiM-with-u/maibot",
|
||||
"keywords": [
|
||||
"demo",
|
||||
"example",
|
||||
"hello",
|
||||
"greeting",
|
||||
"tutorial"
|
||||
"host_application": {
|
||||
"min_version": "1.0.0",
|
||||
"max_version": "1.0.0"
|
||||
},
|
||||
"sdk": {
|
||||
"min_version": "2.0.0",
|
||||
"max_version": "2.99.99"
|
||||
},
|
||||
"dependencies": [],
|
||||
"capabilities": [
|
||||
"send.text",
|
||||
"send.forward",
|
||||
"send.hybrid",
|
||||
"emoji.get_random",
|
||||
"config.get"
|
||||
],
|
||||
"categories": [
|
||||
"Examples",
|
||||
"Tutorial"
|
||||
],
|
||||
"default_locale": "zh-CN",
|
||||
"locales_path": "_locales",
|
||||
"plugin_info": {
|
||||
"is_built_in": false,
|
||||
"plugin_type": "example",
|
||||
"capabilities": [
|
||||
"send.text",
|
||||
"send.forward",
|
||||
"send.hybrid",
|
||||
"emoji.get_random",
|
||||
"config.get"
|
||||
],
|
||||
"components": [
|
||||
{
|
||||
"type": "tool",
|
||||
"name": "compare_numbers",
|
||||
"description": "比较两个数的大小"
|
||||
},
|
||||
{
|
||||
"type": "action",
|
||||
"name": "hello_greeting",
|
||||
"description": "向用户发送问候消息"
|
||||
},
|
||||
{
|
||||
"type": "action",
|
||||
"name": "bye_greeting",
|
||||
"description": "向用户发送告别消息",
|
||||
"activation_modes": ["keyword"],
|
||||
"keywords": ["再见", "bye", "88", "拜拜"]
|
||||
},
|
||||
{
|
||||
"type": "command",
|
||||
"name": "time",
|
||||
"description": "查询当前时间",
|
||||
"pattern": "/time"
|
||||
},
|
||||
{
|
||||
"type": "command",
|
||||
"name": "random_emojis",
|
||||
"description": "发送多张随机表情包",
|
||||
"pattern": "/random_emojis"
|
||||
},
|
||||
{
|
||||
"type": "command",
|
||||
"name": "test",
|
||||
"description": "测试命令",
|
||||
"pattern": "/test"
|
||||
},
|
||||
{
|
||||
"type": "event_handler",
|
||||
"name": "print_message_handler",
|
||||
"description": "打印接收到的消息"
|
||||
},
|
||||
{
|
||||
"type": "event_handler",
|
||||
"name": "forward_messages_handler",
|
||||
"description": "把接收到的消息转发到指定聊天ID"
|
||||
}
|
||||
"i18n": {
|
||||
"default_locale": "zh-CN",
|
||||
"locales_path": "_locales",
|
||||
"supported_locales": [
|
||||
"zh-CN"
|
||||
]
|
||||
},
|
||||
"id": "MaiBot开发团队.maibot"
|
||||
}
|
||||
"id": "maibot-team.hello-world-plugin"
|
||||
}
|
||||
|
||||
@@ -3,16 +3,22 @@
|
||||
你的第一个 MaiCore 插件,包含问候功能、时间查询等基础示例。
|
||||
"""
|
||||
|
||||
from maibot_sdk import Action, Command, EventHandler, MaiBotPlugin, Tool
|
||||
from maibot_sdk.types import ActivationType, EventType, ToolParameterInfo, ToolParamType
|
||||
|
||||
import datetime
|
||||
import random
|
||||
|
||||
from maibot_sdk import MaiBotPlugin, Action, Command, Tool, EventHandler
|
||||
from maibot_sdk.types import ActivationType, EventType, ToolParameterInfo, ToolParamType
|
||||
|
||||
|
||||
class HelloWorldPlugin(MaiBotPlugin):
|
||||
"""Hello World 示例插件"""
|
||||
|
||||
async def on_load(self) -> None:
|
||||
"""处理插件加载。"""
|
||||
|
||||
async def on_unload(self) -> None:
|
||||
"""处理插件卸载。"""
|
||||
|
||||
# ===== Tool 组件 =====
|
||||
|
||||
@Tool(
|
||||
@@ -146,6 +152,25 @@ class HelloWorldPlugin(MaiBotPlugin):
|
||||
|
||||
return True, True, None, None, None
|
||||
|
||||
async def on_config_update(self, scope: str, config_data: dict[str, object], version: str) -> None:
|
||||
"""处理配置热重载事件。
|
||||
|
||||
Args:
|
||||
scope: 配置变更范围。
|
||||
config_data: 最新配置数据。
|
||||
version: 配置版本号。
|
||||
"""
|
||||
|
||||
del scope
|
||||
del config_data
|
||||
del version
|
||||
|
||||
|
||||
def create_plugin() -> HelloWorldPlugin:
|
||||
"""创建 Hello World 示例插件实例。
|
||||
|
||||
Returns:
|
||||
HelloWorldPlugin: 新的示例插件实例。
|
||||
"""
|
||||
|
||||
def create_plugin():
|
||||
return HelloWorldPlugin()
|
||||
|
||||
Reference in New Issue
Block a user