配置文件
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 内部维护了一个简单的权限系统。将用户划分为 member
和 admin
。
某些指令或者插件要求仅 admin
用户 组可使用。
https_proxy, http_proxy
代理地址。