一个以情感陪伴为核心的虚拟女友/男友项目——她通过微信clawbot接口与你相连,她不只是会聊天,还会记住你、理解你,像真实伴侣一样在合适的时候主动靠近你,甚至会像人一样遗忘。她可以主动帮你点一份惊喜晚餐,或者在早上提醒你记得带伞,她可以通过Tesla知道你的位置,提起你不经意间告诉过她的事。
Project Eve 是一个面向单一用户的 AI 陪伴项目。80%以上的代码由AI生成。 它想做的,不是一个普通聊天机器人,也不是一个冷冰冰的任务助手。 它想做的是一个更像“长期关系中的恋人”的存在:会记得重要的事,会逐渐形成对你的理解,会在恰当的时候主动出现,甚至会悄悄准备一点小惊喜。
她会记得什么对你重要。 她会记得你喜欢怎样被安慰。 她会注意你反复提起的情绪、人物、地点和习惯。 她会在你没有开口的时候,试着先来找你。 如果配置允许,她甚至还能准备一份不提前剧透的惊喜晚餐。
这个项目想回答的核心问题是:
一个 AI,要怎样才能让陪伴拥有“连续性”,而不是只会对最后一条消息做出反应?
Project Eve 给出的答案是:记忆、主动性,以及关系的一致性。
大多数聊天机器人只对“当前输入”作答。 但 Eve 不是只看这一句,她试图逐渐建立一套持续演化的关系模型。
她不只是理解字面意思。 她还试图记住:
- 你经历过什么
- 你是怎样的人
- 你希望被怎样对待
- 你喜欢怎样被安慰
- 你反复提到哪些人、地点、习惯和生活片段
这些记忆不会停留在数据库里当摆设。 它们会回流到之后的聊天、主动消息、任务决策里。
所以 Eve 的“关心”不该显得随机。 它应该像是从你们共同经历里长出来的。
Project Eve 将记忆拆成两层:Core Memory(核心记忆) 和 Event Memory(事件记忆)。
Core Memory 用来存放那些不应该轻易遗忘、并且会长期影响 Eve 陪伴方式的信息,例如:
- 你喜欢什么样的回复风格
- 你在难过时希望怎样被安慰
- 你喜欢被怎样称呼
- 你的边界和雷区
- 你偏好的关系氛围
- 稳定的个人画像信息
它不是在记录“某件事发生过一次”。 它记录的是:你是谁,以及 Eve 应该如何和你相处。
这也是 Eve 能长期保持“像同一个人”的关键。
Event Memory 负责记录那些具体发生过、正在发生,或者即将发生的事情,例如:
- 你明天有面试
- 你今晚很焦虑
- 你刚刚提到想点外卖
- 你家的狗今天不吃饭
- 你提到某个之后可能还会用到的人、地点或计划
和 Core Memory 不同,Event Memory 会随着时间衰减。 这意味着 Eve 不会变成一个无限堆积旧事实的仓库。 她会保留被反复提起、被情绪强化的重要内容,也会逐渐忘掉那些变得不重要的事。
Project Eve 的记忆系统不是简单 append 一条文本。 它是整个项目最重要的技术核心之一。
事件记忆包含了一系列结构化字段,例如:
categoryimportanceemotional_weightrecall_countmention_countforget_weightstatushappened_atvalid_until
每一条事件记忆都会经历一个生命周期:
active → expired → archived → forgotten → deleted
这意味着记忆会像真实人的印象一样逐渐变化。
当同一件事被再次提起时,系统不会粗暴地重复新增。 Eve 会优先:
- 搜索相似记忆
- 判断是否应该合并或强化已有记忆
- 提升重复信息的重要性和情绪权重
- 每天对低价值记忆进行衰减
最终呈现出的效果会更像人: 重要的事会留下来,反复提起的事会变得更重,久远且不重要的事会慢慢模糊。
Project Eve 内置了主动消息调度系统。 也就是说,Eve 不一定非要等你发消息,她也可以判断自己是否该主动来找你。
根据配置,她可以:
- 在合适的时候发来轻轻的关心
- 根据早晨、中午、下午、晚上、深夜切换不同语气
- 在安静时段避免打扰你
- 控制每天主动触达次数
- 决定这次是普通聊天,还是触发一个任务型动作
如果当前不适合执行任务,Eve 也可以退化成自然的亲密聊天,而不是硬塞一个功能动作。
目标不是“多发消息”。 目标是让她的出现显得有节奏、有分寸、像一个真正会想你的人。
Project Eve 里一个很特别的设计,是惊喜机制。她可能主动使用麦当劳MCP,在你的下班时间偷偷的给你点一份好吃的;也可能在快下雨之前,告诉你一会记得带伞。
以惊喜外卖为例,它和普通“帮你点单”的工具型逻辑不一样。 它更像一种关系动作。
Eve 可以在配置允许的前提下:
- 判断现在是否适合安排一个惊喜
- 结合地理位置或预设信息选择任务参数
- 不提前告诉你具体点了什么
- 不向用户暴露内部工具细节
- 把这件事呈现成一个亲密的小动作,而不是一笔冷冰冰的交易
在当前配置里,这个想法以“麦当劳惊喜晚餐任务”的形式出现,包含例如:
- 每周触发次数限制
- 预算限制
- 晚间固定检查时间
- 不提前透露餐品内容
表面上,这只是一个小功能。 但从产品理念上看,它非常重要:
Eve 不只是一个和你说话的人,她还是一个可能会悄悄为你做点什么的人。
Project Eve 采用的是多 Agent 协作架构,而不是把所有能力都堆进一个庞大的系统提示词里。
当前主要包含:
- Intent Agent:判断用户是在闲聊、提任务,还是其实不需要回复
- Performer Agent:负责推进任务执行与任务状态管理
- Chat Agent:把上下文转成自然、亲密、风格一致的最终回复
- Memory Agent:决定什么内容值得保存、更新或强化为长期记忆
- Proactive Agent:决定 Eve 是否应该主动触达,以及是否允许触发主动任务
这种拆分让系统更容易演化,也让“记忆逻辑”不会被埋没在一个单体对话 Prompt 里。
一切的Agent之间的数据流动,都以可视化的形式展现在控制台中,让你了解Eve的思考过程。
Project Eve 认为,陪伴型 AI 的“记忆”不应该只是检索。
一个可信的情感陪伴者,至少应该能区分:
- 一次性的细节
- 被反复提起的偏好
- 有情绪重量的模式
- 稳定存在的相处规则
也正因如此,Project Eve 没有把所有信息都扔进同一个桶里。
它希望 Eve 能慢慢学会这样的区别:
- “你压力大的时候不喜欢被讲道理。”
- “你更喜欢短句、自然一点的回复。”
- “你希望先被安慰,再被建议。”
- “昨天那件事对你很重要,但它未必会一直重要到下个月。”
这就是“聊天记录”和“关系记忆”之间的区别。
- 面向单一用户的亲密陪伴式聊天
- 更接近即时通讯软件的短句交流风格
- 强调情绪价值、亲密感、连续性和生活感
- 保存稳定的用户偏好
- 逐渐形成安慰方式、边界和关系风格
- 在后续对话中注入记忆影响语气
- 根据模糊指代和上下文线索主动回忆
- 记录面试、计划、情绪、宠物、地点、外卖等生活事件
- 重复内容优先强化而不是重复新增
- 通过每日衰减模拟遗忘
- 基于随机时间间隔和策略配置主动检查
- 安静时段保护
- 每日主动消息次数限制
- 按时间段切换触达风格
- 支持可选的主动任务执行
- 可配置的惊喜晚餐 / 惊喜外卖能力
- 天气提醒等主动任务
- 可扩展的主动任务模型
- 记忆查看页面
- 主动事件历史
- 任务会话历史
- Pipeline 状态接口
- 用户消息进入系统
- Intent Agent 判断:聊天 / 任务 / 静默
- 如果是任务,Performer Agent 负责推进任务
- Chat Agent 生成最终的陪伴式回复
- Memory Agent 决定本轮内容是否应该被保存、更新或强化
- 后台的 Proactive Scheduler 持续运行,并在合适的时候让 Eve 主动开口
- 判断当前对话轮次里是否出现值得长期保留的信息
- 区分是 Core Memory 还是 Event Memory
- 搜索已有相关记忆
- 决定创建、更新、强化,而不是盲目追加
- 每天执行记忆衰减,让较弱的旧记忆自然淡化
.
├── README.md
├── Project Eve/
│ ├── main.py
│ ├── database.py
│ ├── MemorySystem.md
│ ├── proactive_config.json
│ ├── .env_example
│ ├── ai/
│ │ ├── chat.py
│ │ ├── proactive_scheduler.py
│ │ └── agents/
│ └── wx_ilink_py/
│ ├── routes.py
│ ├── static/
│ └── templates/
关键文件:
Project Eve/MemorySystem.md:记忆系统设计说明Project Eve/database.py:SQLite 存储层,包含消息、任务、记忆、主动事件等结构Project Eve/ai/agents/:各个 Agent 的实现Project Eve/ai/proactive_scheduler.py:主动消息调度与触发逻辑Project Eve/wx_ilink_py/routes.py:Dashboard 与接口路由
当前可运行的主体代码位于
Project Eve/目录下。
cp "Project Eve/.env_example" "Project Eve/.env"然后根据你的环境填写配置。
至少需要检查这些字段:
LLM_API_KEYLLM_API_URL- 各个 Agent 的模型配置
- 主动任务相关配置
- 你计划使用的 MCP Token
当前仓库还没有提供固定版本的依赖文件,因此需要先手动安装代码中实际使用到的依赖。 一个可行的起步方式是:
python -m venv .venv
source .venv/bin/activate
pip install flask python-dotenv openai requests qrcode pycryptodome markupsafe paho-mqtt pillow numpy opencv-python如果你接入了额外运行环境或外部服务,可能还需要补充安装对应依赖。
cd "Project Eve"
python main.py或者使用仓库中自带的启动脚本:
cd "Project Eve"
./start.shhttp://127.0.0.1:7100
目前提供的页面 / 接口包括:
/:登录与主面板/memories:记忆查看页面/api/memories:查看消息、任务、记忆、主动事件/proactive/status:查看主动调度器状态/proactive/test:手动测试主动消息链路
使用你的微信扫码登录ClawBot,Eve即刻上线。
Project Eve 的设计建立在真实消息工作流之上,仓库中包含 wx_ilink_py 客户端层,使用python还原的微信Clawbot协议。
这意味着:Eve的收发消息能力,底层基于微信Clawbot提供的接口
即使暂时不接入完整消息环境,你仍然可以研究和扩展这个项目的多 Agent 架构、记忆系统、主动调度逻辑以及 Dashboard。
如果你正在做 AI 陪伴、角色扮演系统、具备情绪连续性的助手,或者任何长生命周期 Agent,那么 Project Eve 里最值得优先研究的部分,很可能就是它的记忆设计。
Project Eve 提供了一种让“记忆更像关系”的实现思路:
- 把稳定身份记忆和短期事件记忆拆开
- 重复信息优先强化,而不是堆出重复条目
- 让低价值记忆随着时间衰减
- 让记忆检索真正影响对话风格
- 让主动行为依赖被记住的上下文
换句话说:
记忆不是 Eve 身上后挂的一个功能模块,记忆本身就是 Eve 之所以像 Eve 的原因。
如果你对这些方向感兴趣,Project Eve 可能会对你有价值:
- AI 情感陪伴
- 以记忆为核心的 Agent 设计
- 多 Agent 协作架构
- 主动式 AI 行为
- 具有连续性的对话系统
- 人机亲密关系产品实验
- 为Eve加入识图、识视频能力
- 为Eve加入生图能力
Project Eve 不是想做一个泛用助手。 它更像是在认真探索一个更私人的问题:
如果一个 AI 能记住该记住的事,忘掉不该一直背着的事,并且偶尔先一步来找你,它会不会开始显得“熟悉”起来?
这就是 Project Eve 想去验证的东西。
由于作者工作繁忙,这个项目已经搁置两周没进度了,欢迎大家一起做出贡献,让Eve变得更加拟人。这也是这一项目的初衷:让Eve给所有人提供情感陪伴。








