【开源·自荐】刚需!我手搓了一个专治上下文记忆连续性内容在跨agent、跨session场景难以顺利衔接的skill!

2026-04-29 08:532阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐
问题描述:

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:

  • 我的帖子已经打上 开源推广 标签:
  • 我的开源项目完整开源,无未开源部分:
  • 我的开源项目已链接认可 LINUX DO 社区:
  • 我帖子内的项目介绍,AI生成、润色内容部分已截图发出:
  • 以上选择我承诺是永久有效的,接受社区和佬友监督:

以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出


hi~各位佬友!

这算是我加入L站以来第一个帖子,连续潜水了一段时间,发现大家其实都对跨agent/session的上下文漂移问题有很多苦恼!

我潜心研究了一阵子,今天正式准备把我的这份skill------「RecallLoom」开源啦~希望能给大家提供一个比较合理的、系统化的解决方案(skill形式),同时也算是新人报道了吧!

敬请各位大佬批评指正!


先给自己叠个甲吧

叠甲

我是非计算机专业、无技术背景的社科在读研究生,本项目形态为通用skill,全程使用GPT-5.4-xhigh以vibe coding形式完成开发,使用GPT-5.3-codex-xhigh进行代码review,同时也真的在开发本项目过程中使用了RecallLoom协助本项目的迭代管理(发现还真的有点用呢)


背景

正如前文所说,现在大家越来越高频使用codex、claude code等这类agent产品,来辅助开展日常各项工作和学习任务,同时,大家也游走于各大公益站、中转站来降低tokens的平均使用成本,这就导致在开展某些长期的、依赖历史决策过程的连续性项目时,在频繁切换不同agent、对话线程过程中,搞乱了甚至丢失了之前的一些决策细节、演进历史,我们还得花时间手动把项目背景重新和agent拉齐,我把它称作"重启税"。

谁都不想承担这份额外负担,因此,我带着RecallLoom来了!感觉这会是大家的刚需!


开发过程

RecallLoom项目的诞生源起我在某ai产品公司实习时,使用codex推进一份PRD写作过程中遇到的真实痛点。

大家都知道,PRD不是一蹴而就的,在写文档内容之前需要经历市场分析、用户研究、需求和痛点分析、竞品分析等过程,后续才开始进行方案转化、产品功能设计、原型产出等步骤,最后还要经过多轮需求评审,才能打磨好一份真正意义上的产品需求文档。

在这过程中,可能需要开好多session,又要历经很长一段时间,可能今天推进一点这个步骤,明天又完善一些别的部分,需求评审了又得回去看好几天之前写的内容。

如果重新拉回一个超长session,可能自己都不记得当时在讨论啥了,上下文窗口爆了,即使自动compact可能也丢失了一些细节。其实还是蛮痛苦的,那只能自己再开一个session,再把这条线凭印象重新给ai讲一遍。

所以我到处找,有什么好的解决办法,一看大家其实普遍都或多或少有这样的困扰。我看到大家比较省事的做法就是在项目的agent.md等入口文档下功夫,或者更进一步,干脆自己写个memory.md当作项目笔记,把很多过程、想法和细节记录下来,之后ai优先参考,可能会更快地拉齐状态。这确实是个好办法,给我提供了思路!

同时,我也观察到,其实有很多产品级别或者agent架构级别的记忆、上下文优化项目,其方案都做的很成熟了,但是他们的形态都比较重,可能我需要额外安装,行动成本也有点点高。那究竟有什么形态是轻量级的、同时又普遍通用的呢?我想到了skill。

其实,RecallLoom的第一个版本就是一个SKILL.MD文档,记录了一套我从各大平台拼凑出来的一份我觉得比较好的上下文状态解决方案,基本上就是大家熟悉的三层架构------高层、滚动层、日报层(这个架构的原始提出者我已经无法找到啦,感谢思路)。这样我每天只要说个上班,ai就能从项目本地恢复进展,过程中ai会自己做一些进度的记录写到滚动层里,也会形成一份当日日报。等我要收工了,我就说个下班,ai会完整执行一次全量更新动作。我觉得,这还真的能一定程度上解决"重启税"的问题。

后来,我发现单靠SKILL.MD文档来约束ai对于上下文的记录还是太信任它了,往往就会出现你为啥这个也要记录?你记的乱七八糟的、格式去哪了?你咋这个不记下来啊?------就是记录的质量和稳定性太差了。于是,开启了正式迭代之路。

由于在日常使用中发现越来越多问题,我其实也对这个vibecoding很有兴趣,脑子里每天都在冒出很多关于它的新想法和下一步迭代思路,那我就干脆把它作为一份正式的项目推进吧!

因为这份实习太占据我的研发时间,于是我毅然决然辞职了(其实是天天都在干dirtywork受不了了啊,还不如让我做这个事情!)专心迭代

直到今天,大家看到了我正式发布的0.3.3版本,从0.1.0上线到今天,刚好10天啦~!

当然,由于受限于我自己的真实使用需求场景和技术能力,skill肯定存在很多不足和需要远期慢慢迭代的部分,我已经有了下一个大版本的升级思路了!(正在鞭打GPT中)


项目目标

当一个项目需要跨agent、跨session、跨线程持续推进时,之前花了很多时间才形成的背景、决策、阶段判断、细节约束,很容易在切换过程中变碎、变浅,甚至直接丢掉。然后我们就得重新解释、重新拉齐、重新回忆,我把它叫作「重启税」。RecallLoom想做的,就是尽量把这份税降下来。

1484×862 84.6 KB


项目架构和实现原理

  1. 把原本散落在不同对话里的项目连续性内容,挪到一个跟着项目走的sidecar文件夹里,让ai按照RecallLoom约定的标准协议和安全边界在旁边单独维护一套continuity文件。默认情况下,这套内容会放在项目根目录的一个隐藏文件夹【.recallloom/】里,不过也支持可见模式。

  2. 当前大体是这样一套分层结构:

  • context_brief.md
    放相对稳定的高层背景,比如项目在做什么、边界是什么、现在大概处在哪个阶段

  • rolling_summary.md
    放当前状态,也就是"现在到底是什么情况",这部分会随着项目推进持续滚动更新

  • daily_logs/
    放日报式、里程碑式的记录,承接当天做了什么、确认了什么、还有什么风险、下一步要做什么

  • config.json 和 state.json
    放机器可读的信息,用来记录版本、状态、修订号之类的东西,方便后面的校验和安全写入

  • update_protocol.md
    给具体项目留一个"项目级特殊规则"的位置,防止所有项目都只能套同一套死模板

如果说,只用一个memory.md或类似文档来记项目状态,那么随着时间推移,会把高层背景、当前状态、历史过程、当日进展全部糊在一个文件里,时间一长其实非常容易失控。要么越来越啰嗦,要么越来越乱,要么看着什么都记了,其实真正有用的东西反而淹没了。

所以RecallLoom把他们拆开了:

  • 稳定背景归稳定背景
  • 当前状态归当前状态
  • 日常证据归日常证据

这样恢复的时候,AI不需要把所有历史全吞下去,也能先从最关键的几层把项目状态接起来。

  1. 如果它只是一个SKILL.md,其实是不够的,只靠prompt去约束记录行为,太容易失控了,于是后面我给它补了一层 helper scripts,来专门控制一些不好的事情发生。

总结下来,其架构就是

  • 用skill规定工作流和使用方式
  • 用sidecar承载项目连续性
  • 用helper去给关键读写动作加护栏

实现原理其实就是

  • 先把项目连续性拆成不同层次
  • 再给每一层一个相对明确、相对稳定的落点
  • 最后用一套尽量窄但尽量可靠的读写规则,把恢复和记录这两件事固定下来

特性

截止0.3.3版本,RecallLoom基本实现了:

  • 轻量:不用上一个很重的上下文系统,不用额外搭复杂基础设施,一个skill完事~
  • 项目本地化:产生的文件跟着项目走,不锁死在某个agent自己的记忆里
  • 分层存储:高层背景、当前状态、日报证据拆开管理,不堆成一锅粥
  • 适合长期项目:比较适合那种跨天、跨session、跨agent持续推进的事情
  • 尽量减少「重启税」:让重新开一个会话就又要从头讲一遍的事儿少发生一点
  • 支持中英文workspace
  • 写入有护栏:不是瞎写、瞎覆盖,会做结构和修订检查,尽量减少出现越写越跑偏
  • 尽量不污染项目主体:所有产物默认放sidecar,不往你项目原本代码和正文文档里乱拉屎
  • 可移除:如果不想用了,删了sidecar基本就相当于卸载,不动任何你的东西

快速开始

  1. 先把skill包接进你的agent

npx skills add https://github.com/Frappucc1no/recall-loom --skill recallloom

  1. 第一次使用时,显式唤起RecallLoom

比如可以这样:

  • @recallloom
  • 用RecallLoom接管这个项目
  • 或者直接在agent的skill选择器里选择它
  1. 如果项目还没初始化,就先初始化

  • 输入rl-init
  • 或者明确让agent帮你初始化RecallLoom

如果RecallLoom在初始化或cold start时读取了你项目里的原始文档、说明、历史材料,这些内容只是被用来参考,不会被删除,也不会从你的项目里搬走。

  1. 然后就按正常项目节奏使用

比如:

  • 继续这个项目
  • 先帮我恢复项目上下文
  • 从上次停下的地方继续
  • 记录今天的关键进展
  1. 如果不想用了

通常情况下,删掉sidecar基本就等于移除RecallLoom~
如果你额外启用了bridge,那就先移除bridge,再删sidecar,会更干净一点。


我需要佬友们的帮助

RecallLoom迭代到现在这个版本,我觉得它已经适合搬到台面上让大家来尝尝咸淡了,如果能一定程度上解决佬友们的问题我觉得,这是我的荣幸!

但是!版本的迭代光靠我自己一个人反复测,其实始终有局限!因为我自己可能就陷在codex里了(因为确实用习惯了,没有怎么在其他agent里重度实测,但是skill毕竟还是比较通用的,我觉得没有非常结构性的大问题),而看不到很多特殊角度的问题。很多可能是我觉得理所当然的设计,但是大家用起来觉得,“太重了”、“浪费时间”、"浪费我的token"之类的。

所以,我很希望能尽早听到真实反馈!

快给我如下类型的反馈!
  1. 拿真实项目试一试

最好直接放到你手头正在推进、或者最近刚推进过的事情里试一下。

使用场景包括但不限于:写文档、写论文、推进项目、做研究、做长期任务拆解,或者任何需要跨线程接着干的事

我想知道:在真实项目里,到底有没有帮你减少一点重启税?

  1. 如果不好用,请直接告诉我哪里不好用

如果有下面的情况:

  • 哪个动作不顺
  • 哪个地方让你困惑
  • 哪个结果不符合预期
  • 哪一步你觉得设计得很别扭
  • 或者你觉得"这东西我为什么还得多做这一层"

请告诉我!!如果有 bug,请直接甩在评论区!!!(最好带上agent、使用场景、复现方式)

  1. 如果它真的帮到了你,也请告诉我

如果你用了之后,某个瞬间真的觉得它有点用:

  • 帮你少解释了一遍项目背景
  • 让你回来继续时没那么断裂
  • 让你记录阶段性进展更自然了一点
  • 让ai的接力状态比以前稳一点

我也很想看到鼓励和支持!!

如果你愿意附一张脱敏后的真实使用截图,或者讲一个具体例子,那就更感谢了!!
这类反馈不只是鼓励,更是后面继续迭代时最好的动力!!!

  1. 如果你觉得方向本身就有问题,请直接叫醒我吧(虽然我可能不愿意醒

因为需求出自真实痛点,其实我比较有自信的,但是还是那句话,受限于自己的能力,它并不完美。

也因为是skill设计,天然需要抛弃很多,才能保持它的轻量化…

不过真的有非常底层的思路缺陷,我也需要你的意见!期待佬友们的反馈!!!!


GitHub链接

github.com

GitHub - Frappucc1no/recall-loom: Portable continuity layer for long-running AI...

Portable continuity layer for long-running AI projects across models, agents, and sessions.


如果真的帮到了你,欢迎star,并且帮我推荐给更多需要它的佬友们!十分感谢!


致谢

感谢各大中转站、公益站提供的GPT资源!


最后放一个自我推销

有没有 base上海互联网 的佬友需要一位 ai产品经理实习生 呢qaq,可全职+立即到岗

网友解答:
--【壹】--:

佬,我有个问题,在使用的时候,初始化记忆,恢复记忆这些都很好用,但是当每个会话结束的时候,我该怎么把这次会话的记忆存进RecallLoom呢,是自动触发的么,因为我看到有时候我没有明确调用,但是却触发记忆保存了。还是说用"记录今天的关键进展"这种语句来唤醒skills,让他保存记忆,我读完整个流程没发现保存单次会话记忆的语句,所以来问下
现在我使用的是gpt5.5,上下文很短,所以可能没几轮对话就要记录一下,所以不太清楚每次会话压缩记忆和你流程中“今天关键进展”的区别


--【贰】--:

我最近也在找上下文记忆的skills,现在我是在使用codex,每次上下文到了我就手动告诉他让他把历史记录总结成md文档,重开会话让他读取文档恢复记忆,这过程太折磨了,看到佬的skill感觉很对我的需求,让我来试试看体验咋样


--【叁】--:

哇哇哇感谢支持!!!非常期待佬们在自己项目中的真实体验反馈!!

我这边在使用过程中也发现了不少小问题,下一个版本正在加班加点升级(高强度鞭打gpt-5.5中)!后续新版本发布之后记得update一下!~(npx skills update recallloom)


--【肆】--:

是的!所以RecallLoom初始化的时候会首先寻找项目的顶层入口文档,可能是agent.md/Claude.md等等,以适应不同的agent,初始化的时候会在这些入口文档里做一个薄桥接,连接到整个sidecar,确保后续读取的时候自然唤起recallloom的上下文系统


--【伍】--:

我目前也在探索跨 agent 无缝衔接的工作,公司主要使用 kiro,个人会同时使用 claude code + codex。我目前的操作就是使用一个 AGENTS.md 接管整个项目所有的规则,内部通过关键词 + 指令链接到其他规则文件,对于 claude code 这种不支持 AGENTS.md 的,直接新建 CLAUDE.md 里面@AGENTS.md,目前这套用起来是没什么问题的。

上下文连续记忆这个很有意思,明天试试再来反馈,感谢大佬~


--【陆】--:

目前来看,recallloom会让agent一定程度上自行判断是否需要写入本地的连续性文档中,所以佬会看到有时候就自动触发啦。如果某一次对话收尾,可以明确说一句“收工”、“完整更新一下上下文”类似的指令,agent就会按照协议进行一次收尾。

自动感知的设计也是一定程度为了提升用户体验,不用一直惦记着上下文这个事,agent会自动感知何时需要更新连续性文档,减少对用户主线任务的干扰和时间占用。由于项目收尾的动作(对话结束的动作)通常用户不会主动和agent交代,因此在这个环节会有一定疏漏,如果担心没有收束上下文,可以按照上述方法触发一次。

下一个版本,会加强智能感知是否更新上下文、判断写到哪一层上下文的能力,并优化好单次对话收尾时的动作和用户体验(主要思路是用户结束时天然不会和agent告别,因此recallloom会加强对日期的感知,识别到跨日但前一日未收束,那么会主动询问用户收束连续性文档)!佬可以到时候跟进一下新版本!

Superluckyli <noreply@linux.do>于2026年4月27日 周一18:53写道: