Skip to content

会话与记忆 session.yml

session.yml 管理 AI 对话状态:会话历史、压缩策略、长期记忆。

session — 会话管理

yaml
session:
  maxContextTokens: 8000
  compaction:
    enabled: true
    reserveTokens: 4000
  cleanupDays: 30
  idle:
    expireMinutes: 0
  daily:
    resetAtHour: -1
字段类型默认值说明
maxContextTokensint8000历史消息最大 token 数,超过后触发压缩或截断
compaction.enabledbooltrue是否启用会话压缩(AI 摘要替代旧消息)
compaction.reserveTokensint4000压缩后保留的 token 数
cleanupDaysint30自动清理 N 天前的会话(0 = 不清理)
idle.expireMinutesint0空闲超时后自动新建会话(0 = 不超时)
daily.resetAtHourint-1每天几点自动新建会话(-1 = 不重置,0-23 有效)
会话压缩原理

当对话历史的 token 数接近上下文窗口限制时,系统自动调用 AI 生成摘要:

  1. 将旧消息分割为 [待压缩] + [保留最近消息]
  2. 调用 AI 对旧消息生成摘要
  3. 用摘要替代旧消息,渐进式遗忘细节
  4. 后续加载:[摘要] + [最近消息] + [新消息]

比简单截断更智能,避免"失忆"。

memory — 记忆系统

yaml
memory:
  enabled: true
  autoUpdate: true
  defaultCategories:
    - preferences
    - events
    - todos
字段类型默认值说明
enabledbooltrue启用后自动注入 memory_read / memory_write 工具
autoUpdatebooltrue允许 AI 主动记录信息到记忆
defaultCategorieslist[preferences, events, todos]默认记忆分类

详见记忆系统

executeCommand — 全局命令默认值

yaml
executeCommand:
  whitelist: []
  blockChaining: true
字段类型默认值说明
whitelistlist[]console 权限命令白名单(全局默认)
blockChainingbooltrue阻止链式操作符

可在助手配置中单独覆盖。

ArkPilot — Minecraft AI Assistant Plugin