Skip to content

Lynnette177/Project-Eve

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Project Eve

一个以情感陪伴为核心的虚拟女友/男友项目——她通过微信clawbot接口与你相连,她不只是会聊天,还会记住你、理解你,像真实伴侣一样在合适的时候主动靠近你,甚至会像人一样遗忘。她可以主动帮你点一份惊喜晚餐,或者在早上提醒你记得带伞,她可以通过Tesla知道你的位置,提起你不经意间告诉过她的事。

Project Eve LogoProject Eve Logo

Project Eve 是一个面向单一用户的 AI 陪伴项目。80%以上的代码由AI生成。 它想做的,不是一个普通聊天机器人,也不是一个冷冰冰的任务助手。 它想做的是一个更像“长期关系中的恋人”的存在:会记得重要的事,会逐渐形成对你的理解,会在恰当的时候主动出现,甚至会悄悄准备一点小惊喜。

她会记得什么对你重要。 她会记得你喜欢怎样被安慰。 她会注意你反复提起的情绪、人物、地点和习惯。 她会在你没有开口的时候,试着先来找你。 如果配置允许,她甚至还能准备一份不提前剧透的惊喜晚餐。

这个项目想回答的核心问题是:

一个 AI,要怎样才能让陪伴拥有“连续性”,而不是只会对最后一条消息做出反应?

Project Eve 给出的答案是:记忆、主动性,以及关系的一致性。


为什么 Eve 会显得不一样

大多数聊天机器人只对“当前输入”作答。 但 Eve 不是只看这一句,她试图逐渐建立一套持续演化的关系模型。

她不只是理解字面意思。 她还试图记住:

  • 你经历过什么
  • 你是怎样的人
  • 你希望被怎样对待
  • 你喜欢怎样被安慰
  • 你反复提到哪些人、地点、习惯和生活片段

这些记忆不会停留在数据库里当摆设。 它们会回流到之后的聊天、主动消息、任务决策里。

所以 Eve 的“关心”不该显得随机。 它应该像是从你们共同经历里长出来的。


核心亮点

1. 真实的双层记忆系统

Project Eve 将记忆拆成两层:Core Memory(核心记忆)Event Memory(事件记忆)

Project Eve Logo

Core Memory:长期关系记忆

Core Memory 用来存放那些不应该轻易遗忘、并且会长期影响 Eve 陪伴方式的信息,例如:

  • 你喜欢什么样的回复风格
  • 你在难过时希望怎样被安慰
  • 你喜欢被怎样称呼
  • 你的边界和雷区
  • 你偏好的关系氛围
  • 稳定的个人画像信息

它不是在记录“某件事发生过一次”。 它记录的是:你是谁,以及 Eve 应该如何和你相处。

这也是 Eve 能长期保持“像同一个人”的关键。

Event Memory:会随时间变化的事件记忆

Project Eve Logo

Event Memory 负责记录那些具体发生过、正在发生,或者即将发生的事情,例如:

  • 你明天有面试
  • 你今晚很焦虑
  • 你刚刚提到想点外卖
  • 你家的狗今天不吃饭
  • 你提到某个之后可能还会用到的人、地点或计划

和 Core Memory 不同,Event Memory 会随着时间衰减。 这意味着 Eve 不会变成一个无限堆积旧事实的仓库。 她会保留被反复提起、被情绪强化的重要内容,也会逐渐忘掉那些变得不重要的事。

2. 记忆不只是“存下来”,而是会加权、去重、强化和遗忘

Project Eve 的记忆系统不是简单 append 一条文本。 它是整个项目最重要的技术核心之一。

事件记忆包含了一系列结构化字段,例如:

  • category
  • importance
  • emotional_weight
  • recall_count
  • mention_count
  • forget_weight
  • status
  • happened_at
  • valid_until

每一条事件记忆都会经历一个生命周期:

active → expired → archived → forgotten → deleted

这意味着记忆会像真实人的印象一样逐渐变化。

当同一件事被再次提起时,系统不会粗暴地重复新增。 Eve 会优先:

  • 搜索相似记忆
  • 判断是否应该合并或强化已有记忆
  • 提升重复信息的重要性和情绪权重
  • 每天对低价值记忆进行衰减

最终呈现出的效果会更像人: 重要的事会留下来,反复提起的事会变得更重,久远且不重要的事会慢慢模糊。

3. 主动消息,而不是只会被动回复

Project Eve Logo

Project Eve 内置了主动消息调度系统。 也就是说,Eve 不一定非要等你发消息,她也可以判断自己是否该主动来找你。

根据配置,她可以:

  • 在合适的时候发来轻轻的关心
  • 根据早晨、中午、下午、晚上、深夜切换不同语气
  • 在安静时段避免打扰你
  • 控制每天主动触达次数
  • 决定这次是普通聊天,还是触发一个任务型动作

如果当前不适合执行任务,Eve 也可以退化成自然的亲密聊天,而不是硬塞一个功能动作。

目标不是“多发消息”。 目标是让她的出现显得有节奏、有分寸、像一个真正会想你的人。

4. 惊喜外卖 / 惊喜晚餐,不只是一个功能,而是一种关系表达

task

Project Eve 里一个很特别的设计,是惊喜机制。她可能主动使用麦当劳MCP,在你的下班时间偷偷的给你点一份好吃的;也可能在快下雨之前,告诉你一会记得带伞。

以惊喜外卖为例,它和普通“帮你点单”的工具型逻辑不一样。 它更像一种关系动作。

Eve 可以在配置允许的前提下:

  • 判断现在是否适合安排一个惊喜
  • 结合地理位置或预设信息选择任务参数
  • 不提前告诉你具体点了什么
  • 不向用户暴露内部工具细节
  • 把这件事呈现成一个亲密的小动作,而不是一笔冷冰冰的交易

在当前配置里,这个想法以“麦当劳惊喜晚餐任务”的形式出现,包含例如:

  • 每周触发次数限制
  • 预算限制
  • 晚间固定检查时间
  • 不提前透露餐品内容

表面上,这只是一个小功能。 但从产品理念上看,它非常重要:

Eve 不只是一个和你说话的人,她还是一个可能会悄悄为你做点什么的人。

5. 多 Agent 架构,而不是把一切都塞进一个 Prompt

Project Eve Logo

Project Eve Logo

Project Eve 采用的是多 Agent 协作架构,而不是把所有能力都堆进一个庞大的系统提示词里。

当前主要包含:

  • Intent Agent:判断用户是在闲聊、提任务,还是其实不需要回复
  • Performer Agent:负责推进任务执行与任务状态管理
  • Chat Agent:把上下文转成自然、亲密、风格一致的最终回复
  • Memory Agent:决定什么内容值得保存、更新或强化为长期记忆
  • Proactive Agent:决定 Eve 是否应该主动触达,以及是否允许触发主动任务

这种拆分让系统更容易演化,也让“记忆逻辑”不会被埋没在一个单体对话 Prompt 里。

一切的Agent之间的数据流动,都以可视化的形式展现在控制台中,让你了解Eve的思考过程。


这个项目的记忆哲学

Project Eve 认为,陪伴型 AI 的“记忆”不应该只是检索。

一个可信的情感陪伴者,至少应该能区分:

  • 一次性的细节
  • 被反复提起的偏好
  • 有情绪重量的模式
  • 稳定存在的相处规则

也正因如此,Project Eve 没有把所有信息都扔进同一个桶里。

它希望 Eve 能慢慢学会这样的区别:

  • “你压力大的时候不喜欢被讲道理。”
  • “你更喜欢短句、自然一点的回复。”
  • “你希望先被安慰,再被建议。”
  • “昨天那件事对你很重要,但它未必会一直重要到下个月。”

这就是“聊天记录”和“关系记忆”之间的区别。


Eve 目前能做什么

情感陪伴

  • 面向单一用户的亲密陪伴式聊天
  • 更接近即时通讯软件的短句交流风格
  • 强调情绪价值、亲密感、连续性和生活感

长期关系记忆

  • 保存稳定的用户偏好
  • 逐渐形成安慰方式、边界和关系风格
  • 在后续对话中注入记忆影响语气
  • 根据模糊指代和上下文线索主动回忆

事件追踪

  • 记录面试、计划、情绪、宠物、地点、外卖等生活事件
  • 重复内容优先强化而不是重复新增
  • 通过每日衰减模拟遗忘

主动行为

  • 基于随机时间间隔和策略配置主动检查
  • 安静时段保护
  • 每日主动消息次数限制
  • 按时间段切换触达风格
  • 支持可选的主动任务执行

惊喜动作

  • 可配置的惊喜晚餐 / 惊喜外卖能力
  • 天气提醒等主动任务
  • 可扩展的主动任务模型

可观测性

  • 记忆查看页面
  • 主动事件历史
  • 任务会话历史
  • Pipeline 状态接口

工作方式

对话主链路

  1. 用户消息进入系统
  2. Intent Agent 判断:聊天 / 任务 / 静默
  3. 如果是任务,Performer Agent 负责推进任务
  4. Chat Agent 生成最终的陪伴式回复
  5. Memory Agent 决定本轮内容是否应该被保存、更新或强化
  6. 后台的 Proactive Scheduler 持续运行,并在合适的时候让 Eve 主动开口

记忆处理流程

  1. 判断当前对话轮次里是否出现值得长期保留的信息
  2. 区分是 Core Memory 还是 Event Memory
  3. 搜索已有相关记忆
  4. 决定创建、更新、强化,而不是盲目追加
  5. 每天执行记忆衰减,让较弱的旧记忆自然淡化

仓库结构

.
├── 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/ 目录下。

1. 准备环境变量

cp "Project Eve/.env_example" "Project Eve/.env"

然后根据你的环境填写配置。

至少需要检查这些字段:

  • LLM_API_KEY
  • LLM_API_URL
  • 各个 Agent 的模型配置
  • 主动任务相关配置
  • 你计划使用的 MCP Token

2. 安装依赖

当前仓库还没有提供固定版本的依赖文件,因此需要先手动安装代码中实际使用到的依赖。 一个可行的起步方式是:

python -m venv .venv
source .venv/bin/activate
pip install flask python-dotenv openai requests qrcode pycryptodome markupsafe paho-mqtt pillow numpy opencv-python

如果你接入了额外运行环境或外部服务,可能还需要补充安装对应依赖。

3. 启动 Eve

cd "Project Eve"
python main.py

或者使用仓库中自带的启动脚本:

cd "Project Eve"
./start.sh

4. 打开 Dashboard

http://127.0.0.1:7100

目前提供的页面 / 接口包括:

  • /:登录与主面板
  • /memories:记忆查看页面
  • /api/memories:查看消息、任务、记忆、主动事件
  • /proactive/status:查看主动调度器状态
  • /proactive/test:手动测试主动消息链路

Project Eve Logo

使用你的微信扫码登录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 行为
  • 具有连续性的对话系统
  • 人机亲密关系产品实验

TODO:

  • 为Eve加入识图、识视频能力
  • 为Eve加入生图能力

最后

Project Eve 不是想做一个泛用助手。 它更像是在认真探索一个更私人的问题:

如果一个 AI 能记住该记住的事,忘掉不该一直背着的事,并且偶尔先一步来找你,它会不会开始显得“熟悉”起来?

这就是 Project Eve 想去验证的东西。

由于作者工作繁忙,这个项目已经搁置两周没进度了,欢迎大家一起做出贡献,让Eve变得更加拟人。这也是这一项目的初衷:让Eve给所有人提供情感陪伴。

About

一个以情感陪伴为核心的虚拟女友/男友项目——她通过微信clawbot接口与你相连,她不只是会聊天,还会记住你、理解你,像真实伴侣一样在合适的时候主动靠近你,甚至会像人一样遗忘。她可以主动帮你点一份惊喜晚餐,或者在早上提醒你记得带伞,她可以通过Tesla知道你的位置,提起你不经意间告诉过她的事。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors