494 lines
24 KiB
TOML
494 lines
24 KiB
TOML
[inner]
|
||
version = "6.5.6"
|
||
|
||
#----以下是给开发人员阅读的,如果你只是部署了麦麦,不需要阅读----
|
||
#如果你想要修改配置文件,请递增version的值
|
||
#如果新增项目,请阅读src/config/official_configs.py中的说明
|
||
#
|
||
# 版本格式:主版本号.次版本号.修订号,版本号递增规则如下:
|
||
# 主版本号:MMC版本更新
|
||
# 次版本号:配置文件内容大更新
|
||
# 修订号:配置文件内容小更新
|
||
#----以上是给开发人员阅读的,如果你只是部署了麦麦,不需要阅读----
|
||
|
||
[database]# 数据库配置
|
||
database_type = "sqlite" # 数据库类型,支持 "sqlite" 或 "mysql"
|
||
|
||
# SQLite 配置(当 database_type = "sqlite" 时使用)
|
||
sqlite_path = "data/MaiBot.db" # SQLite数据库文件路径
|
||
|
||
# MySQL 配置(当 database_type = "mysql" 时使用)
|
||
mysql_host = "localhost" # MySQL服务器地址
|
||
mysql_port = 3306 # MySQL服务器端口
|
||
mysql_database = "maibot" # MySQL数据库名
|
||
mysql_user = "root" # MySQL用户名
|
||
mysql_password = "" # MySQL密码
|
||
mysql_charset = "utf8mb4" # MySQL字符集
|
||
mysql_unix_socket = "" # MySQL Unix套接字路径(可选,用于本地连接,优先于host/port)
|
||
|
||
# MySQL SSL 配置
|
||
mysql_ssl_mode = "DISABLED" # SSL模式: DISABLED, PREFERRED, REQUIRED, VERIFY_CA, VERIFY_IDENTITY
|
||
mysql_ssl_ca = "" # SSL CA证书路径
|
||
mysql_ssl_cert = "" # SSL客户端证书路径
|
||
mysql_ssl_key = "" # SSL客户端密钥路径
|
||
|
||
# MySQL 高级配置
|
||
mysql_autocommit = true # 自动提交事务
|
||
mysql_sql_mode = "TRADITIONAL" # SQL模式
|
||
|
||
# 连接池配置
|
||
connection_pool_size = 10 # 连接池大小(仅MySQL有效)
|
||
connection_timeout = 10 # 连接超时时间(秒)
|
||
|
||
[permission] # 权限系统配置
|
||
# Master用户配置(拥有最高权限,无视所有权限节点)
|
||
# 格式:[[platform, user_id], ...]
|
||
# 示例:[["qq", "123456"], ["telegram", "user789"]]
|
||
master_users = []# ["qq", "123456789"], # 示例:QQ平台的Master用户
|
||
|
||
[bot]
|
||
platform = "qq"
|
||
qq_account = 1145141919810 # 麦麦的QQ账号
|
||
nickname = "麦麦" # 麦麦的昵称
|
||
alias_names = ["麦叠", "牢麦"] # 麦麦的别名
|
||
|
||
[command]
|
||
command_prefixes = ['/', '!', '.', '#']
|
||
|
||
[personality]
|
||
# 建议50字以内,描述人格的核心特质
|
||
personality_core = "是一个积极向上的女大学生"
|
||
# 人格的细节,描述人格的一些侧面
|
||
personality_side = "用一句话或几句话描述人格的侧面特质"
|
||
#アイデンティティがない 生まれないらららら
|
||
# 可以描述外貌,性别,身高,职业,属性等等描述
|
||
identity = "年龄为19岁,是女孩子,身高为160cm,有黑色的短发"
|
||
|
||
# 描述麦麦说话的表达风格,表达习惯,如要修改,可以酌情新增内容
|
||
reply_style = "回复可以简短一些。可以参考贴吧,知乎和微博的回复风格,回复不要浮夸,不要用夸张修辞,平淡一些。"
|
||
|
||
#回复的Prompt模式选择:s4u为原有s4u样式,normal为0.9之前的模式
|
||
prompt_mode = "s4u" # 可选择 "s4u" 或 "normal"
|
||
|
||
compress_personality = false # 是否压缩人格,压缩后会精简人格信息,节省token消耗并提高回复性能,但是会丢失一些信息,如果人设不长,可以关闭
|
||
compress_identity = true # 是否压缩身份,压缩后会精简身份信息,节省token消耗并提高回复性能,但是会丢失一些信息,如果不长,可以关闭
|
||
|
||
[expression]
|
||
# 表达学习配置
|
||
# rules是一个列表,每个元素都是一个学习规则
|
||
# chat_stream_id: 聊天流ID,格式为 "platform:id:type",例如 "qq:123456:private"。空字符串""表示全局配置
|
||
# use_expression: 是否使用学到的表达 (true/false)
|
||
# learn_expression: 是否学习新的表达 (true/false)
|
||
# learning_strength: 学习强度(浮点数),影响学习频率
|
||
# group: 表达共享组的名称(字符串),相同组的聊天会共享学习到的表达方式
|
||
[[expression.rules]]
|
||
chat_stream_id = ""
|
||
use_expression = true
|
||
learn_expression = true
|
||
learning_strength = 1.0
|
||
|
||
[[expression.rules]]
|
||
chat_stream_id = "qq:1919810:group"
|
||
use_expression = true
|
||
learn_expression = true
|
||
learning_strength = 1.5
|
||
|
||
[[expression.rules]]
|
||
chat_stream_id = "qq:114514:private"
|
||
group = "group_A"
|
||
use_expression = true
|
||
learn_expression = false
|
||
learning_strength = 0.5
|
||
|
||
[[expression.rules]]
|
||
chat_stream_id = "qq:1919810:private"
|
||
group = "group_A"
|
||
use_expression = true
|
||
learn_expression = true
|
||
learning_strength = 1.0
|
||
|
||
|
||
|
||
[chat] #麦麦的聊天通用设置
|
||
focus_value = 1
|
||
# 麦麦的专注思考能力,越高越容易专注,可能消耗更多token
|
||
# 专注时能更好把握发言时机,能够进行持久的连续对话
|
||
|
||
talk_frequency = 1 # 麦麦活跃度,越高,麦麦回复越频繁
|
||
|
||
# 强制私聊专注模式
|
||
force_focus_private = false # 是否强制私聊进入专注模式,开启后私聊将始终保持专注状态
|
||
|
||
# 群聊聊天模式设置
|
||
group_chat_mode = "auto" # 群聊聊天模式:auto-自动切换,normal-强制普通模式,focus-强制专注模式
|
||
|
||
|
||
max_context_size = 25 # 上下文长度
|
||
thinking_timeout = 40 # 麦麦一次回复最长思考规划时间,超过这个时间的思考会放弃(往往是api反应太慢)
|
||
replyer_random_probability = 0.5 # 首要replyer模型被选择的概率
|
||
|
||
mentioned_bot_inevitable_reply = true # 提及 bot 必然回复
|
||
at_bot_inevitable_reply = true # @bot 或 提及bot 必然回复
|
||
# 兼容normal、focus,在focus模式下为强制移除no_reply动作
|
||
|
||
talk_frequency_adjust = [
|
||
["", "8:00,1", "12:00,1.2", "18:00,1.5", "01:00,0.6"],
|
||
["qq:114514:group", "12:20,1", "16:10,2", "20:10,1", "00:10,0.3"],
|
||
["qq:1919810:private", "8:20,1", "12:10,2", "20:10,1.5", "00:10,0.2"]
|
||
]
|
||
# 基于聊天流的个性化活跃度配置
|
||
# 格式:[["platform:chat_id:type", "HH:MM,frequency", "HH:MM,frequency", ...], ...]
|
||
|
||
# 全局配置示例:
|
||
# [["", "8:00,1", "12:00,2", "18:00,1.5", "00:00,0.5"]]
|
||
|
||
# 特定聊天流配置示例:
|
||
# [
|
||
# ["", "8:00,1", "12:00,1.2", "18:00,1.5", "01:00,0.6"], # 全局默认配置
|
||
# ["qq:1026294844:group", "12:20,1", "16:10,2", "20:10,1", "00:10,0.3"], # 特定群聊配置
|
||
# ["qq:729957033:private", "8:20,1", "12:10,2", "20:10,1.5", "00:10,0.2"] # 特定私聊配置
|
||
# ]
|
||
|
||
# 说明:
|
||
# - 当第一个元素为空字符串""时,表示全局默认配置
|
||
# - 当第一个元素为"platform:id:type"格式时,表示特定聊天流配置
|
||
# - 后续元素是"时间,频率"格式,表示从该时间开始使用该活跃度,直到下一个时间点
|
||
# - 优先级:特定聊天流配置 > 全局配置 > 默认 talk_frequency
|
||
|
||
# 主动思考功能配置(仅在focus模式下生效)
|
||
|
||
enable_proactive_thinking = false # 是否启用主动思考功能
|
||
proactive_thinking_interval = 1500 # 主动思考触发间隔时间(秒),默认1500秒(25分钟)
|
||
# TIPS:
|
||
# 创意玩法:可以设置为0!设置为0时将基于delta_sigma生成纯随机间隔
|
||
# 负数保险:如果出现了负数,会自动使用绝对值
|
||
|
||
proactive_thinking_in_private = true # 主动思考可以在私聊里面启用
|
||
proactive_thinking_in_group = true # 主动思考可以在群聊里面启用
|
||
# 主动思考启用范围配置 - 按平台和类型分别配置,建议平台配置为小写
|
||
# 格式:["platform:user_id", "platform:user_id", ...]
|
||
# 示例:["qq:123456789", "telegram:user123", "bilibili:987654321"]
|
||
proactive_thinking_enable_in_private = [] # 启用主动思考的私聊范围,为空则不限制
|
||
proactive_thinking_enable_in_groups = [] # 启用主动思考的群聊范围,为空则不限制
|
||
|
||
delta_sigma = 120 # 正态分布的标准差,控制时间间隔的随机程度
|
||
# 特殊用法:
|
||
# - 设置为0:禁用正态分布,使用固定间隔
|
||
# - 设置得很大(如6000):产生高度随机的间隔,即使基础间隔为0也能工作
|
||
# - 负数会自动转换为正数,不用担心配置错误以及极端边界情况
|
||
# 实验建议:试试 proactive_thinking_interval=0 + delta_sigma 非常大 的纯随机模式!
|
||
# 结果保证:生成的间隔永远为正数(负数会取绝对值),最小1秒,最大24小时
|
||
|
||
[relationship]
|
||
enable_relationship = true # 是否启用关系系统
|
||
relation_frequency = 1 # 关系频率,麦麦构建关系的频率
|
||
|
||
|
||
[message_receive]
|
||
# 以下是消息过滤,可以根据规则过滤特定消息,将不会读取这些消息
|
||
ban_words = [
|
||
# "403","张三"
|
||
]
|
||
|
||
ban_msgs_regex = [
|
||
# 需要过滤的消息(原始消息)匹配的正则表达式,匹配到的消息将被过滤,若不了解正则表达式请勿修改
|
||
#"https?://[^\\s]+", # 匹配https链接
|
||
#"\\d{4}-\\d{2}-\\d{2}", # 匹配日期
|
||
]
|
||
|
||
[anti_prompt_injection] # LLM反注入系统配置
|
||
enabled = false # 是否启用反注入系统
|
||
enabled_rules = false # 是否启用规则检测
|
||
enabled_LLM = false # 是否启用LLM检测
|
||
process_mode = "lenient" # 处理模式:strict(严格模式,直接丢弃), lenient(宽松模式,消息加盾), auto(自动模式), counter_attack(反击模式,使用LLM反击并丢弃消息)
|
||
# 白名单配置
|
||
# 格式:[[platform, user_id], ...]
|
||
# 示例:[["qq", "123456"], ["telegram", "user789"]]
|
||
whitelist = [] # 用户白名单,这些用户的消息将跳过检测
|
||
# LLM检测配置
|
||
llm_detection_enabled = true # 是否启用LLM二次分析
|
||
llm_detection_threshold = 0.7 # LLM判定危险的置信度阈值(0-1)
|
||
# 性能配置
|
||
cache_enabled = true # 是否启用检测结果缓存
|
||
cache_ttl = 3600 # 缓存有效期(秒)
|
||
max_message_length = 150 # 最大检测消息长度,超过将直接判定为危险
|
||
# 统计配置
|
||
stats_enabled = true # 是否启用统计功能
|
||
# 自动封禁配置
|
||
auto_ban_enabled = false # 是否启用自动封禁功能
|
||
auto_ban_violation_threshold = 3 # 触发封禁的违规次数阈值
|
||
auto_ban_duration_hours = 2 # 封禁持续时间(小时)
|
||
# 消息加盾配置(宽松模式下使用)
|
||
shield_prefix = "🛡️ " # 加盾消息前缀
|
||
shield_suffix = " 🛡️" # 加盾消息后缀
|
||
|
||
[normal_chat] #普通聊天
|
||
willing_mode = "classical" # 回复意愿模式 —— 经典模式:classical,mxp模式:mxp,自定义模式:custom(需要你自己实现)
|
||
|
||
[tool]
|
||
enable_tool = true # 是否在普通聊天中启用工具
|
||
|
||
[tool.history]
|
||
enable_history = true # 是否启用工具调用历史记录
|
||
enable_prompt_history = true # 是否在提示词中加入工具历史记录
|
||
max_history = 5 # 每个会话最多保留的历史记录数
|
||
|
||
[mood]
|
||
enable_mood = true # 是否启用情绪系统
|
||
mood_update_threshold = 1 # 情绪更新阈值,越高,更新越慢
|
||
|
||
[emoji]
|
||
emoji_chance = 0.6 # 麦麦激活表情包动作的概率
|
||
emoji_activate_type = "llm" # 表情包激活类型,可选:random,llm ; random下,表情包动作随机启用,llm下,表情包动作根据llm判断是否启用
|
||
|
||
max_reg_num = 60 # 表情包最大注册数量
|
||
do_replace = true # 开启则在达到最大数量时删除(替换)表情包,关闭则达到最大数量时不会继续收集表情包
|
||
check_interval = 10 # 检查表情包(注册,破损,删除)的时间间隔(分钟)
|
||
steal_emoji = true # 是否偷取表情包,让麦麦可以将一些表情包据为己有
|
||
content_filtration = false # 是否启用表情包过滤,只有符合该要求的表情包才会被保存
|
||
filtration_prompt = "符合公序良俗" # 表情包过滤要求,只有符合该要求的表情包才会被保存
|
||
enable_emotion_analysis = false # 是否启用表情包感情关键词二次识别,启用后表情包在第一次识别完毕后将送入第二次大模型识别来总结感情关键词,并构建进回复和决策器的上下文消息中
|
||
|
||
[memory]
|
||
enable_memory = true # 是否启用记忆系统
|
||
memory_build_interval = 600 # 记忆构建间隔 单位秒 间隔越低,麦麦学习越多,但是冗余信息也会增多
|
||
memory_build_distribution = [6.0, 3.0, 0.6, 32.0, 12.0, 0.4] # 记忆构建分布,参数:分布1均值,标准差,权重,分布2均值,标准差,权重
|
||
memory_build_sample_num = 8 # 采样数量,数值越高记忆采样次数越多
|
||
memory_build_sample_length = 30 # 采样长度,数值越高一段记忆内容越丰富
|
||
memory_compress_rate = 0.1 # 记忆压缩率 控制记忆精简程度 建议保持默认,调高可以获得更多信息,但是冗余信息也会增多
|
||
|
||
forget_memory_interval = 3000 # 记忆遗忘间隔 单位秒 间隔越低,麦麦遗忘越频繁,记忆更精简,但更难学习
|
||
memory_forget_time = 48 #多长时间后的记忆会被遗忘 单位小时
|
||
memory_forget_percentage = 0.008 # 记忆遗忘比例 控制记忆遗忘程度 越大遗忘越多 建议保持默认
|
||
|
||
consolidate_memory_interval = 1000 # 记忆整合间隔 单位秒 间隔越低,麦麦整合越频繁,记忆更精简
|
||
consolidation_similarity_threshold = 0.7 # 相似度阈值
|
||
consolidation_check_percentage = 0.05 # 检查节点比例
|
||
|
||
enable_instant_memory = false # 是否启用即时记忆,测试功能,可能存在未知问题
|
||
enable_llm_instant_memory = true # 是否启用基于LLM的瞬时记忆
|
||
enable_vector_instant_memory = true # 是否启用基于向量的瞬时记忆
|
||
|
||
#不希望记忆的词,已经记忆的不会受到影响,需要手动清理
|
||
memory_ban_words = [ "表情包", "图片", "回复", "聊天记录" ]
|
||
|
||
[voice]
|
||
enable_asr = false # 是否启用语音识别,启用后麦麦可以识别语音消息,启用该功能需要配置语音识别模型[model.voice]s
|
||
|
||
[lpmm_knowledge] # lpmm知识库配置
|
||
enable = false # 是否启用lpmm知识库
|
||
rag_synonym_search_top_k = 10 # 同义词搜索TopK
|
||
rag_synonym_threshold = 0.8 # 同义词阈值(相似度高于此阈值的词语会被认为是同义词)
|
||
info_extraction_workers = 3 # 实体提取同时执行线程数,非Pro模型不要设置超过5
|
||
qa_relation_search_top_k = 10 # 关系搜索TopK
|
||
qa_relation_threshold = 0.5 # 关系阈值(相似度高于此阈值的关系会被认为是相关的关系)
|
||
qa_paragraph_search_top_k = 1000 # 段落搜索TopK(不能过小,可能影响搜索结果)
|
||
qa_paragraph_node_weight = 0.05 # 段落节点权重(在图搜索&PPR计算中的权重,当搜索仅使用DPR时,此参数不起作用)
|
||
qa_ent_filter_top_k = 10 # 实体过滤TopK
|
||
qa_ppr_damping = 0.8 # PPR阻尼系数
|
||
qa_res_top_k = 3 # 最终提供的文段TopK
|
||
embedding_dimension = 1024 # 嵌入向量维度,应该与模型的输出维度一致
|
||
|
||
# keyword_rules 用于设置关键词触发的额外回复知识
|
||
# 添加新规则方法:在 keyword_rules 数组中增加一项,格式如下:
|
||
# { keywords = ["关键词1", "关键词2"], reaction = "触发这些关键词时的回复内容" }
|
||
# 例如,添加一个新规则:当检测到“你好”或“hello”时回复“你好,有什么可以帮你?”
|
||
# { keywords = ["你好", "hello"], reaction = "你好,有什么可以帮你?" }
|
||
[keyword_reaction]
|
||
keyword_rules = [
|
||
{ keywords = ["人机", "bot", "机器", "入机", "robot", "机器人", "ai", "AI"], reaction = "有人说你是人机或者机器人,否定这一事实,攻击或反问他。注意,只有认为你是机器人才回复,否则不要否认" },
|
||
{ keywords = ["测试关键词回复", "test"], reaction = "回答测试成功" },
|
||
#{ keywords = ["你好", "hello"], reaction = "你好,有什么可以帮你?" }
|
||
# 在此处添加更多规则,格式同上
|
||
]
|
||
|
||
regex_rules = [
|
||
{ regex = ["^(?P<n>\\S{1,20})是这样的$"], reaction = "请按照以下模板造句:[n]是这样的,xx只要xx就可以,可是[n]要考虑的事情就很多了,比如什么时候xx,什么时候xx,什么时候xx。(请自由发挥替换xx部分,只需保持句式结构,同时表达一种将[n]过度重视的反讽意味)" }
|
||
]
|
||
|
||
# 可以自定义部分提示词
|
||
[custom_prompt]
|
||
image_prompt = "请用中文描述这张图片的内容。如果有文字,请把文字描述概括出来,请留意其主题,直观感受,输出为一段平文本,最多30字,请注意不要分点,就输出一段文本"
|
||
planner_custom_prompt_content = "" # 决策器自定义提示词内容,如果这里没有内容则不生效
|
||
|
||
[response_post_process]
|
||
enable_response_post_process = true # 是否启用回复后处理,包括错别字生成器,回复分割器
|
||
|
||
[chinese_typo]
|
||
enable = true # 是否启用中文错别字生成器
|
||
error_rate=0.01 # 单字替换概率
|
||
min_freq=9 # 最小字频阈值
|
||
tone_error_rate=0.1 # 声调错误概率
|
||
word_replace_rate=0.006 # 整词替换概率
|
||
|
||
[response_splitter]
|
||
enable = true # 是否启用回复分割器
|
||
max_length = 512 # 回复允许的最大长度
|
||
max_sentence_num = 8 # 回复允许的最大句子数
|
||
enable_kaomoji_protection = false # 是否启用颜文字保护
|
||
|
||
[log]
|
||
date_style = "m-d H:i:s" # 日期格式
|
||
log_level_style = "lite" # 日志级别样式,可选FULL,compact,lite
|
||
color_text = "full" # 日志文本颜色,可选none,title,full
|
||
log_level = "INFO" # 全局日志级别(向下兼容,优先级低于下面的分别设置)
|
||
console_log_level = "INFO" # 控制台日志级别,可选: DEBUG, INFO, WARNING, ERROR, CRITICAL
|
||
file_log_level = "DEBUG" # 文件日志级别,可选: DEBUG, INFO, WARNING, ERROR, CRITICAL
|
||
|
||
# 第三方库日志控制
|
||
suppress_libraries = ["faiss","httpx", "urllib3", "asyncio", "websockets", "httpcore", "requests", "peewee", "openai","uvicorn","jieba","maim_message"] # 完全屏蔽的库
|
||
library_log_levels = { "aiohttp" = "WARNING"} # 设置特定库的日志级别
|
||
|
||
[dependency_management] # 插件Python依赖管理配置
|
||
# 是否启用自动安装Python依赖包(主开关)
|
||
auto_install = true #暂时关闭一下因为还用不了
|
||
# 安装超时时间(秒)
|
||
auto_install_timeout = 300
|
||
# 是否使用PyPI镜像源(推荐,可加速下载)
|
||
use_mirror = true
|
||
mirror_url = "https://pypi.tuna.tsinghua.edu.cn/simple" # PyPI镜像源URL,如: "https://pypi.tuna.tsinghua.edu.cn/simple"
|
||
# 安装前是否提示用户(暂未实现)
|
||
prompt_before_install = false
|
||
# 依赖安装日志级别
|
||
install_log_level = "INFO"
|
||
|
||
[debug]
|
||
show_prompt = false # 是否显示prompt
|
||
|
||
[maim_message]
|
||
auth_token = [] # 认证令牌,用于API验证,为空则不启用验证
|
||
# 以下项目若要使用需要打开use_custom,并单独配置maim_message的服务器
|
||
use_custom = false # 是否启用自定义的maim_message服务器,注意这需要设置新的端口,不能与.env重复
|
||
host="127.0.0.1"
|
||
port=8090
|
||
mode="ws" # 支持ws和tcp两种模式
|
||
use_wss = false # 是否使用WSS安全连接,只支持ws模式
|
||
cert_file = "" # SSL证书文件路径,仅在use_wss=true时有效
|
||
key_file = "" # SSL密钥文件路径,仅在use_wss=true时有效
|
||
|
||
[schedule] #日程管理
|
||
enable = false # 是否启用日程管理功能
|
||
# 日程生成指导原则,如果不设置则使用默认原则
|
||
guidelines = """
|
||
我希望你每天都能过得充实而有趣。
|
||
请确保你的日程里有学习新知识的时间,这是你成长的关键。
|
||
但也不要忘记放松,可以看看视频、听听音乐或者玩玩游戏。
|
||
晚上我希望你能多和朋友们交流,维系好彼此的关系。
|
||
另外,请保证充足的休眠时间来处理和整合一天的数据。
|
||
"""
|
||
enable_is_sleep = false
|
||
|
||
[video_analysis] # 视频分析配置
|
||
enable = true # 是否启用视频分析功能
|
||
analysis_mode = "batch_frames" # 分析模式:"frame_by_frame"(逐帧分析,非常慢 "建议frames大于8时不要使用这个" ...但是详细)、"batch_frames"(批量分析,快但可能略简单 -其实效果也差不多)或 "auto"(自动选择)
|
||
frame_extraction_mode = "fixed_number" # 抽帧模式: "fixed_number" (固定总帧数) 或 "time_interval" (按时间间隔)
|
||
frame_interval_seconds = 2.0 # 按时间间隔抽帧的秒数(仅在 mode = "time_interval" 时生效)
|
||
max_frames = 16 # 最大分析帧数(仅在 mode = "fixed_number" 时生效)
|
||
frame_quality = 80 # 帧图像JPEG质量 (1-100)
|
||
max_image_size = 800 # 单帧最大图像尺寸(像素)
|
||
enable_frame_timing = true # 是否在分析中包含帧的时间信息
|
||
use_multiprocessing = true # 是否使用线程池处理视频帧提取(推荐开启,可防止卡死)
|
||
max_workers = 2 # 最大线程数(建议1-2个,避免过度消耗资源)
|
||
# 批量分析时使用的提示词
|
||
batch_analysis_prompt = """请以第一人称的视角来观看这一个视频,你看到的这些是从视频中按时间顺序提取的关键帧。
|
||
|
||
你的核心人设是:{personality_core}。
|
||
你的人格细节是:{personality_side}。
|
||
|
||
请提供详细的视频内容描述,涵盖以下方面:
|
||
1. 视频的整体内容和主题
|
||
2. 主要人物、对象和场景描述
|
||
3. 动作、情节和时间线发展
|
||
4. 视觉风格和艺术特点
|
||
5. 整体氛围和情感表达
|
||
6. 任何特殊的视觉效果或文字内容
|
||
|
||
请用中文回答,结果要详细准确。"""
|
||
# 请不要修改{personality_core}和{personality_side}哦~
|
||
|
||
|
||
# 网络搜索组件配置
|
||
[web_search]
|
||
enable_web_search_tool = true # 是否启用联网搜索tool
|
||
enable_url_tool = true # 是否启用URL解析tool
|
||
tavily_api_keys = ["None"]# Tavily API密钥列表,支持轮询机制
|
||
exa_api_keys = ["None"]# EXA API密钥列表,支持轮询机制
|
||
|
||
# 搜索引擎配置
|
||
enabled_engines = ["ddg"] # 启用的搜索引擎列表,可选: "exa", "tavily", "ddg","bing"
|
||
search_strategy = "single" # 搜索策略: "single"(使用第一个可用引擎), "parallel"(并行使用所有启用的引擎), "fallback"(按顺序尝试,失败则尝试下一个)
|
||
|
||
[plugins] # 插件配置
|
||
centralized_config = true # 是否启用插件配置集中化管理
|
||
|
||
# ----------------------------------------------------------------
|
||
# 月度计划系统设置 (Monthly Plan System Settings)
|
||
# ----------------------------------------------------------------
|
||
[monthly_plan_system]
|
||
# 是否启用本功能
|
||
enable = true
|
||
# 每个月允许存在的最大计划数量
|
||
max_plans_per_month = 20
|
||
# 计划使用多少次后自动标记为已完成
|
||
completion_threshold = 3
|
||
# 多少天内不重复抽取同一个计划
|
||
avoid_repetition_days = 7
|
||
# 月度计划生成的指导原则(可选,如果不设置则使用默认原则)
|
||
guidelines = """
|
||
我希望你能为自己制定一些有意义的月度小目标和计划。
|
||
这些计划应该涵盖学习、娱乐、社交、个人成长等各个方面。
|
||
每个计划都应该是具体可行的,能够在一个月内通过日常活动逐步实现。
|
||
请确保计划既有挑战性又不会过于繁重,保持生活的平衡和乐趣。
|
||
"""
|
||
|
||
[wakeup_system]
|
||
enable = false #"是否启用唤醒度系统"
|
||
wakeup_threshold = 15.0 #唤醒阈值,达到此值时会被唤醒"
|
||
private_message_increment = 3.0 #"私聊消息增加的唤醒度"
|
||
group_mention_increment = 2.0 #"群聊艾特增加的唤醒度"
|
||
decay_rate = 0.2 #"每次衰减的唤醒度数值"
|
||
decay_interval = 30.0 #"唤醒度衰减间隔(秒)"
|
||
angry_duration = 300.0 #"愤怒状态持续时间(秒)"
|
||
angry_prompt = "你被人吵醒了非常生气,说话带着怒气" # "被吵醒后的愤怒提示词"
|
||
|
||
# --- 失眠机制相关参数 ---
|
||
enable_insomnia_system = false # 是否启用失眠系统
|
||
# 触发“压力不足型失眠”的睡眠压力阈值
|
||
sleep_pressure_threshold = 30.0
|
||
# 进入“深度睡眠”的睡眠压力阈值
|
||
deep_sleep_threshold = 80.0
|
||
# 压力不足时的失眠基础概率 (0.0 to 1.0)
|
||
insomnia_chance_low_pressure = 0.6
|
||
# 压力正常时的失眠基础概率 (0.0 to 1.0)
|
||
insomnia_chance_normal_pressure = 0.1
|
||
# 每次AI执行动作后,增加的睡眠压力值
|
||
sleep_pressure_increment = 1.5
|
||
# 睡眠时,每分钟衰减的睡眠压力值
|
||
sleep_pressure_decay_rate = 1.5
|
||
insomnia_duration_minutes = 30 # 单次失眠状态的持续时间(分钟)
|
||
|
||
[cross_context] # 跨群聊上下文共享配置
|
||
# 这是总开关,用于一键启用或禁用此功能
|
||
enable = false
|
||
# 在这里定义您的“共享组”
|
||
# 只有在同一个组内的群聊才会共享上下文
|
||
# 注意:这里的chat_ids需要填写群号
|
||
[[cross_context.groups]]
|
||
name = "项目A技术讨论组"
|
||
chat_ids = [
|
||
"111111", # 假设这是“开发群”的ID
|
||
"222222" # 假设这是“产品群”的ID
|
||
]
|
||
|
||
[maizone_intercom]
|
||
# QQ空间互通组配置
|
||
# 启用后,发布说说时会读取指定互通组的上下文
|
||
enable = false
|
||
# 定义QQ空间互通组
|
||
# 同一个组的chat_id会共享上下文,用于生成更相关的说说
|
||
[[maizone_intercom.groups]]
|
||
name = "Maizone默认互通组"
|
||
chat_ids = [
|
||
"111111", # 示例群聊1
|
||
"222222" # 示例群聊2
|
||
] |