diff --git a/maubot_llmplus/aibot.py b/maubot_llmplus/aibot.py index 23a7758..e22b124 100644 --- a/maubot_llmplus/aibot.py +++ b/maubot_llmplus/aibot.py @@ -172,6 +172,20 @@ class AiBotPlugin(AbsExtraConfigPlugin): await event.reply("\n".join(models), markdown=True) # 如果不是,如果是其他的名称,表示这是一个模型名 + # 如果是use为第二命令,则表示要切换模型 + if argus.startswith('use'): + arg_elements = argus.strip().split(" ", 2) + # 如果命令小于2的个数,就没有写模型名,无法切换 + if len(arg_elements) < 2: + await event.reply("give me a model name after 'use' command", markdown=True) + platform = self.get_ai_platform() + models = platform.list_models() + if f"- {arg_elements[1]}" in models: + self.log.debug(f"switch model: {arg_elements[1]}") + self.model = arg_elements[1] + await event.react("✅") + else: + await event.reply("not found valid model") @classmethod def get_config_class(cls) -> Type[BaseProxyConfig]: diff --git a/maubot_llmplus/plugin.py b/maubot_llmplus/plugin.py index 3b92ad7..122984f 100644 --- a/maubot_llmplus/plugin.py +++ b/maubot_llmplus/plugin.py @@ -5,12 +5,18 @@ class AbsExtraConfigPlugin(Plugin): default_username: str user_id: str + model: str; + async def start(self) -> None: await super().start() self.default_username = await self.client.get_displayname(self.client.mxid) self.user_id = self.client.parse_user_id(self.client.mxid)[0] + self.model = self.config['platform'][self.config['use_platform']]['model'] def get_bot_name(self) -> str: return self.config['name'] or \ self.default_username or \ - self.user_id \ No newline at end of file + self.user_id + + def get_use_model(self) -> str: + return self.model