Skip to main content

配置文件

caution

此页描述的为 >= v3.3.11 版本的配置文件格式。本页对 AstrBot 的配置文件进行了详细的说明。

配置文件存储于 data/cmd_config.json

可视化面板的 配置 页对配置文件进行了可视化,并且在每一个配置项上都标注了配置项的名字,你可以通过浏览器的搜索功能快速找到你需要的配置项的解释。

默认配置文件

{
"config_version": 2,
"platform": [
{
"id": "default",
"name": "qq_official",
"enable": false,
"appid": "",
"secret": "",
"enable_group_c2c": true,
"enable_guild_direct_message": true
},
{
"id": "default",
"name": "nakuru",
"enable": false,
"host": "172.0.0.1",
"port": 5700,
"websocket_port": 6700,
"enable_group": true,
"enable_guild": true,
"enable_direct_message": true,
"enable_group_increase": true
},
{
"id": "default",
"name": "aiocqhttp",
"enable": false,
"ws_reverse_host": "",
"ws_reverse_port": 6199
}
],
"platform_settings": {
"unique_session": false,
"rate_limit": {
"time": 60,
"count": 30
},
"reply_prefix": "",
"forward_threshold": 200
},
"llm": [
{
"id": "default",
"name": "openai",
"enable": true,
"key": [],
"api_base": "",
"prompt_prefix": "",
"default_personality": "",
"model_config": {
"model": "gpt-4o",
"max_tokens": 6000,
"temperature": 0.9,
"top_p": 1,
"frequency_penalty": 0,
"presence_penalty": 0
},
"image_generation_model_config": {
"enable": true,
"model": "dall-e-3",
"size": "1024x1024",
"style": "vivid",
"quality": "standard"
}
}
],
"llm_settings": {
"wake_prefix": "",
"web_search": false
},
"content_safety": {
"baidu_aip": {
"enable": false,
"app_id": "",
"api_key": "",
"secret_key": ""
},
"internal_keywords": {
"enable": true,
"extra_keywords": []
}
},
"wake_prefix": [],
"t2i": true,
"dump_history_interval": 10,
"admins_id": [],
"https_proxy": "",
"http_proxy": "",
"dashboard": {
"enable": true,
"username": "",
"password": ""
}
}

platform

AstrBot 默认支持三种接入 QQ/QQ频道/OneBot 协议的方式:

  • qq_official: QQ 官方机器人 API
  • aiocqhttp: OneBot 协议
  • nakuru: OneBot 协议

配置文件中,platform 是一个列表,每个元素是一个平台的配置。可以任意按需增减

每个元素都包含了以下配置项:

  • id: 任意,只用于标识和区分不同的平台。
  • name: 使用平台,只支持填写以下值中任意一个 qq_official, aiocqhttp, nakuru
  • enable: 是否启用该平台。

可以同时部署多个平台(也可以相同)实例。

基于不同的平台,还有其他的配置项:

qq_official

前往 q.qq.com 申请机器人。

  • appid: 机器人的 appid
  • secret: 机器人的 secret
  • enable_group_c2c: 是否启用消息列表单聊。启动之后,可以像和 QQ 好友聊天一样的方式与机器人聊天。详见 QQ 机器人官网。
  • enable_guild_direct_message: 是否启用频道私聊。启动之后,机器人会接收频道的私聊信息。

aiocqhttp

  • ws_reverse_host: 反向 WebSocket(AstrBot 端做服务器)IP 地址。
  • ws_reverse_port: 反向 WebSocket 端口。

nakuru

  • host: 协议实现端开放的 HTTP 地址。
  • port: 协议实现端开放的 HTTP 端口。
  • websocket_port: 正向 WebSocket 端口。
  • enable_group: 是否接收群聊消息。
  • enable_guild: 是否接收频道消息。
  • enable_direct_message: 是否接收频道私聊消息。
  • enable_group_increase: 该配置项已废弃。

platform_settings

  • unique_session: 是否启用会话隔离。启用后,群聊中每个成员将拥有独立的会话 ID。可以体现在 LLM 聊天和部分插件中。
  • rate_limit: 频率限制。单位:秒,次数。在这个时间内,超过这个次数的消息将被忽略。
  • reply_prefix: 回复消息的前缀。开启后,所有回复的文本消息都会加上这个前缀。
  • forward_threshold: 消息转发字数阈值。超过这个长度的消息将合并为 QQ 中的转发消息

llm

这是一个列表。每个元素是一个 LLM 接入实例的配置。可以部署多个 LLM 接入实例。

  • id: 任意,只用于标识和区分不同的 LLM。
  • name: 使用的 LLM 平台。只支持填写 openai
  • enable: 是否启用该 LLM 实例。
  • key: LLM 的 API Key。这是一个字符串列表,可以填写多个 Key。
  • api_base: API_BASE URL,API 地址。为空时默认为 OpenAI API 地址。
  • prompt_prefix: 默认为空。填写内容后在每次与 LLM 对话时都会加上这个内容作为前缀。
  • default_personality: 默认人格,默认为空。填写内容后会将这个人格作为默认人格。
  • model_config: 模型配置。详见下文。
  • image_generation_model_config: 图片生成模型配置。详见下文。

model_config

参见 OpenAI 的模型配置。

image_generation_model_config

该功能需要你使用的 LLM 提供商支持图片生成模型。

  • enable: 是否使用图片生成模型。启用后,将支持 指令。

llm_settings

  • wake_prefix: 唤醒词。在这个词后的消息将被发送给 LLM。默认为空。
  • web_search: 是否启用 Web 搜索。启用后,将会在必要的 LLM 对话场景下搜索网页。如 最近有什么新闻

content_safety

该功能能够一定程度上过滤 LLM 生成的内容中不符合国内消息平台内容政策的信息。

  • baidu_aip: 百度内容审核配置。
  • internal_keywords: 内置关键词过滤。

wake_prefix

唤醒机器人的前缀字符串。

默认为 /,即以 / 开头的 群聊 消息都视为触发机器人的消息处理。

除此之外,@ 机器人一定会触发消息处理。

t2i

是否采用 Markdown 文转图功能。开启后,所有字数大于 50 的消息会自动调用 AstrBot API 渲染成图片发送。

除此之外,可以使用 /t2i 指令动态调整。

admins_id

管理员 ID 列表。使用 /myid 指令可以获取用户 ID。

AstrBot 内部维护了一个简单的权限系统。将用户划分为 memberadmin

某些指令或者插件要求仅 admin 用户组可使用。

https_proxy, http_proxy

代理地址。