Skip to content

配置文件 ​

Seira 固定从工作目录读取 config.yml。首次运行会复制示例并退出。

完整示例 ​

yaml
seira:
  sqlitePath: "./data/seira.db"
  directUrl: "https://example.com/direct"
  queueMessageInGroup: false
  debugMode: false
  watchIntervalMinutes: 5
  multiplayerWatchIntervalSeconds: 30
  adminIds: []

binding:
  listenPort: 8722
  listenPath: "/callback"
  clientId: 12345
  clientSecret: "replace-me"

ostella:
  endpoint: "http://localhost:8721"

qq:
  selfId: "bot-openid"
  appId: "qq-app-id"
  appSecret: "replace-me"

cos:
  secretId: "replace-me"
  secretKey: "replace-me"
  region: "ap-shanghai"
  bucket: "example-1234567890"
  baseUrl: ""
  keyPrefix: "seira"

seira ​

字段类型作用
sqlitePath字符串SQLite 数据库路径;父目录应可写
directUrl字符串消息按钮的跳转服务根地址,用于谱面、玩家和房间链接
queueMessageInGroup布尔是否在群聊显示普通异步任务的“已加入队列”提示
debugMode布尔启用 DEBUG 日志和 /debug.* 路由
watchIntervalMinutes整数玩家成绩监视间隔,单位为分钟,默认 5
multiplayerWatchIntervalSeconds整数多人房间监视间隔,单位为秒,默认 30
adminIds字符串列表允许使用调试路由的 QQ 用户 OpenID

debugMode 和 adminIds 必须同时满足才能使用调试指令。管理员 ID 可先通过 /inspect 取得。

binding ​

字段类型作用
listenPort整数本地 OAuth 回调 HTTP 监听端口
listenPath字符串OAuth 回调路径,例如 /callback
clientId整数osu! OAuth 应用 Client ID
clientSecret字符串osu! OAuth 应用密钥

当前授权链接没有显式传入 redirect_uri,回调可达性和应用端设置必须与实际部署一致。外网部署时还需通过反向代理、端口映射或其他方式让 osu! 授权流程能访问回调。

ostella ​

字段类型作用
endpoint字符串oStella API 根地址,不要在末尾附加具体接口路径
token字符串,可选调用 oStella 的 Bearer 服务令牌,需与 oStella 配置一致

默认示例为 http://localhost:8721。Seira 启动不一定会立即验证全部接口,建议通过 /stat、/rs 和 /m 做完整检查。

Seira 使用 Authorization: Bearer <token> 调用 oStella。需要代表目标 osu! 玩家访问 /users/me、好友或多人房间接口时,玩家令牌会单独放在 X-Osu-Authorization: Bearer <osuAccessToken>,不会覆盖服务令牌。

qq ​

字段类型作用
selfId字符串机器人 OpenID,用于识别并移除群消息开头的 @机器人标记
appId字符串QQ 开放平台 AppID,也参与每日人品初始化
appSecret字符串QQ 开放平台 AppSecret,用于取得访问 Token

selfId 配错可能导致群聊消息中的 @前缀无法被清理,从而使合法指令无法解析。

cos ​

字段类型作用
secretId / secretKey字符串腾讯云 COS 凭据
region字符串存储桶地域
bucket字符串完整存储桶名称
baseUrl字符串可选自定义访问域名;空值时组合腾讯云默认域名
keyPrefix字符串对象键前缀;空值时回退为 seira

Seira 会把 oStella 返回的图片上传到 COS,再把可访问 URL 放入 QQ Markdown 消息。

安全建议 ​

  • 永远不要把 config.yml、Token 或数据库上传到公开仓库。
  • 为 COS 使用最小权限密钥,并限制到所需存储桶和操作。
  • 生产环境保持 debugMode: false;需要排查时短时开启,用完立即关闭。
  • /debug.db 能任意读写数据库,只把管理员权限授予可信维护者。
  • 修改凭据后重启 Seira,使所有服务使用新配置。

Seira is under MIT License