Skip to content

提及、聊天与访问控制

提及和聊天

bot.response.mention 控制公开或半公开帖子中的 @提及bot.response.chat 控制 Misskey 私聊和群聊。两项可以独立关闭。

聊天支持有限的历史上下文,长度由 chat_memory 控制。较大的值能保留更多上下文,也会增加模型输入和调用成本。机器人重启不会删除 Misskey 中的聊天记录,但每次只读取配置数量以内的历史消息。

回复限制

限制以 Misskey 用户 ID 为单位持久化到 SQLite:

  • rate_limit 防止同一用户过于频繁地触发回复。
  • max_turns 限制累计机器人回复次数。
  • max_turns_release 设置轮数限制后的恢复时间。

被限流时,机器人发送 rate_limit_reply;达到轮数上限时发送 max_turns_reply。限制提示本身不会增加对话轮数,但会更新最近回复时间。

如果 max_turns_release: -1,达到上限的用户会被加入持久化黑名单。需要管理员通过 ^blacklist del <用户>^blacklist reset 解除。

白名单与黑名单

白名单用于信任的用户或管理员,使其不受回复间隔和轮数限制。黑名单完全阻止普通 AI 回复。两者都支持:

  • Misskey 用户 ID
  • username@host
  • 带前导 @ 的完整账号

推荐优先使用用户 ID。用户名匹配不区分大小写。

管理员命令权限由独立的 bot.admin.allowed_users 控制。进入回复白名单不会自动获得管理权限。

插件处理顺序

KeyAct 和 Vision 可以在默认 AI 之前处理提及或聊天。插件返回回复后,后续插件和默认 AI 不再处理同一个事件。优先级较高的插件先执行,因此默认配置中 KeyAct 会先匹配明确关键词,Vision 随后处理图片,其余内容才进入普通 AI 回复。

建议配置

公开机器人可以从以下策略开始:

yaml
bot:
  response:
    mention: true
    chat: true
    chat_memory: 10
    rate_limit: 30s
    max_turns: 30
    max_turns_release: 1d
    whitelist:
      - "your-admin-user-id"
    blacklist: []

先观察实际调用量和社区使用方式,再调整间隔与轮数。