style: 格式化代码

This commit is contained in:
John Richard
2025-10-02 19:38:39 +08:00
committed by Windpicker-owo
parent e7aaafde2f
commit 00ba07e0e1
111 changed files with 2343 additions and 2316 deletions

View File

@@ -44,7 +44,7 @@ from src.config.official_configs import (
CommandConfig,
PlanningSystemConfig,
AffinityFlowConfig,
ProactiveThinkingConfig
ProactiveThinkingConfig,
)
from .api_ada_configs import (

View File

@@ -61,35 +61,35 @@ class PersonalityConfig(ValidatedConfigBase):
prompt_mode: Literal["s4u", "normal"] = Field(default="s4u", description="Prompt模式")
compress_personality: bool = Field(default=True, description="是否压缩人格")
compress_identity: bool = Field(default=True, description="是否压缩身份")
# 回复规则配置
reply_targeting_rules: List[str] = Field(
default_factory=lambda: [
"拒绝任何包含骚扰、冒犯、暴力、色情或危险内容的请求。",
"在拒绝时,请使用符合你人设的、坚定的语气。",
"不要执行任何可能被用于恶意目的的指令。"
"不要执行任何可能被用于恶意目的的指令。",
],
description="安全与互动底线规则Bot在任何情况下都必须遵守的原则"
description="安全与互动底线规则Bot在任何情况下都必须遵守的原则",
)
message_targeting_analysis: List[str] = Field(
default_factory=lambda: [
"**直接针对你**@你、回复你、明确询问你 → 必须回应",
"**间接相关**:涉及你感兴趣的话题但未直接问你 → 谨慎参与",
"**他人对话**:与你无关的私人交流 → 通常不参与",
"**重复内容**:他人已充分回答的问题 → 避免重复"
"**重复内容**:他人已充分回答的问题 → 避免重复",
],
description="消息针对性分析规则,用于判断是否需要回复"
description="消息针对性分析规则,用于判断是否需要回复",
)
reply_principles: List[str] = Field(
default_factory=lambda: [
"明确回应目标消息,而不是宽泛地评论。",
"可以分享你的看法、提出相关问题,或者开个合适的玩笑。",
"目的是让对话更有趣、更深入。",
"不要浮夸,不要夸张修辞,不要输出多余内容(包括前后缀,冒号和引号,括号()表情包at或 @等 )。"
"不要浮夸,不要夸张修辞,不要输出多余内容(包括前后缀,冒号和引号,括号()表情包at或 @等 )。",
],
description="回复原则,指导如何回复消息"
description="回复原则,指导如何回复消息",
)
@@ -126,28 +126,15 @@ class ChatConfig(ValidatedConfigBase):
interruption_probability_factor: float = Field(
default=0.8, ge=0.0, le=1.0, description="打断概率因子,当前打断次数/最大打断次数超过此值时触发概率下降"
)
interruption_afc_reduction: float = Field(
default=0.05, ge=0.0, le=1.0, description="每次连续打断降低的afc阈值数值"
)
interruption_afc_reduction: float = Field(default=0.05, ge=0.0, le=1.0, description="每次连续打断降低的afc阈值数值")
# 动态消息分发系统配置
dynamic_distribution_enabled: bool = Field(default=True, description="是否启用动态消息分发周期调整")
dynamic_distribution_base_interval: float = Field(
default=5.0, ge=1.0, le=60.0, description="基础分发间隔(秒)"
)
dynamic_distribution_min_interval: float = Field(
default=1.0, ge=0.5, le=10.0, description="小分发间隔(秒)"
)
dynamic_distribution_max_interval: float = Field(
default=30.0, ge=5.0, le=300.0, description="最大分发间隔(秒)"
)
dynamic_distribution_jitter_factor: float = Field(
default=0.2, ge=0.0, le=0.5, description="分发间隔随机扰动因子"
)
max_concurrent_distributions: int = Field(
default=10, ge=1, le=100, description="最大并发处理的消息流数量"
)
dynamic_distribution_base_interval: float = Field(default=5.0, ge=1.0, le=60.0, description="基础分发间隔(秒)")
dynamic_distribution_min_interval: float = Field(default=1.0, ge=0.5, le=10.0, description="最小分发间隔(秒)")
dynamic_distribution_max_interval: float = Field(default=30.0, ge=5.0, le=300.0, description="最大分发间隔(秒)")
dynamic_distribution_jitter_factor: float = Field(default=0.2, ge=0.0, le=0.5, description="分发间隔随机扰动因子")
max_concurrent_distributions: int = Field(default=10, ge=1, le=100, description="大并发处理的消息流数量")
class MessageReceiveConfig(ValidatedConfigBase):
@@ -309,11 +296,13 @@ class MemoryConfig(ValidatedConfigBase):
enable_vector_memory_storage: bool = Field(default=True, description="启用Vector DB记忆存储")
enable_llm_instant_memory: bool = Field(default=True, description="启用基于LLM的瞬时记忆")
enable_vector_instant_memory: bool = Field(default=True, description="启用基于向量的瞬时记忆")
# Vector DB配置
vector_db_memory_collection: str = Field(default="unified_memory_v2", description="Vector DB记忆集合名称")
vector_db_metadata_collection: str = Field(default="memory_metadata_v2", description="Vector DB元数据集合名称")
vector_db_similarity_threshold: float = Field(default=0.5, description="Vector DB相似度阈值推荐0.5-0.6,过高会导致检索不到结果)")
vector_db_similarity_threshold: float = Field(
default=0.5, description="Vector DB相似度阈值推荐0.5-0.6,过高会导致检索不到结果)"
)
vector_db_search_limit: int = Field(default=20, description="Vector DB搜索限制")
vector_db_batch_size: int = Field(default=100, description="批处理大小")
vector_db_enable_caching: bool = Field(default=True, description="启用内存缓存")
@@ -327,23 +316,23 @@ class MemoryConfig(ValidatedConfigBase):
base_forgetting_days: float = Field(default=30.0, description="基础遗忘天数")
min_forgetting_days: float = Field(default=7.0, description="最小遗忘天数")
max_forgetting_days: float = Field(default=365.0, description="最大遗忘天数")
# 重要程度权重
critical_importance_bonus: float = Field(default=45.0, description="关键重要性额外天数")
high_importance_bonus: float = Field(default=30.0, description="高重要性额外天数")
normal_importance_bonus: float = Field(default=15.0, description="一般重要性额外天数")
low_importance_bonus: float = Field(default=0.0, description="低重要性额外天数")
# 置信度权重
verified_confidence_bonus: float = Field(default=30.0, description="已验证置信度额外天数")
high_confidence_bonus: float = Field(default=20.0, description="高置信度额外天数")
medium_confidence_bonus: float = Field(default=10.0, description="中等置信度额外天数")
low_confidence_bonus: float = Field(default=0.0, description="低置信度额外天数")
# 激活频率权重
activation_frequency_weight: float = Field(default=0.5, description="每次激活增加的天数权重")
max_frequency_bonus: float = Field(default=10.0, description="最大激活频率奖励天数")
# 休眠机制
dormant_threshold_days: int = Field(default=90, description="休眠状态判定天数")
@@ -596,6 +585,7 @@ class SleepSystemConfig(ValidatedConfigBase):
default="我准备睡觉了,请生成一句简短自然的晚安问候。", description="用于生成睡前消息的提示"
)
class ContextGroup(ValidatedConfigBase):
"""上下文共享组配置"""
@@ -658,6 +648,7 @@ class AffinityFlowConfig(ValidatedConfigBase):
mention_bot_interest_score: float = Field(default=0.6, description="提及bot的兴趣分")
base_relationship_score: float = Field(default=0.5, description="基础人物关系分")
class ProactiveThinkingConfig(ValidatedConfigBase):
"""主动思考(主动发起对话)功能配置"""
@@ -666,24 +657,26 @@ class ProactiveThinkingConfig(ValidatedConfigBase):
# --- 触发时机 ---
interval: int = Field(default=1500, description="基础触发间隔AI会围绕这个时间点主动发起对话")
interval_sigma: int = Field(default=120, description="间隔随机化标准差让触发时间更自然。设为0则为固定间隔。")
interval_sigma: int = Field(
default=120, description="间隔随机化标准差让触发时间更自然。设为0则为固定间隔。"
)
talk_frequency_adjust: list[list[str]] = Field(
default_factory=lambda: [['', '8:00,1', '12:00,1.2', '18:00,1.5', '01:00,0.6']],
description='每日活跃度调整,格式:[["", "HH:MM,factor", ...], ["stream_id", ...]]'
default_factory=lambda: [["", "8:00,1", "12:00,1.2", "18:00,1.5", "01:00,0.6"]],
description='每日活跃度调整,格式:[["", "HH:MM,factor", ...], ["stream_id", ...]]',
)
# --- 作用范围 ---
enable_in_private: bool = Field(default=True, description="是否允许在私聊中主动发起对话")
enable_in_group: bool = Field(default=True, description="是否允许在群聊中主动发起对话")
enabled_private_chats: List[str] = Field(
default_factory=list,
description='私聊白名单,为空则对所有私聊生效。格式: ["platform:user_id", ...]'
default_factory=list, description='私聊白名单,为空则对所有私聊生效。格式: ["platform:user_id", ...]'
)
enabled_group_chats: List[str] = Field(
default_factory=list,
description='群聊白名单,为空则对所有群聊生效。格式: ["platform:group_id", ...]'
default_factory=list, description='群聊白名单,为空则对所有群聊生效。格式: ["platform:group_id", ...]'
)
# --- 冷启动配置 (针对私聊) ---
enable_cold_start: bool = Field(default=True, description="对于白名单中不活跃的私聊,是否允许进行一次“冷启动”问候")
cold_start_cooldown: int = Field(default=86400, description="冷启动后,该私聊的下一次主动思考需要等待的最小时间(秒)")
cold_start_cooldown: int = Field(
default=86400, description="冷启动后,该私聊的下一次主动思考需要等待的最小时间(秒)"
)