mirror of
https://github.com/LiteyukiStudio/nonebot-plugin-marshoai.git
synced 2026-01-17 03:11:48 +00:00
Compare commits
2 Commits
mod/opti
...
v1.0.8.dev
| Author | SHA1 | Date | |
|---|---|---|---|
| 00605ad401 | |||
|
|
1cd60252b5 |
@@ -133,7 +133,7 @@ class MarshoHandler:
|
|||||||
# except:
|
# except:
|
||||||
# pass
|
# pass
|
||||||
tool_msg.append(choice.message)
|
tool_msg.append(choice.message)
|
||||||
for tool_call in tool_calls:
|
for tool_call in tool_calls: # type: ignore
|
||||||
try:
|
try:
|
||||||
function_args = json.loads(tool_call.function.arguments)
|
function_args = json.loads(tool_call.function.arguments)
|
||||||
except json.JSONDecodeError:
|
except json.JSONDecodeError:
|
||||||
@@ -160,6 +160,7 @@ class MarshoHandler:
|
|||||||
bot=self.bot,
|
bot=self.bot,
|
||||||
event=self.event,
|
event=self.event,
|
||||||
matcher=self.matcher,
|
matcher=self.matcher,
|
||||||
|
state=None,
|
||||||
)
|
)
|
||||||
).call(**function_args)
|
).call(**function_args)
|
||||||
else:
|
else:
|
||||||
@@ -184,7 +185,7 @@ class MarshoHandler:
|
|||||||
tools_list: list,
|
tools_list: list,
|
||||||
stream: bool = False,
|
stream: bool = False,
|
||||||
tool_message: Optional[list] = None,
|
tool_message: Optional[list] = None,
|
||||||
) -> Union[Tuple[UserMessage, ChatCompletionMessage], None]:
|
) -> Optional[Tuple[UserMessage, ChatCompletionMessage]]:
|
||||||
"""
|
"""
|
||||||
处理一般聊天
|
处理一般聊天
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -32,20 +32,20 @@ async def at_enable():
|
|||||||
|
|
||||||
|
|
||||||
changemodel_cmd = on_command(
|
changemodel_cmd = on_command(
|
||||||
"changemodel", permission=SUPERUSER, priority=10, block=True
|
"changemodel", permission=SUPERUSER, priority=96, block=True
|
||||||
)
|
)
|
||||||
# setprompt_cmd = on_command("prompt",permission=SUPERUSER)
|
# setprompt_cmd = on_command("prompt",permission=SUPERUSER)
|
||||||
praises_cmd = on_command("praises", permission=SUPERUSER, priority=10, block=True)
|
praises_cmd = on_command("praises", permission=SUPERUSER, priority=96, block=True)
|
||||||
add_usermsg_cmd = on_command("usermsg", permission=SUPERUSER, priority=10, block=True)
|
add_usermsg_cmd = on_command("usermsg", permission=SUPERUSER, priority=96, block=True)
|
||||||
add_assistantmsg_cmd = on_command(
|
add_assistantmsg_cmd = on_command(
|
||||||
"assistantmsg", permission=SUPERUSER, priority=10, block=True
|
"assistantmsg", permission=SUPERUSER, priority=96, block=True
|
||||||
)
|
)
|
||||||
contexts_cmd = on_command("contexts", permission=SUPERUSER, priority=10, block=True)
|
contexts_cmd = on_command("contexts", permission=SUPERUSER, priority=96, block=True)
|
||||||
save_context_cmd = on_command(
|
save_context_cmd = on_command(
|
||||||
"savecontext", permission=SUPERUSER, priority=10, block=True
|
"savecontext", permission=SUPERUSER, priority=96, block=True
|
||||||
)
|
)
|
||||||
load_context_cmd = on_command(
|
load_context_cmd = on_command(
|
||||||
"loadcontext", permission=SUPERUSER, priority=10, block=True
|
"loadcontext", permission=SUPERUSER, priority=96, block=True
|
||||||
)
|
)
|
||||||
marsho_cmd = on_alconna(
|
marsho_cmd = on_alconna(
|
||||||
Alconna(
|
Alconna(
|
||||||
@@ -53,42 +53,42 @@ marsho_cmd = on_alconna(
|
|||||||
Args["text?", AllParam],
|
Args["text?", AllParam],
|
||||||
),
|
),
|
||||||
aliases=tuple(config.marshoai_aliases),
|
aliases=tuple(config.marshoai_aliases),
|
||||||
priority=10,
|
priority=96,
|
||||||
block=True,
|
block=True,
|
||||||
)
|
)
|
||||||
resetmem_cmd = on_alconna(
|
resetmem_cmd = on_alconna(
|
||||||
Alconna(
|
Alconna(
|
||||||
config.marshoai_default_name + ".reset",
|
config.marshoai_default_name + ".reset",
|
||||||
),
|
),
|
||||||
priority=10,
|
priority=96,
|
||||||
block=True,
|
block=True,
|
||||||
)
|
)
|
||||||
marsho_help_cmd = on_alconna(
|
marsho_help_cmd = on_alconna(
|
||||||
Alconna(
|
Alconna(
|
||||||
config.marshoai_default_name + ".help",
|
config.marshoai_default_name + ".help",
|
||||||
),
|
),
|
||||||
priority=10,
|
priority=96,
|
||||||
block=True,
|
block=True,
|
||||||
)
|
)
|
||||||
marsho_status_cmd = on_alconna(
|
marsho_status_cmd = on_alconna(
|
||||||
Alconna(
|
Alconna(
|
||||||
config.marshoai_default_name + ".status",
|
config.marshoai_default_name + ".status",
|
||||||
),
|
),
|
||||||
priority=10,
|
priority=96,
|
||||||
block=True,
|
block=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
marsho_at = on_message(rule=to_me() & at_enable, priority=11)
|
marsho_at = on_message(rule=to_me() & at_enable, priority=97)
|
||||||
nickname_cmd = on_alconna(
|
nickname_cmd = on_alconna(
|
||||||
Alconna(
|
Alconna(
|
||||||
"nickname",
|
"nickname",
|
||||||
Args["name?", str],
|
Args["name?", str],
|
||||||
),
|
),
|
||||||
priority=10,
|
priority=96,
|
||||||
block=True,
|
block=True,
|
||||||
)
|
)
|
||||||
refresh_data_cmd = on_command(
|
refresh_data_cmd = on_command(
|
||||||
"refresh_data", permission=SUPERUSER, priority=10, block=True
|
"refresh_data", permission=SUPERUSER, priority=96, block=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -264,7 +264,7 @@ async def marsho(
|
|||||||
context.append(context_user.as_dict(), target.id, target.private)
|
context.append(context_user.as_dict(), target.id, target.private)
|
||||||
context.append(context_assistant.to_dict(), target.id, target.private)
|
context.append(context_assistant.to_dict(), target.id, target.private)
|
||||||
else:
|
else:
|
||||||
await UniMessage("没有回答").send()
|
return
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
await UniMessage(str(e) + suggest_solution(str(e))).send()
|
await UniMessage(str(e) + suggest_solution(str(e))).send()
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
|
|||||||
@@ -72,7 +72,9 @@ class Caller:
|
|||||||
|
|
||||||
# if self.ctx.state is None:
|
# if self.ctx.state is None:
|
||||||
# return False, "State is None"
|
# return False, "State is None"
|
||||||
if self._rule and not await self._rule(self.ctx.bot, self.ctx.event):
|
if self._rule and not await self._rule(
|
||||||
|
self.ctx.bot, self.ctx.event, self.ctx.state
|
||||||
|
):
|
||||||
return False, "告诉用户 Rule Denied 规则不匹配"
|
return False, "告诉用户 Rule Denied 规则不匹配"
|
||||||
|
|
||||||
return True, ""
|
return True, ""
|
||||||
@@ -113,9 +115,9 @@ class Caller:
|
|||||||
# 检查函数签名,确定依赖注入参数
|
# 检查函数签名,确定依赖注入参数
|
||||||
sig = inspect.signature(func)
|
sig = inspect.signature(func)
|
||||||
for name, param in sig.parameters.items():
|
for name, param in sig.parameters.items():
|
||||||
if param.annotation == T_State:
|
# if param.annotation == T_State:
|
||||||
self.di.state = name
|
# self.di.state = name
|
||||||
continue # 防止后续判断T_State子类时报错
|
# continue # 防止后续判断T_State子类时报错
|
||||||
|
|
||||||
if issubclass(param.annotation, Event) or isinstance(
|
if issubclass(param.annotation, Event) or isinstance(
|
||||||
param.annotation, Event
|
param.annotation, Event
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ class SessionContext(BaseModel):
|
|||||||
bot: Bot
|
bot: Bot
|
||||||
event: Event
|
event: Event
|
||||||
matcher: Matcher
|
matcher: Matcher
|
||||||
# state: T_State
|
state: T_State | None
|
||||||
caller: Any = None
|
caller: Any = None
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ marsho_memory_cmd = on_alconna(
|
|||||||
Subcommand("view", alias={"v"}),
|
Subcommand("view", alias={"v"}),
|
||||||
Subcommand("reset", alias={"r"}),
|
Subcommand("reset", alias={"r"}),
|
||||||
),
|
),
|
||||||
priority=10,
|
priority=96,
|
||||||
block=True,
|
block=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user