refactor ai_auto_response into xiaoniu group bot
This commit is contained in:
@@ -1,72 +1,88 @@
|
||||
enable = true
|
||||
|
||||
dify_api_url = "http://192.168.2.240/v1/chat-messages"
|
||||
dify_api_key = "app-oDHbln5CzBLt3uS9bIBlJjhZ" # 请在此处填入您的DIFY API密钥
|
||||
[persona]
|
||||
name = "小牛"
|
||||
persona_file = "persona/xiaoniu.txt"
|
||||
style = "自然、口语化、像群友,先回答问题,再决定是否延伸"
|
||||
emoji_probability = 0.18
|
||||
max_reply_sentences = 3
|
||||
familiarity_hint = "有熟悉感,但不过度装熟"
|
||||
|
||||
[Keywords]
|
||||
# 表情符号库
|
||||
emojis = ["[捂脸]", "[奸笑]", "[可怜]", "[擦汗]", "[发呆]", "[抠鼻]", "[破涕为笑]", "[旺柴]"]
|
||||
# 话题关键词
|
||||
hot_topics = ["咖啡", "手机", "小米", "华为", "苹果", "价格", "流畅", "螺蛳粉", "外卖"]
|
||||
fish_keywords = [
|
||||
"鱼缸", "缸", "鱼", "鱼苗", "热带鱼", "金鱼", "观赏鱼", "罗汉鱼", "斗鱼", "孔雀鱼", "神仙鱼", "鹦鹉鱼",
|
||||
"灯科", "龙鱼", "地图鱼", "魟鱼", "草缸", "海缸", "水草", "水泵", "滤材", "硝化", "过滤", "缸体",
|
||||
"缸底", "底砂", "加热棒", "冷水鱼", "水温", "水质", "换水", "晒水", "PH值", "亚硝酸盐", "硝酸盐",
|
||||
"鱼食", "投喂", "喂食", "缸养", "寄生虫", "白点", "病鱼", "翻肚", "缸爆", "沉底", "氧气泵",
|
||||
"打氧", "造景", "生化球", "过滤桶", "外置过滤", "过滤棉", "清缸", "拉线", "鱼便", "崩缸",
|
||||
"饲养", "养水", "循环系统", "水妖精", "进水口", "出水口", "滴流盒", "蛋分", "藻类", "绿水",
|
||||
"爆藻", "石头", "沉木", "CO2", "定时器"
|
||||
[api]
|
||||
provider = "openai_compatible"
|
||||
api_base_url = "https://api.xinmeng.dpdns.org/v1"
|
||||
endpoint = "chat/completions"
|
||||
api_key = "sk-XTWwXIgo2QMyX8AwBg0NQrxaDkvQiCX8rfylfmnHID5zdjMt"
|
||||
model = "gpt-5.4"
|
||||
timeout_seconds = 45
|
||||
temperature = 0.7
|
||||
max_tokens = 500
|
||||
stream = true
|
||||
|
||||
[mode]
|
||||
group_default_mode = "social"
|
||||
question_reply_timeout_sec = 12
|
||||
followup_session_window_sec = 300
|
||||
recent_context_size = 30
|
||||
allow_proactive_reply = true
|
||||
returning_member_days = 7
|
||||
long_absent_member_days = 30
|
||||
memory_lookback_days = 180
|
||||
active_context_hours = 8
|
||||
|
||||
[priority]
|
||||
at_bot = 1.0
|
||||
explicit_question = 0.95
|
||||
followup = 0.90
|
||||
social_call = 0.65
|
||||
casual_topic = 0.35
|
||||
|
||||
[flow]
|
||||
enable_flow_state = true
|
||||
flow_decay_per_minute = 8
|
||||
idle_threshold = 20
|
||||
warming_threshold = 40
|
||||
engaged_threshold = 70
|
||||
at_bot_boost = 40
|
||||
question_boost = 30
|
||||
followup_boost = 20
|
||||
topic_boost = 15
|
||||
returning_member_boost = 10
|
||||
response_accepted_boost = 15
|
||||
ignored_reply_penalty = 20
|
||||
over_reply_penalty = 15
|
||||
night_penalty = 30
|
||||
max_bot_reply_streak = 3
|
||||
|
||||
[cooldown]
|
||||
group_reply_cooldown_sec = 45
|
||||
same_user_followup_cooldown_sec = 10
|
||||
night_silent_hours = ["01:00-07:30"]
|
||||
|
||||
[memory]
|
||||
enable_member_context = true
|
||||
enable_vector_memory = true
|
||||
vector_provider = "qdrant"
|
||||
embedding_provider = "ollama"
|
||||
qdrant_url = "http://127.0.0.1:6333"
|
||||
qdrant_collection = "abot_xiaoniu_memory"
|
||||
ollama_base_url = "http://192.168.2.50:11434"
|
||||
embedding_model = "bge-m3"
|
||||
vector_top_k = 5
|
||||
vector_min_score = 0.65
|
||||
vector_trigger_modes = ["returning_member", "long_absent_member", "qa_with_context", "reactivated_topic"]
|
||||
|
||||
[topics]
|
||||
focus = [
|
||||
"技术", "开发", "程序", "python", "微信机器人", "脚本", "报错", "部署",
|
||||
"服务器", "docker", "数据库", "redis", "mysql", "qdrant", "ollama", "dify",
|
||||
"ai", "大模型", "接口", "插件", "自动化"
|
||||
]
|
||||
tech_keywords = [
|
||||
# 品牌/系统相关
|
||||
"MIUI", "鸿蒙", "iOS", "iPhone", "安卓", "Android", "Windows", "Mac", "Linux",
|
||||
"小米", "华为", "荣耀", "苹果", "三星", "vivo", "OPPO", "realme", "魅族", "一加", "红米", "中兴", "联想",
|
||||
|
||||
# 功能/硬件组件
|
||||
"推送", "充电", "屏幕", "电池", "信号", "发热", "卡顿", "刷新率", "像素", "拍照", "音质",
|
||||
"NFC", "红外", "扬声器", "马达", "快充", "耗电", "续航", "UI", "指纹", "面部识别", "解锁",
|
||||
"摄像头", "前摄", "后摄", "内存", "闪存", "存储空间", "RAM", "ROM", "屏占比", "刘海屏", "挖孔屏", "折叠屏",
|
||||
[filters]
|
||||
ignore_prefixes = ["/", "#"]
|
||||
ignore_exact = ["收到", "好的", "嗯", "哦", "6", "1", "?", "?"]
|
||||
min_text_length = 1
|
||||
|
||||
# 芯片/性能
|
||||
"骁龙", "天玑", "麒麟", "A系列", "SoC", "处理器", "芯片", "跑分", "安兔兔", "鲁大师", "GPU", "CPU", "核心", "制程",
|
||||
|
||||
# 系统/应用/开发
|
||||
"系统更新", "OTA", "开源", "固件", "刷机", "root", "bootloader", "ADB", "Xposed", "系统权限", "卡刷", "线刷",
|
||||
|
||||
# 科技趋势/智能化
|
||||
"AI", "人工智能", "大模型", "GPT", "ChatGPT", "语音助手", "Siri", "小爱同学", "小艺", "算法", "智能识别",
|
||||
"自动驾驶", "感应器", "人脸识别", "语音识别", "AR", "VR", "混合现实", "穿戴设备", "智能手表", "手环"
|
||||
]
|
||||
mechanism_keywords = []
|
||||
news_keywords = ["新闻", "骨灰房", "法院", "判决", "住建局"]
|
||||
|
||||
[TimeWindow]
|
||||
# 早晨签到时间窗口(8:00-8:30)
|
||||
morning_start_hour = 8
|
||||
morning_start_minute = 0
|
||||
morning_end_hour = 8
|
||||
morning_end_minute = 30
|
||||
|
||||
[ReplyThreshold]
|
||||
# 每分钟消息数阈值,超过此值将触发AI介入
|
||||
messages_per_minute_threshold = 3
|
||||
# 分析窗口大小(分钟)
|
||||
analysis_window_minutes = 5
|
||||
|
||||
[HumanLike]
|
||||
# 最大体力值
|
||||
max_energy = 100.0
|
||||
# 体力恢复速度(每分钟)
|
||||
energy_recovery_per_minute = 1.0
|
||||
# 每次回复消耗体力
|
||||
energy_cost_per_reply = 15.0
|
||||
# 基础参与度增加(每收到一条群消息)
|
||||
participation_increase_per_msg = 5.0
|
||||
# 话题相关参与度奖励
|
||||
topic_match_bonus = 15.0
|
||||
# 触发回复的参与度阈值(只有参与度高于此值才可能回复)
|
||||
participation_threshold = 20.0
|
||||
# 每次回复后参与度降低比例 (0.0 - 1.0, 1.0表示清零)
|
||||
participation_drop_factor = 0.8
|
||||
# 基础回复概率 (0.0 - 1.0) - 当满足阈值时,基于此概率和体力值计算最终概率
|
||||
base_reply_probability = 0.6
|
||||
[logging]
|
||||
debug = true
|
||||
|
||||
Reference in New Issue
Block a user