harahara
核心概念记忆与会话

记忆与会话

hara 如何跨运行记住一切 —— 持久记忆、可恢复会话、文件检查点与回退。

持久记忆

hara 维护一份 始终加载、与当前目录无关 的记忆 —— 全局事实在 ~/.hara/memory/,加上每个项目自己的事实在 .hara/memory/。无论你从终端还是 聊天 app 驱动 hara,它都是同一个大脑。

hara memory show       # 会话开始时注入的记忆摘要
hara memory init       # 脚手架生成记忆目录 + 种子文件
hara memory distill    # 把近期每日日志提升为持久 MEMORY

工作过程中,hara 会把决策记录到短期的每日日志;distill 会把它们合并进持久的 MEMORY.md。它保存得多积极由 evolve 设置决定(proactive · light · off)。 顶层的 USER.md 保存处处生效的全局偏好。

会话

每一次对话都会被保存,并且可以恢复。

hara sessions          # 列出已保存的会话
hara -c                # 恢复此目录下最近的会话
hara --resume <id>     # 恢复指定的会话
hara export <id> --out session.md   # 把一个会话渲染成 Markdown

网关 复用同一套机制:每个(聊天、目录)组合都有自己可恢复的线程。

检查点与回退

hara 会在 每个回合之前 把你的文件快照到仓库 之外 的影子 git 存储中 (~/.hara/checkpoints/),因此你随时可以退回 —— 而真实的 git 历史保持干净。

REPL 中作用
/undo撤销本会话最近一次文件改动
/checkpoint · /checkpoint restore <n>列出 / 恢复某个文件状态快照
/rewind <n>把对话分叉回到更早的回合(文件不动)

如果你不需要快照,可用 fileCheckpoints false 关闭。

自动压缩

长会话不会崩:当上下文窗口接近占满时,hara 会总结目前为止的对话并继续 (与按需触发的 /compact 是同一件事)。用 autoCompact falseHARA_AUTO_COMPACT=0 可关闭它。

摘要是八段式结构化简报——目标、关键技术概念、决策、文件与代码、错误与修复、当前状态、 你的全部消息(逐字、按序保留)(无论历史被压得多狠,你的意图都不会漂移),以及带你最近 一条请求原话的下一步。

注意力刷新

长任务里 agent 会自己盯住焦点:当清单还有未完成项、且连续五个工具轮次没被更新时,一条静默的 system-reminder 会把权威清单重新展示给模型并要求过一遍状态——多步工作不再悄悄丢掉自己的计划。 reminder 只对模型可见(不会出现在你的对话里),并始终带"与任务无关就忽略"的声明。

Was this helpful?
harahara
A product by Nanhara · Apache-2.0 · v0.139.0

© 2026 Nanhara Technologies