Skip to content

框架配置

NekoBot 的主配置文件位于 data/config.json。首次启动时,框架会自动生成该文件并补齐缺失字段。

配置结构

当前配置采用一个 JSON 文件集中管理:

json
{
  "framework_config": {},
  "provider_configs": {},
  "platforms": [],
  "conversation_config": {},
  "plugin_configs": {},
  "plugin_bindings": {},
  "permission_config": {},
  "moderation_config": {}
}

framework_config

字段类型默认值说明
web_hoststring"0.0.0.0"WebUI/API 监听地址
web_portint6285WebUI/API 监听端口
enable_webuibooltrue是否启用 WebUI/API 服务
log_levelstring"INFO"日志级别
timezonestring"Asia/Shanghai"默认时区
api_flavorstring"chat_completions"LLM API 风格

provider_configs

Provider 配置是一个对象,key 为提供商名称,value 为配置:

json
{
  "provider_configs": {
    "openai": {
      "api_key": "sk-...",
      "default_model": "gpt-4o"
    },
    "openai_compatible": {
      "api_key": "...",
      "base_url": "https://api.deepseek.com/v1",
      "default_model": "deepseek-chat"
    }
  }
}

详见 LLM 接入

platforms

平台配置是数组。当前内置 onebot_v11

json
{
  "platforms": [
    {
      "type": "onebot_v11",
      "instance_uuid": "qq_bot_1",
      "enabled": true,
      "host": "0.0.0.0",
      "port": 6299,
      "path": "/ws",
      "access_token": "",
      "self_id": "123456789",
      "command_prefix": "/"
    }
  ]
}

详见 平台配置

conversation_config

字段默认值说明
max_history_len50单会话保留的历史消息数量
persistence_driver"sqlite"会话持久化驱动
auto_summary_threshold20自动摘要阈值

plugin_configs

插件配置按插件名存储:

json
{
  "plugin_configs": {
    "my_plugin": {
      "option": true
    }
  }
}

plugin_bindings

插件绑定用于控制插件在某个配置 profile 下的启用状态和绑定信息:

json
{
  "plugin_bindings": {
    "my_plugin": {
      "enabled": true
    }
  }
}

permission_config

权限配置用于初始化权限引擎。当前常用字段包括:

json
{
  "permission_config": {
    "owner_ids": ["12345678"],
    "rules": []
  }
}

如果未配置 owner_idsrules,权限引擎不会启用,框架会使用默认放行策略。

环境变量

变量说明示例
NEKOBOT_WEBUI控制 WebUI 开关,0/false/no/off 表示禁用NEKOBOT_WEBUI=false
NEKOBOT_HOST覆盖 WebUI 监听地址NEKOBOT_HOST=127.0.0.1
NEKOBOT_PORT覆盖 WebUI 监听端口NEKOBOT_PORT=8080
NEKOBOT_LOG_DIR日志目录NEKOBOT_LOG_DIR=data/logs
NEKOBOT_DIST_DIRWebUI 静态文件目录NEKOBOT_DIST_DIR=data/dist
NEKOBOT_CORS_ORIGINSCORS 允许来源,逗号分隔;* 表示不限制NEKOBOT_CORS_ORIGINS=http://localhost:6285
NEKOBOT_JWT_SECRET覆盖 JWT secretNEKOBOT_JWT_SECRET=...
NEKOBOT_DB_PATH会话 SQLite 路径NEKOBOT_DB_PATH=data/conversations.sqlite3

优先级:命令行参数 > 环境变量 > config.json > 内置默认值。

端口冲突

WARNING

WebUI/API 默认使用 6285,OneBot V11 WebSocket 默认使用 6299。两者必须使用不同端口。

认证数据

WebUI 认证数据默认存储在:

  • data/auth.sqlite3
  • data/jwt_secret.key

首次创建管理员账号时,用户名为 nekobot,初始密码会随机生成并输出到启动日志中。初始密码只显示一次,请登录后及时修改。

基于 AGPL-3.0 与 MIT 许可发布