SnowLuma

配置参考

OneBot 实例配置与运行时配置文件结构

SnowLuma 的配置分两块,都是 JSON:

  • config/onebot.json + config/onebot_<uin>.json —— OneBot 网络适配器(HTTP / WebSocket 监听端、反向 WS、HTTP 上报)。
  • config/runtime.json —— SnowLuma 进程级运行时设置(WebUI 端口、自动注入开关)。

首次运行会自动生成两个文件,并在加载时归一化字段。

OneBot 配置

文件位置

config/onebot.json          # 全局默认
config/onebot_<uin>.json    # 账号级覆盖
  • 全局配置:config/onebot.json,作为所有账号的默认值。
  • 账号配置:config/onebot_<uin>.json,会覆盖全局配置。
  • 自动生成:账号配置缺失或缺 access token 时,SnowLuma 会写入规范化后的默认配置。

默认配置

适配器按类型分组放在 networks 对象下:

{
  "networks": {
    "httpServers": [
      {
        "name": "http-default",
        "enabled": true,
        "host": "0.0.0.0",
        "port": 3000,
        "path": "/",
        "accessToken": "自动生成",
        "messageFormat": "array",
        "reportSelfMessage": false
      }
    ],
    "httpClients": [],
    "wsServers": [
      {
        "name": "ws-default",
        "enabled": true,
        "host": "0.0.0.0",
        "port": 3001,
        "path": "/",
        "role": "Universal",
        "accessToken": "自动生成",
        "messageFormat": "array",
        "reportSelfMessage": false
      }
    ],
    "wsClients": []
  },
  "musicSignUrl": ""
}

Info

从旧格式迁移:早期版本把 httpServers / wsServers 等数组直接放在顶层,httpPostEndpoints 用于上报。当 SnowLuma 检测到这种结构时会自动迁移到新的 networks 对象并把 httpPostEndpoints 改名为 httpClients,回写到磁盘。手动维护配置请直接用新格式。

通用字段

所有适配器都共享下列字段(NetworkBase):

字段类型默认值说明
namestring必填同类型数组内唯一的标识,热重载按 (kind, name) 寻址。
enabledbooltrue设为 false 可保留配置但不启动该适配器。
accessTokenstring自动生成鉴权令牌;OneBot Bearer / ?access_token=。
messageFormatstringarrayarray 或 string,决定事件中 message 字段是段数组还是字符串。
reportSelfMessageboolfalse为 true 时该适配器会收到 post_type='message_sent' 自身消息。

httpServers

启动 OneBot HTTP API 服务。

字段类型默认值说明
hoststring0.0.0.0监听地址。
portnumber3000监听端口。
pathstring/API 路径前缀。

httpClients

主动把事件 POST 到外部端点(旧名 httpPostEndpoints)。

字段类型默认值说明
urlstring必填上报地址。
timeoutMsnumber5000请求超时。

wsServers

启动 OneBot WebSocket 服务。

字段类型默认值说明
hoststring0.0.0.0监听地址。
portnumber3001监听端口。
pathstring/WebSocket 路径。
rolestringUniversalApi、Event 或 Universal(大写驼峰,旧的小写写法已废弃)。

wsClients

主动连接反向 WebSocket 服务。

字段类型默认值说明
urlstring必填反向 WebSocket 地址。
rolestringUniversal同 wsServers.role。
reconnectIntervalMsnumber5000重连间隔,最小会被规范化为 1000。

musicSignUrl

可选;自定义音乐卡片签名服务地址。空字符串表示禁用。

运行时配置(runtime.json)

config/runtime.json 记录 SnowLuma 进程级设置,不分账号。

{
  "webuiPort": 5099,
  "hookAutoLoad": false
}
字段类型默认值说明
webuiPortnumber5099WebUI 监听端口;超出 1-65535 会被回退到默认。
hookAutoLoadboolfalse是否自动把 Hook 注入到新发现的 QQ 进程。Docker 镜像默认开启。

环境变量

变量说明
SNOWLUMA_HOOK_AUTOLOAD1 / true 强制开启自动注入;0 / false 关闭。优先级高于 runtime.json,方便在 Docker 里覆盖。
SNOWLUMA_LOG_LEVEL设置日志级别(error / warn / info / debug)。
SNOWLUMA_VERBOSE_WARMUP=1输出更详细的好友、群、群成员预热日志。
SNOWLUMA_DEV_MODE=1启用开发模式(WebUI 鉴权放宽,便于本地调试)。
SNOWLUMA_DEV_WEBUI=1在 dev mode 下强制启用内置 WebUI。

端口冲突

3000 / 3001 / 5099 被占用时,修改对应配置文件的 port / webuiPort 后重启 SnowLuma。Docker 用户也可以直接把宿主机端口映射到不同端口(见 Docker 部署)。

这篇文档有帮助吗?

最后更新于

本页目录