mirror of https://github.com/Mai-with-u/MaiBot.git
fix:生成api没有开始时间戳
parent
282cc4aad0
commit
4bf72e260c
|
|
@ -46,7 +46,7 @@
|
|||
## 🔥 更新和安装
|
||||
|
||||
|
||||
**最新版本: v0.11.6** ([更新日志](changelogs/changelog.md))
|
||||
**最新版本: v0.12.0** ([更新日志](changelogs/changelog.md))
|
||||
|
||||
|
||||
可前往 [Release](https://github.com/MaiM-with-u/MaiBot/releases/) 页面下载最新版本
|
||||
|
|
|
|||
1
bot.py
1
bot.py
|
|
@ -59,6 +59,7 @@ def run_runner_process():
|
|||
|
||||
while True:
|
||||
logger.info(f"正在启动 {script_file}...")
|
||||
logger.info("正在编译着色器:1/114514")
|
||||
|
||||
# 启动子进程 (Worker)
|
||||
# 使用 sys.executable 确保使用相同的 Python 解释器
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Changelog
|
||||
|
||||
## [0.12.0] - 2025-12-16
|
||||
## [0.12.0] - 2025-12-21
|
||||
### 🌟 重大更新
|
||||
- 添加思考力度机制,动态控制回复时间和长度
|
||||
- planner和replyer现在开启联动,更好的回复逻辑
|
||||
|
|
@ -9,12 +9,32 @@
|
|||
- mcp插件作为内置插件加入,默认不启用
|
||||
- 添加全局记忆配置项,现在可以选择让记忆为全局的
|
||||
|
||||
### 🌟 WebUI 重大更新
|
||||
- **模型预设市场功能正式完善并发布**:现在可以将模型配置完整分享,分享按钮位于模型配置界面右上角
|
||||
- **全面安全加固**:为所有 WebUI API 和 WebSocket 端点添加身份认证保护,Cookie 添加 Secure 和 SameSite 属性,支持环境感知动态配置
|
||||
- **前端认证重构**:从 localStorage 迁移到 HttpOnly Cookie,新增 WebSocket 临时 token 认证机制,解决跨域开发环境下 Cookie 无法携带的问题
|
||||
- **增强插件配置管理**:支持原始 TOML 配置的加载和保存,前端支持查看和编辑插件配置文件源文件
|
||||
|
||||
### 细节功能更改
|
||||
- 移除频率自动调整
|
||||
- 移除情绪功能
|
||||
- 优化记忆差许多呢超时设置
|
||||
- 部分配置为0的bug
|
||||
- 插件安装时可以主动选择克隆的分支
|
||||
- 首页中反馈问卷功能,可以提交反馈信息和建议信息
|
||||
- 黑话和表达不再提取包含名称的内容
|
||||
- 模型界面支持编辑 extra params 额外字段
|
||||
- 模型界面中的任务分配子界面支持编辑慢请求检测阈值
|
||||
- 模型界面中支持对单个模型单独指定温度参数和 max tokens 参数
|
||||
- 首页所有数据卡片支持自动选择单位+显示详细信息功能
|
||||
- WebUI 聊天室表情包、图片、富文本消息支持
|
||||
- 麦麦适配器配置界面的工作模式支持折叠
|
||||
- WebUI 插件配置解析支持动态 list 表单
|
||||
- WebUI 插件配置中的动态 list 支持开关、滑块和下拉框类型
|
||||
- 在插件商场、插件配置详情界面增加了重启按钮
|
||||
- 加强安全性和隐私保护:添加登录接口速率限制,防止暴力破解攻击,收紧 CORS 配置(限制允许的 HTTP 方法和请求头),完善路径校验(validate_safe_path 防止目录穿越攻击),fetchWithAuth 支持 FormData 文件上传,新增 robots.txt 路由和 X-Robots-Tag 响应头防止搜索引擎索引,前端添加 meta noindex/nofollow 标签阻止爬虫收录
|
||||
- 修复并优化了聊天室、模型配置、日志查看器、黑话管理、WebUI 端口占用、配置向导、首页图表、聊天室消息重复、移动端日志不可见、模型提供商删除、主程序配置换行符、HTTP 警告横幅、重启界面、LPMM 配置、人物信息、插件端点安全认证、WebSocket token 等问题,提升整体稳定性与体验。
|
||||
- 完成主程序配置与模型配置界面重构、模型提供商与麦麦适配器配置重构(引入 TOML 校验)、WebSocket 认证逻辑抽取为共享模块统一 WS 端点,升级 React 到 19.2.1 并更新依赖,WebUI 配置与可视化全部迁移到主配置及模型配置中,优化配置更新提示、插件详情页面和路径安全校验,并增强模型与梦境等多项配置的可视化和自动检验。
|
||||
|
||||
## [0.11.6] - 2025-12-2
|
||||
### 🌟 重大更新
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import random
|
||||
from typing import List, Tuple, Type, Any
|
||||
from typing import List, Tuple, Type, Any, Optional
|
||||
from src.plugin_system import (
|
||||
BasePlugin,
|
||||
register_plugin,
|
||||
|
|
@ -17,6 +17,9 @@ from src.plugin_system import (
|
|||
emoji_api,
|
||||
)
|
||||
from src.config.config import global_config
|
||||
from src.common.logger import get_logger
|
||||
|
||||
logger = get_logger("hello_world_plugin")
|
||||
|
||||
|
||||
class CompareNumbersTool(BaseTool):
|
||||
|
|
@ -217,6 +220,39 @@ class RandomEmojis(BaseCommand):
|
|||
return (True, "已发送随机表情包", True) if success else (False, "发送随机表情包失败", False)
|
||||
|
||||
|
||||
class TestCommand(BaseCommand):
|
||||
"""响应/test命令"""
|
||||
|
||||
command_name = "test"
|
||||
command_description = "测试命令"
|
||||
command_pattern = r"^/test$"
|
||||
|
||||
async def execute(self) -> Tuple[bool, Optional[str], int]:
|
||||
"""执行测试命令"""
|
||||
try:
|
||||
from src.plugin_system.apis import generator_api
|
||||
|
||||
reply_reason = "这是一条测试消息。"
|
||||
logger.info(f"测试命令:{reply_reason}")
|
||||
result_status, data = await generator_api.generate_reply(
|
||||
chat_stream=self.message.chat_stream,
|
||||
reply_reason=reply_reason,
|
||||
enable_chinese_typo=False,
|
||||
extra_info=f"{reply_reason}用于测试bot的功能是否正常。请你按设定的人设表达一句\"测试正常\"",
|
||||
)
|
||||
if result_status:
|
||||
# 发送生成的回复
|
||||
if data and data.reply_set and data.reply_set.reply_data:
|
||||
for reply_seg in data.reply_set.reply_data:
|
||||
send_data = reply_seg.content
|
||||
await self.send_text(send_data, storage_message=True)
|
||||
logger.info(f"已回复: {send_data}")
|
||||
return True, "", 1
|
||||
except Exception as e:
|
||||
logger.error(f"表达器生成失败:{e}")
|
||||
return True, "", 1
|
||||
|
||||
|
||||
# ===== 插件注册 =====
|
||||
|
||||
|
||||
|
|
@ -259,6 +295,7 @@ class HelloWorldPlugin(BasePlugin):
|
|||
(PrintMessage.get_handler_info(), PrintMessage),
|
||||
(ForwardMessages.get_handler_info(), ForwardMessages),
|
||||
(RandomEmojis.get_command_info(), RandomEmojis),
|
||||
(TestCommand.get_command_info(), TestCommand),
|
||||
]
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
"""
|
||||
|
||||
import traceback
|
||||
import time
|
||||
from typing import Tuple, Any, Dict, List, Optional, TYPE_CHECKING
|
||||
from rich.traceback import install
|
||||
from src.common.logger import get_logger
|
||||
|
|
@ -118,6 +119,10 @@ async def generate_reply(
|
|||
Tuple[bool, List[Tuple[str, Any]], Optional[str]]: (是否成功, 回复集合, 提示词)
|
||||
"""
|
||||
try:
|
||||
# 如果 reply_time_point 未传入,设置为当前时间戳
|
||||
if reply_time_point is None:
|
||||
reply_time_point = time.time()
|
||||
|
||||
# 获取回复器
|
||||
logger.debug("[GeneratorAPI] 开始生成回复")
|
||||
replyer = get_replyer(chat_stream, chat_id, request_type=request_type)
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ talk_value_rules = [
|
|||
|
||||
[memory]
|
||||
max_agent_iterations = 3 # 记忆思考深度(最低为1)
|
||||
agent_timeout_seconds = 45.0 # 最长回忆时间(秒)
|
||||
agent_timeout_seconds = 200.0 # 最长回忆时间(秒)
|
||||
enable_jargon_detection = true # 记忆检索过程中是否启用黑话识别
|
||||
global_memory = false # 是否允许记忆检索进行全局查询
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue