Skip to content

配置参考 ​

框架读取项目目录里的 JSON 配置。仓库中的 *.example.json 是通用模板,本地生成的配置已被 Git 忽略。

文件用途
bot_config.json账号、会话范围、插件开关、发送节奏
members_config.json支持的群、群内称呼、消息记录
llm_config.json大模型地址、密钥、模型与超时
tts_config.jsonFish Audio 密钥、模型、默认音色与合成参数

机器人配置 ​

常用字段如下,完整默认值以 bot_config.example.json 为准。

字段默认值说明
backendnative_text文本、图片、文件、表情和语音能力使用此后端
wechat_accountnull首次启动自动识别或选择,之后保存机器人 wxid
wechat_pidnull通常保持默认,程序按绑定账号寻找进程
chat_allowlist[]空列表允许全部会话;非空时只分发指定会话
image_directory.runtime/images收到图片的保存目录
file_directory.runtime/files收到文件的保存目录,按微信账号隔离
emoticon_directory.runtime/emoticons表情缓存导出目录
wechat_data_directorynull仅导出表情时设置当前账号的数据目录
reconnect_seconds5连接重试间隔,单位秒
consoletrue启用本地控制台命令
log_levelINFO日志级别
plugin_queue_size128每个插件的消息队列容量

相对文件路径以项目配置目录为基准。修改账号、群范围或配置路径后重启 main.py。

文本发送节奏 ​

json
{
  "text_send_delay": {
    "enabled": true,
    "characters_per_group": 10,
    "min_seconds": 0.1,
    "max_seconds": 0.3
  }
}

此设置按文本长度增加随机等待,只调整文本发送节奏,不保证账号安全。图片、表情和语音不使用这段文本等待。

插件开关 ​

在 plugins 中设置对应名称。例如启用聊天总结:

json
{
  "plugins": {
    "chat_summary": { "enabled": true }
  }
}

示例只展示相关字段,不要用这一小段覆盖整个配置。也可以在运行窗口使用 enable chat_summary、disable chat_summary、reload chat_summary。

看图猜成语 ​

picture_idiom 默认关闭,可在 plugins 下设置:

json
{
  "plugins": {
    "picture_idiom": {
      "enabled": true,
      "source": "ffapi",
      "timeout_seconds": 8,
      "wrong_reply_cooldown_seconds": 3
    }
  }
}

source 支持 ffapi(默认在线优先,失败回退本地)和 local(只用本地 26 题)。timeout_seconds 是每次 HTTP 请求超时,支持 1–30 秒;取题和下载图分别请求,重复题最多再取一次,整轮等待可能高于这个值。接口或图片失败后一分钟内不重试在线源。

wrong_reply_cooldown_seconds 支持 0–60 秒,控制本群答错提醒频率。可选 font_file 指定中文字体,相对路径以项目目录为起点;未指定时使用本机楷体、微软雅黑或黑体。在线模式也需要中文字体,供本地备用题使用。不需要模型或额外 API 密钥。玩法与缓存说明见看图猜成语。

进群欢迎和退群提醒 ​

group_notice 默认关闭,在 plugins 中加入以下配置或使用控制台 enable group_notice 开启:

json
{
  "plugins": {
    "group_notice": {
      "enabled": true,
      "welcome": true,
      "leave_notice": true,
      "welcome_template": "欢迎 {nickname} 加入群聊!",
      "leave_template": "{nickname} 离开了群聊。"
    }
  }
}

文案只支持 {nickname} 占位符,最多 700 个 UTF-8 字节;welcome 与 leave_notice 可以独立关闭。改完文案后执行 reload group_notice。监控群范围和缓存更新限制见群成员与欢迎提醒。

群聊和记录配置 ​

json
{
  "database_file": ".runtime/member_data.sqlite3",
  "history_enabled": true,
  "daily_clear": true,
  "groups": {
    "12345678@chatroom": []
  }
}

将示例群 ID 换成自己的实际群 ID,成员列表可以为空。history_enabled 启用当天文本记录,daily_clear 在北京时间每天 0 点清理旧日文本;停机跨天时,下次启动会补清理。绑定称呼保留。

如果 chat_allowlist 非空,还需要把该群 ID 加入会话白名单。两者的操作见账号与群聊。

大模型配置 ​

json
{
  "base_url": "https://api.deepseek.com",
  "api_key": "YOUR_API_KEY",
  "model": "deepseek-flash",
  "timeout_seconds": 20,
  "max_tokens": 512
}

以上是项目模板的接口和模型配置。密钥填写自己的值,模型名称以服务商实际提供的模型为准。配置读取入口由 bot_config.json 的 llm_config_file 指定。

模板默认关闭 idiom_chain、chat_summary、mention_chat。填写有效模型配置后,开启需要的插件,再执行 --check。

修改模型配置后重载对应插件或重启。聊天总结、艾特对话会将对应文本交给你配置的模型服务;记录范围见群聊功能。

语音合成配置 ​

voice_reply 的配置和按群音色切换见语音回复。模板默认关闭,tts_config.json 的密钥与默认音色为空;填好后再启用。tts_config_file 默认指向本地 tts_config.json。

更新项目时保留本地配置 ​

账号、模型密钥、群绑定及聊天记录都保存在本地配置和 .runtime/ 中。不要把这些文件加入 Git 或放进 docs/;文档示例均使用虚构 ID 和占位密钥。

Windows x64 · 微信 4.1.15.13