Skip to content

Configuration

DNTOF edited this page Aug 29, 2026 · 3 revisions

配置参考

配置文件由 LabAPI 自动生成:LabAPI/configs/<端口>/SLDataAPI/config.yml 键名为 snake_case(LabAPI UnderscoredNamingConvention)。

⚠️ 配置常见坑

  • 键名必须 snake_caseverify_token 而不是 verifyToken。错误的键名会被静默忽略(无任何报错),对应配置保持默认值——鉴权失败但"token 明明是对的"基本就是这个原因。
  • 任何一个值格式错误会导致整个文件被静默回退默认值(LabAPI 的 LoadConfigs 行为,控制台无报错):布尔值不要加引号(true 而非 "true")、缩进用空格不要用 Tab、行尾不要有杂字符。v2.5 起插件启动时会自检配置文件:解析失败会在控制台打出 YamlDotNet 的精确错误(含行号),并输出一行"配置摘要"(端口/token 长度/开关状态),默认值状态一眼可辨。
  • 验证配置是否被读到:启动日志若出现 "VerifyToken 仍为出厂默认值" 警告,说明 verify_token 没有生效。
  • token 写法建议(重点)control_token / verify_token 推荐用 ASCII 双引号包裹,如 control_token: "Qq10086@"。实测过的坑:
    • 裸值特殊字符坑:token 以 * 开头(如 *Arisl14514)会被 YAML 当成别名引用——整个配置文件解析失败、全部配置回退默认值;以 &! 开头(如 &abc / !abc)值会被吞成空字符串(零报错但 token 变空)。token 中的 #(前面有空格时)会被当成注释截断。
    • 弯引号坑:从聊天软件/网页复制来的弯引号(‘’“”)不是 YAML 引号语法,会被当成 token 内容的一部分(长度+1、格式校验照常通过、启动零报错,但鉴权必然 403)。
    • 引号包裹则全部安全* / & / ! / # 等特殊字符在 ASCII 引号内都是普通字符(双引号内 \" 需转义;单引号内 ' 需写两个 '')。
    • v2.5.4 起插件启动时会检测引号字符并直接报错点破;配置解析失败时也会输出含行号的精确错误与特殊字符提示。

配置项

类型 默认 说明
debug bool false Debug 日志
verify_token string your_secret_token 只读接口鉴权
http_port int 8081 HTTP 端口
push_interval_seconds int 8 快照刷新间隔
control_enabled bool false 控制接口总开关
control_token string "" 控制接口 token(≥8 位四类字符)
control_transport string http 传输方式 http|ws 二选一硬互斥
auto_update_check bool true 检查更新
auto_update_install bool true 自动下载替换 DLL
file_root string "" 文件端点根目录(空=禁用)
log_directory string "" 日志目录(空=自动探测)
voice_enabled bool false 语音转发 WS
voice_port ushort 8082 语音端口
voice_record_enabled bool false 录音取证
voice_record_max_rounds int 10 保留局数
voice_record_dir string "" 录音目录(空=默认)
report_enabled bool false 举报功能总开关(SSS 面板 + /control/reports 端点)
report_max_records int 50 举报记录最大条数(超出删最旧已处理;全未处理 WARN 提示)
report_rate_limit int 5 限流窗口内每人最多举报次数
report_rate_window_minutes int 30 举报限流窗口(分钟)

插件本身的启停开关不在此文件中:LabAPI 用插件目录下的 properties.ymlis_enabled)管理插件加载与否,可通过 /control/plugins 端点修改。

Clone this wiki locally