跳转到内容

聊天消息捕获与注入(chatMessage)

这些设置位于 ~/.config/opencode/opencode-mem.jsonc 中的 chatMessage 键下:

选项 默认值 作用
enabled true 捕获已编写的用户提示并注入记忆上下文。
injectOn "first" 在会话的第一条用户消息上注入记忆上下文,或在每次已编写轮次上使用 "always"。
maxMemories / excludeCurrentSession / maxAgeDays 3 / true / — 注入上下文保留多少条记忆、是否排除当前会话中捕获的记忆,以及可选的天数年龄截止。
filterInjectedPrompts true 跳过由主机或其他 OpenCode 插件注入的提示文本(系统提醒、编排指令、后台任务通知),以免将其当作用户亲自输入而存储。
injectionMarkers 内置 识别注入块的额外标记;添加到内置列表,永不替换它。
captureChildSessions false 捕获编排器子会话的提示(带有 parentID 的会话,例如 OpenCode 任务/子代理子会话)。其“用户”消息由父代理写入,而非你本人,因此默认不会存储、自动捕获、用于画像学习,也不会获得注入的记忆上下文。

会话和时间范围的排除条件会在应用记忆注入数量上限之前生效,因此被排除的记忆 不会占用原本可供符合条件的记忆使用的名额。将 chatMessage.maxMemories 设为 0 会禁用项目记忆注入,但启用用户画像后仍可注入用户画像。