自主进化
OkBot 会在对话过程中静默维护助手:抽取记忆、生成或更新技能、修补人设(SOUL.md),并在上下文过长时压缩摘要。忙碌态会出现「正在进化」(英文界面为 Wrapping up)——这些更新写在本轮结束之后,下一轮才进入系统提示。
这是跨会话记忆与人设 / 技能的静默维护,下一轮提示即生效。数据落在当前网关主机数据根(默认 ~/.okbot)。
记忆
- 全局记忆:设置 → 全局记忆(
memory.md)。 - 助手记忆:每个助手目录下的
memory.md,跨会话保留重要事实。 - 两阶段生命周期:
- 候选(candidate):跑后抽取默认先写入脱敏候选;默认不注入系统提示。 - 持久(durable):按命中次数 / 置顶巩固提升;长期零命中且未置顶的可降回候选。物理删除仅过期清理或经 manage_memory forget。
- 召回:开跑前只注入 置顶 + 相关 / 高命中 的持久记忆(默认约 16 条,并受字数上限约束),不是全量倒入。
- 工具
manage_memory(list / pin / unpin / promote / forget;设置 → 工具授权可启停 / 审批,默认启用且通常自动允许)管理置顶、提升与遗忘。 - 跑后按节流策略自动抽取;文案含「记住」/ remember /「别忘了」时会立刻抽记忆。
- 压缩推进覆盖窗口时,也会对掉出窗口的对话增量再抽一轮记忆。
- 记忆生命周期与会话 handoff 摘要正交,不改压缩逻辑。
技能(Skills)
技能以 SKILL.md 目录形式存放(本助手 skills/<slug>/,或可选全局 ~/.agents/skills)。
- 渐进披露:系统提示里只有目录,完整正文经
read_skill按需加载。 - 热更新:监视技能目录,改完文件不用重启,下一轮即生效。
- 自动生成 / 更新:节流后的成功回合可能 upsert 技能,把可复用做法沉淀下来。
人设(SOUL.md)
每个助手有一份 SOUL.md(引导写入 + 高级可编)。成功回合后可能只修补有变化的章节(非整篇覆盖),下一轮生效。
长程任务
内置工具 manage_task_progress(设置 → 工具授权里可启停 / 审批;默认启用且通常自动允许)维护持久化任务清单(tasks.jsonl):
- 自动拆解步骤、落盘状态、中断后恢复;未完成时可在后续回合继续推进并修正进度;支持多任务排队;任务 id 由主机生成(ULID)
- 任务状态:
backlog(未做池,仅显式设置)/pending/in_progress/done(结束态,不含成败) - 步骤状态:进行中阶段
pending|in_progress|blocked;终态succeeded|failed|cancelled(完成用succeeded,勿再用done) - 界面:聊天输入框上方「进行中的任务」只展示
in_progress;编辑助手 任务 tab 分三栏——未做(backlog,可手动删除)/ 进行中 / 结束 - 干净结束后若仍有可推进项,主机会静默续跑(无可见用户气泡);步骤
blocked或任务仍在backlog时暂停续跑
对用户只谈「任务 / 进度」,不暴露工具内部名。
定时任务
用户可以说「每天九点提醒我…」。模型经工具 manage_schedule(create / list / pause / resume / delete)把任务写到当前助手或小队目录的 schedules.jsonl。
- 审批:list / pause / resume 默认自动允许;create / delete 无论设置如何都要确认一次;list 只读、不弹审批卡。
- 日程:
daily HH:MM、hourly、every N m(N 须整除 60)、以及 5 段 cron;可选 IANA 时区(省略则用设置 → 通用设置里的时区,再否则用网关主机本地时区);once为真时只触发一次。 - 每个助手 / 小队最多 50 个定时任务。可在编辑助手 / 编辑小队 → 自动化中查看、暂停、删除。
- 触发:拥有网关的进程内约每 20s 检查;到点后发起一轮普通对话。合成的触发用户消息会写入会话供模型看,但聊天界面与搜索不展示该用户气泡(与静默续跑同类),助手回复仍可见。应用或
okbot serve没在跑时不会触发;再次启动后若下次时间已过,会补跑一次。同一任务上一轮还在跑时不叠跑。
笔记与资料库
需要沉淀并维护文档(设计稿、需求、报告等),而不是当场逐步执行的清单时,用 HTML 笔记(manage_note)写入该助手资料库(resources.jsonl)。聊天气泡可附带一帧预览卡片。详见 助手。
三者边界(一句话)
有明确时间点或周期 → 定时;当场要办或只记需求、无排期 → 长程任务(可进 backlog);只要沉淀文档并维护 → 笔记。不要把笔记建成任务,也不要把定时建成任务清单。
上下文压缩
长会话在开跑前可能增量写入 session-summary.json;全量 session.jsonl 仍保留。详见 上下文管理。
和导出 / 市场的关系
- 导出助手 / 导入助手
.okbot:包含人设与技能(bot.json名称/头像、SOUL.md、skills)。不含会话、记忆、资料库、定时任务、密钥。 - 市场:安装带人设 / 技能 / 头像的入门助手或连接器预设;装好后同样走上述进化路径。
节奏(一句话)
开跑前读盘并记命中(可能压摘要;只注入置顶 / 相关持久记忆)→ 本轮对话(可推进长程任务 / 改定时 / 写笔记 / 管理记忆)→ 跑后「正在进化」抽候选并巩固、维护技能 / SOUL(节流)→ 只影响之后轮次。
内容根据 OkBot 产品仓库整理,随版本演进更新。