[开源] Magi:一个本地桌面 Agent,把你的碎片活动沉淀为白盒记忆

9 小时 21 分钟前
 asuka321

大家好,开源一个自己折腾的桌面端 AI Agent 项目:Magi

GitHub Repo:Github

为什么要做 Magi ?

开发这个项目的念头,起因于去年尝试做的一款日记应用。当时期望通过对日记进行行为与情感分析,让 AI 刻画出用户画像,从而提供更有温度的交互。推进过程中遇到了明显的瓶颈:大部分用户根本不会主动表达日常操作习惯。日记能留存生活中的“大事”,对“稀松平常的小事”无能为力。

今天又加班到了凌晨 1 点,其实完全没我啥事,就硬等前端把接口调完。不过靠我精湛的摸鱼技巧,在公司爽看了 3 集 MyGO ,还听了好久周杰伦的新专。

这段平凡的经历,几个月后你或许还记得当晚的加班。至于期间看了什么剧、听了什么歌、当时的情绪状态,往往会彻底遗忘。

Magi 的核心目标正是解决这一痛点。它作为一个桌面 Agent ,通过接入浏览器记录、媒体播放、照片库、日历、Git 提交等外部传感器数据,将这些被动产生的操作痕迹,汇聚成用户个人的长期记忆时间线。

长期记忆能力

为什么不能直接使用向量库?

很多系统所谓的长期记忆,最后都变成了“把记录切块丢进向量库”。在桌面端高频传感器场景下,这种做法会带来灾难性的后果。

以一个中度使用的开发者为例,每天的 API 对话、终端操作、网页浏览记录、媒体访问记录可达 3000 条。如果全量存入并做索引:

五层生命周期的本地记忆架构

要支撑海量被动数据的摄入并保持检索的可用性,Magi 在本地构建了一个五层( L0-L4 )生命周期的记忆架构。

目前这套记忆检索链路在 LongMemEval 评测集上跑到了 87.2% 的准确率。关于整个记忆的构建思路,我也写了一篇文字这博客里。

赋予 Agent 真实的“生命感”

在这个记忆底座之上,为了让 Magi 真正像一个“伴侣”运作,交互层创新性实现了两个机制:

1. 告别机械对答的自然节奏回复 传统大模型的回复是严格的 1 对 1 同步模式。Magi 增加了一个后置的切片链路,会将长段的回复拆解,模拟真人的输入停顿,按多段、有延迟的异步方式发送给用户,大幅降低“机器感”。

2. 动态人格跃迁及深层人格 Agent 的人格设定支持深度自定义,并与记忆系统的 L2 状态层打通。当底层观察到用户处于高压或焦虑状态时,即使是偏向“搞笑”的人设,也会自动平滑跃迁至温和安抚状态。随着互动时间的拉长和特定里程碑的触发,还会解锁深层的人格维度。

产品状态与相关链接

在产品形态上,Magi 提供了一个开箱即用的桌面客户端。所有应用数据和记忆数据库默认保存在本地。除了正常的 LLM API 调用,系统没有任何外部数据上报逻辑。

项目目前处于 Beta 阶段,核心的记忆分层链路和基础传感器均已完整跑通,提供开箱即用的 macOS 安装包。由于系统的复杂性,实际运行中可能会遇到一些预料之外的 Bug 。如果你在体验中发现任何问题,欢迎随时在 GitHub 提交 Issue ,我会第一时间跟进修复。

对 Agent 底层逻辑或记忆架构感兴趣的 V 友,欢迎下载体验并查阅源码。期待各位的 Issue 和 PR 。

相关链接

765 次点击
所在节点    程序员
8 条回复
lpynbysa
8 小时 1 分钟前
厉害,我试试
lpynbysa
6 小时 54 分钟前
小白试用了一下,我接入了 gemini 的 api ,开 tun 模式启动了对话,但是它不知道我在听什么音乐,也查不到我的浏览器记录,你那个里面说的是 chrome 浏览器,我用 chrome 浏览器浏览了几个页面,它也没提到。插件市场基本的几个插件我都装了。不知道是哪里没操作对,求解惑
asuka321
5 小时 40 分钟前
@lpynbysa #2 要在设置-传感器里把相关的传感器开一下,这个 agent 目标不是说可以实时去查当前你的状态是什么,是采集你的信息,然后记录下来便于后续分析。因为插件同步会有聚批逻辑,会有一定延迟,想立即看结果可以去对应的传感器设置里点立即同步。这样再问 ai 就能回答了
lpynbysa
5 小时 15 分钟前
@asuka321 我点了立即同步,问 ai 他还是没回答出来,期间一直在放歌。传感器那里,网易云音乐显示有红点 [no such table: web_playlist] ,浏览器我一直用的 edge ,不知道 chrome 插件有没有用,我把 steam ,网易云,edge 都打开了,刷新然后同步,问 ai 我最近在干什么,它不知道。
asuka321
5 小时 10 分钟前
@lpynbysa #4 网易云采集是通过本地 sqlite 的数据库的,可能版本不太一样,你的网易云版本和系统版本能发一份给我么,我看看
lpynbysa
4 小时 52 分钟前
Windows 11 家庭中文版 版本号 25H2 关于网易云音乐 当前版本 3.1.28 (64 位)(Build: 205001) Patdh:50d8b54
asuka321
4 小时 17 分钟前
@lpynbysa #6 可能是默认文件路径不存在,我修了一下把表不存在和文件不存在区分开了,文件路径也加到配置里去了,在插件市场里更新一下,然后重新进网易云传感器里同步下看看
lpynbysa
2 小时 20 分钟前
@asuka321 好的,感谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1212645

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX