[开源分享] rust 编写的 agent 统一工作记忆中枢,可作为协作开发的一个解决思路

wolllf 2026-07-12 07:49 1

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



  • 我的帖子已经打上 开源推广 标签:

  • 我的开源项目完整开源,无未开源部分:

  • 我的开源项目已链接认可 LINUX DO 社区:

  • 我帖子内的项目介绍,AI生成、润色内容部分已截图发出:

  • 以上选择我承诺是永久有效的,接受社区和佬友监督:


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




github repo: sivtr | A unified agent memory workspace for human and agent

文档:sivtr | sivtr

deepwiki: Ariestar/sivtr | DeepWiki


之前由于linuxdo账号被暂时封禁了,是另一位开发者帮忙发的帖子,之后又进行了一系列大版本更新,所以用这个账号再发一次。




sivtr 是一个同时面向 agent 和 human 的统一工作记忆中枢。它可以把终端 terminal 记录,不同 agent 的对话记录,甚至不同设备上的上述内容,全部结构化并且提供一种优雅的的定位、检索方式。


你可以理解成,把对话、终端历史本身当作了一份外挂知识库,并且提供了一个优雅的、结构化、网络化的检索方式。(后续还能支持 rag,进行语义搜索)


以下是一些使用玩法与优势:


codex/claude code 直接获取终端信息


终端报错,或者 log 记录,使用 sivtr skill,codex 能直接通过指令获取终端信息,免去复制、解释等一系列麻烦



个性化检索所有对话记录


sivtr 有以下几种强大的检索能力



  • 各种时间(段)排序

  • 变量系统,能反复复用同一份对话位点,避免重复搜素

  • 强大的跳转定位能力,可以看全局信息,也能前后跳转/扩展某一个对话位点


这源自sivtr统一了终端、agent历史的结构化信息,并分为WorkRecord, WorkPart, WorkSet等多层,并通过WorkRef进行精准定位
























WorkRecord 一个有用的工作事件:终端命令、Agent turn、工具调用或捕获输出块。
WorkPart Record 里的命令、输出、assistant 回复、tool output 或 error。只想拿有用片段而不是整个事件时用它。
WorkRef 某段精确记忆的稳定地址,例如 pi//3/o/1。适合引用、复现和交接。
WorkSet @last、@failures 这类记忆变量背后的数据:一组有顺序的 refs,可以筛选、保存、切片、管道传递、导航、扩展和展示。

具体可以看文档


于是,它可以把所有历史对话,当作一个整体进行操作(几种简单玩法):



  • 按 timeline 排序最新工作,列一份今天的工作日志

  • 找找现在其他开发者在进行什么工作

  • 找找某某 session 没有完成的 bug 修复

  • 更优雅的 handoff:直接继续 xxx 没完成的任务

  • 找找我的 hermes 中关于 xxx 的想法探讨

  • 帮我梳理过去一个月里,我和不同 Agent 关于‘模块解耦’的所有散落讨论,提炼出思路的演进过程和最终结论

  • 复现一下上周天下午生产服务器上的崩溃,找到原因

  • 总结这个产品开发过程中,学习到的经验,总结成技术 wiki



远程协作新范式


通过 sivtr,可以远程配对其他设备,从而直接获取其他开发者的终端报错/codex 记录等,可以解决同步工作进度,避免冲突等一系列问题。



详细远程连接指令,可以参照文档|远程访问


sivtr也能很方便的把一个人的所有agent会话统一起来。比如,我将自己服务器上hermes配置好sivtr,通过远程连接,hermes上对话中的灵感,无缝衔接到本地开始实现;或者在本地obsidian梳理云端hermes对话,分析这一段时间的经历等等。


更本质的说,其实可以用 sivtr 探索多 agent 协同的一种方案,我们既可以通过 A2A 协议,让一个 agent 主动唤醒另一个 agent 进行子任务,也可以让某个 agent 直接读取其他所有 agent 的工作,整体判断。这两种方式的区别在于:一种是上下级的关系,一种是平级关系,通过这两种方式,我们可以设想,去构建一种更灵活、多元的多 agent 协同方式。


避免上下文问题


由于历史记录本身就是一张巨大的知识库图谱,因此上下文问题可以得到缓解,本质上是通过 rag 的思路去直接解决上下文问题。去直接优化搜索质量,而不是去通过压缩的方式(信息失真)(注意这里并没有说压缩不好,而是应该两种方式并存。压缩丢失的信息,通过 sivtr 记忆空间召回)


安装方式


cargo binstall sivtr

或者 cargo install sivtr

skill: npx skills add Ariestar/sivtr -g


后续的开发方向



  • 优化检索质量,这直接决定 sivtr 是否好用以及这种范式的上限

  • RAG 向量化集成。这样 sivtr 可以同时支持结构化搜索和语义化搜索

  • 支持更多平台(比如网页 ai 对话,更多 coding agent、IDE、终端和协作工具)

  • 建立来源追踪、可信度、记忆版本和过期管理机制,保证检索结果可验证,避免一些旧数据污染记忆空间

  • 权限、隐私、脱敏和数据生命周期管理,避免重要数据泄露

  • 提供开发 API 和 agent 接口,通过 CLI、MCP、API 和 SDK,让 sivtr 成为其他 Agent 可以直接调用的工作记忆基础设施

  • 多模态记忆支持,能直接定位比如图像等多模态历史


欢迎试用,issue与pr!

GitHub: GitHub - Ariestar/sivtr: A unified agent memory workspace for human and agent · GitHub

目前开发团队人员很少,如果你有兴趣,欢迎一起开发,提供你的新想法、新理念,一起探索未来与 agent 协作的新范式。

最新回复 (2)
  • PixelCat 07-12 07:59
    1

    感谢佬友分享,本地装了claude code、codex、hermes studio, 它们产生的会话可以共享使用吗?

  • wolllf 楼主 07-12 11:27
    2

    是的是的,可以共享使用,这些会话都可以通过sivtr统一检索,而且不仅本地,远程会话的也可以连接

* 帖子来源Linux.do
返回