362 lines
11 KiB
Markdown
362 lines
11 KiB
Markdown
# Memind 打通 AI Mind 项目评估报告
|
||
|
||
日期:2026-06-24
|
||
范围:`/Users/john/Project/Memind` 与 `/Users/john/PycharmProjects/ai_mind`
|
||
状态:只读评估结论整理,后续可继续深化方案与实施拆解
|
||
|
||
## 1. 结论
|
||
|
||
Memind 可以与 AI Mind 项目关联,而且关联价值很高。
|
||
|
||
推荐方向不是把两个项目合并,也不是直接共享数据库表,而是让 Memind 继续作为入口、账号、MindSpace、H5 体验和代理层,让 AI Mind 作为长期记忆、数字人格、认知画像、人生流与 persona runtime 的认知后端。
|
||
|
||
一句话概括:
|
||
|
||
> Memind 负责人机入口,AI Mind 负责脑和性格。
|
||
|
||
综合判断:
|
||
|
||
- 可行性:8/10
|
||
- 推荐度:9/10
|
||
- 直接合并推荐度:2/10
|
||
|
||
最合理的路线是先做轻量桥接,再做记忆回流,最后做深度融合。
|
||
|
||
## 2. 当前项目角色判断
|
||
|
||
### 2.1 Memind 的现状
|
||
|
||
Memind 当前更像 H5 入口、门户、用户空间、会话代理和 MindSpace 体验层。
|
||
|
||
它已有:
|
||
|
||
- 用户体系:`h5_users`
|
||
- Agent 会话归属:`h5_user_sessions`
|
||
- TKMind API proxy
|
||
- Goose/agent session 转发链路
|
||
- MindSpace 页面、资料、发布、广场、微信接入、计费等业务能力
|
||
- 轻量用户偏好画像:`.tkmind-profile.json`
|
||
|
||
其中 `.tkmind-profile.json` 更像面向 Goose 会话的用户偏好卡片,字段包括语言、回复风格、偏好列表等。它可以提供基础记忆提示,但不是完整长期认知系统。
|
||
|
||
### 2.2 AI Mind 的现状
|
||
|
||
AI Mind 是一个更完整的认知与数字人格后端。
|
||
|
||
它已有:
|
||
|
||
- FastAPI `/api/v1/*` API 体系
|
||
- `chat`、`memory`、`profile`、`persona`、`life_stream`、`coremind` 等正式路由
|
||
- 长期记忆:`memory_items`、`memory_chunks`、`memory_vectors`
|
||
- 用户认知画像:`user_cognitive_profile`
|
||
- 数字人体系:`digital_personas`、`persona_conversations`、`persona_messages`
|
||
- 数字人画像、知识库、技能、反思、自我核心、自治策略
|
||
- 人生流 L1/L2/Phase3、profile evidence、memory bridge
|
||
- Persona external API,可供外部系统调用数字人对话与画像
|
||
|
||
AI Mind 中的 persona context 已经能把用户画像、长期记忆、知识库和技能聚合成 prompt 上下文。这正是 Memind 想要获得的“真的有记忆、性格、特征”的能力基础。
|
||
|
||
## 3. 可关联的关键依据
|
||
|
||
### 3.1 Memind 已有代理层,适合接外部认知服务
|
||
|
||
Memind 服务端已经存在 TKMind API proxy。该代理层会处理:
|
||
|
||
- 登录态校验
|
||
- 当前用户解析
|
||
- 会话归属校验
|
||
- 上游 API 转发
|
||
- LLM provider 应用
|
||
- 策略与能力检查
|
||
|
||
这意味着 AI Mind 可以作为外部认知服务接入,而不需要先改造整个 Memind 会话系统。
|
||
|
||
### 3.2 AI Mind 已有外部数字人接口
|
||
|
||
AI Mind 已有:
|
||
|
||
- `POST /api/v1/persona/external/chat`
|
||
- `GET /api/v1/persona/external/profile`
|
||
- `POST /api/v1/persona/external/profile`
|
||
|
||
这些接口通过 `X-API-Token` 识别外部启用的数字人,可返回人格化回复、conversation_id、persona_id、resource_summary、response_mode、画像与成长指标等。
|
||
|
||
这非常适合作为 Memind 的第一阶段桥接入口。
|
||
|
||
### 3.3 AI Mind 已有人生流投递接口
|
||
|
||
AI Mind 的 life_stream 支持:
|
||
|
||
- JWT 鉴权
|
||
- 或 `X-Life-Stream-Ingest-Key + X-Life-Stream-User-Id` 机机投递
|
||
|
||
Memind 可以把重要对话、MindSpace 页面、资料摘要、微信消息摘要、用户行为事件投递为 life_stream event,由 AI Mind 进一步生成分析、证据、记忆、画像和 persona pipeline。
|
||
|
||
## 4. 推荐架构
|
||
|
||
推荐采用三层桥接架构:
|
||
|
||
```text
|
||
用户
|
||
|
|
||
v
|
||
Memind H5 / MindSpace / 微信 / Plaza
|
||
|
|
||
v
|
||
Memind Bridge Layer
|
||
|-- 调用 AI Mind persona external chat
|
||
|-- 投递 AI Mind life_stream events
|
||
|-- 拉取 AI Mind persona profile / memory summary
|
||
|
|
||
v
|
||
AI Mind
|
||
|-- 用户画像
|
||
|-- 长期记忆
|
||
|-- 数字人格
|
||
|-- 人生流
|
||
|-- coremind / runtime
|
||
```
|
||
|
||
职责边界:
|
||
|
||
- Memind 保留入口、账号、空间、页面、发布、微信、广场、计费和 agent session。
|
||
- AI Mind 提供记忆、人格、认知画像、数字人对话、人生流分析和长期沉淀。
|
||
- Bridge Layer 负责身份映射、Token 管理、调用限流、错误降级和审计。
|
||
|
||
## 5. 最小可验证版本
|
||
|
||
最小 MVP 可以这样做:
|
||
|
||
1. 在 Memind 配置 AI Mind 地址,例如 `AI_MIND_BASE_URL=http://127.0.0.1:18000`。
|
||
2. 为 Memind 用户绑定一个 AI Mind 用户和默认 persona。
|
||
3. 保存该 persona 的 external token。
|
||
4. Memind 新增一个“人格对话/记忆增强”调用:
|
||
- `POST /api/v1/persona/external/chat`
|
||
- Header: `X-API-Token: <external_token>`
|
||
- Body: `message`、`conversation_id`、`external_user_id`
|
||
5. Memind 异步投递重要事件:
|
||
- `POST /api/v1/life-stream/events`
|
||
- Header: `X-Life-Stream-Ingest-Key`
|
||
- Header: `X-Life-Stream-User-Id`
|
||
6. Memind 拉取画像:
|
||
- `GET /api/v1/persona/external/profile`
|
||
7. 在前端展示数字人的成长阶段、记忆分、技能分、画像摘要等。
|
||
|
||
这个版本可以在不破坏现有 Goose agent、计费、微信和 MindSpace 链路的情况下验证核心价值。
|
||
|
||
## 6. 身份映射设计建议
|
||
|
||
这是整个集成最关键的部分。
|
||
|
||
Memind 用户 ID 是 UUID 字符串:
|
||
|
||
```text
|
||
h5_users.id CHAR(36)
|
||
```
|
||
|
||
AI Mind 用户 ID 是自增整数:
|
||
|
||
```text
|
||
users.id Integer
|
||
```
|
||
|
||
因此不能直接共享 user_id,也不建议互相引用对方数据库外键。
|
||
|
||
建议增加一张 Memind 侧或独立桥接侧映射表:
|
||
|
||
```text
|
||
memind_ai_mind_bindings
|
||
```
|
||
|
||
建议字段:
|
||
|
||
- `id`
|
||
- `memind_user_id`
|
||
- `ai_mind_user_id`
|
||
- `default_persona_id`
|
||
- `persona_external_token`
|
||
- `external_user_id`
|
||
- `enabled`
|
||
- `scopes`
|
||
- `created_at`
|
||
- `updated_at`
|
||
- `last_sync_at`
|
||
|
||
其中:
|
||
|
||
- `memind_user_id` 对应 `h5_users.id`
|
||
- `ai_mind_user_id` 对应 AI Mind `users.id`
|
||
- `default_persona_id` 对应 AI Mind `digital_personas.id`
|
||
- `persona_external_token` 用于调用 `/api/v1/persona/external/chat`
|
||
- `external_user_id` 可以稳定使用 `memind:<h5_user_id>`,避免多端混淆
|
||
- `scopes` 可控制允许 chat、profile、life_stream、memory_read 等能力
|
||
|
||
## 7. 推荐分阶段路线
|
||
|
||
### 阶段一:轻量桥接
|
||
|
||
目标:先让 Memind 能调用 AI Mind 数字人,并能读取数字人画像。
|
||
|
||
动作:
|
||
|
||
- 新增 AI Mind bridge client
|
||
- 新增用户绑定配置
|
||
- 增加 persona external chat 调用
|
||
- 增加 persona profile 拉取
|
||
- 前端提供一个最小入口或隐藏实验入口
|
||
|
||
收益:
|
||
|
||
- 低风险
|
||
- 快速验证“人格化回复”和“画像展示”
|
||
- 不影响原有 agent session 主链路
|
||
|
||
### 阶段二:记忆回流
|
||
|
||
目标:让 Memind 的真实用户行为成为 AI Mind 长期记忆和画像原料。
|
||
|
||
动作:
|
||
|
||
- 把重要对话摘要投递到 life_stream
|
||
- 把 MindSpace 页面保存、编辑、发布事件投递到 life_stream
|
||
- 把微信重要消息摘要投递到 life_stream
|
||
- 开启 AI Mind 的 life_stream analysis、memory bridge、profile evidence merge
|
||
|
||
收益:
|
||
|
||
- AI Mind 开始持续学习用户
|
||
- 数字人能逐渐拥有更稳定的记忆、性格和特征
|
||
- Memind 的空间内容不再只是文件,而是可认知的生命流材料
|
||
|
||
### 阶段三:深度融合
|
||
|
||
目标:让 AI Mind 的人格与记忆反向增强 Memind 的 Goose/agent 会话。
|
||
|
||
动作:
|
||
|
||
- Memind agent session 启动或恢复时,从 AI Mind 拉 persona context
|
||
- 把 persona context 注入 Goose 会话上下文
|
||
- 支持用户切换不同 persona 作为对话人格层
|
||
- 支持对话后的高价值内容自动回写 AI Mind
|
||
|
||
收益:
|
||
|
||
- Memind 主对话获得长期记忆
|
||
- 不同数字人格可在同一入口中体现不同性格和能力
|
||
- MindSpace、Agent、微信、人生流形成闭环
|
||
|
||
## 8. 不建议的方案
|
||
|
||
### 8.1 不建议直接合并项目
|
||
|
||
Memind 是 Node/React/Express/Vite 体系,AI Mind 是 Python/FastAPI/Vue 体系。直接合并会引入运行时、依赖、部署、鉴权、数据库迁移等复杂问题。
|
||
|
||
### 8.2 不建议直接共享数据库表
|
||
|
||
两边用户 ID、权限模型、数据生命周期、业务边界不同。直接共享表容易造成:
|
||
|
||
- 用户串号
|
||
- Token 泄漏
|
||
- 权限误用
|
||
- 数据一致性问题
|
||
- 后续迁移困难
|
||
|
||
### 8.3 不建议立刻替换 Memind 主聊天链路
|
||
|
||
Memind 当前 `/sessions/:id/reply` 链路已有:
|
||
|
||
- 会话归属
|
||
- 策略控制
|
||
- 能力检查
|
||
- 计费
|
||
- SSE
|
||
- LLM provider fallback
|
||
|
||
第一阶段应采用旁路增强,而不是直接接管全部聊天。
|
||
|
||
## 9. 主要风险与缓解
|
||
|
||
### 9.1 身份映射风险
|
||
|
||
风险:Memind 用户和 AI Mind 用户映射错误,导致记忆或数字人串号。
|
||
|
||
缓解:
|
||
|
||
- 使用显式绑定表
|
||
- 所有调用带 `external_user_id`
|
||
- 调用前校验 binding enabled 和 scopes
|
||
- 管理后台可查看与解绑
|
||
|
||
### 9.2 Token 安全风险
|
||
|
||
风险:AI Mind persona external token 泄漏或配置错。
|
||
|
||
缓解:
|
||
|
||
- Token 仅服务端保存
|
||
- 前端不暴露 external token
|
||
- 绑定表支持禁用和轮换
|
||
- 所有调用写审计日志
|
||
|
||
### 9.3 记忆污染风险
|
||
|
||
风险:低价值、错误、临时内容进入长期记忆。
|
||
|
||
缓解:
|
||
|
||
- life_stream 投递先标记 source、privacy_class、metadata
|
||
- 只投递摘要或高价值事件
|
||
- 用户显式删除/忘记时要回写 AI Mind
|
||
- 长期记忆写入应走 AI Mind 已有置信度和候选审核机制
|
||
|
||
### 9.4 体验延迟风险
|
||
|
||
风险:persona deep mode 可能比普通聊天慢。
|
||
|
||
缓解:
|
||
|
||
- 首阶段作为独立人格入口,不阻塞主 agent
|
||
- 对短消息允许 style_only 或降级
|
||
- 缓存 profile
|
||
- 后台异步投递 life_stream
|
||
|
||
### 9.5 服务可用性风险
|
||
|
||
风险:AI Mind 不可用时影响 Memind。
|
||
|
||
缓解:
|
||
|
||
- Bridge client 设置超时
|
||
- AI Mind 调用失败时降级为普通 Memind/Goose 回复
|
||
- UI 显示“记忆增强暂不可用”
|
||
- 不让 AI Mind 成为 Memind 基础功能的强依赖
|
||
|
||
## 10. 后续分析问题
|
||
|
||
后续可继续深入以下问题:
|
||
|
||
1. Memind 用户与 AI Mind 用户是否已有线上对应关系?
|
||
2. 是否要为每个 Memind 用户自动创建 AI Mind 用户和默认 persona?
|
||
3. 默认 persona 是“用户的数字分身”,还是“陪伴型助手人格”?
|
||
4. 哪些 Memind 事件应该进入 life_stream?
|
||
5. 哪些内容只做短期上下文,不进入长期记忆?
|
||
6. 用户如何查看、删除、纠正 AI Mind 记住的内容?
|
||
7. 是否需要在 Memind 管理后台增加 AI Mind 绑定和诊断页?
|
||
8. MVP 是先做个人实验入口,还是直接作为正式功能灰度?
|
||
9. 是否要把 MindSpace 页面摘要同步为 persona knowledge,而不仅是 life_stream?
|
||
10. 是否需要单独的隐私分级和用户授权开关?
|
||
|
||
## 11. 建议的下一步
|
||
|
||
建议下一步先做一份实施设计,不急着写代码:
|
||
|
||
- 定义 binding 表结构
|
||
- 定义 AI Mind bridge client API
|
||
- 定义 persona chat 调用协议
|
||
- 定义 life_stream event 映射规范
|
||
- 定义前端入口和降级体验
|
||
- 定义审计日志和安全边界
|
||
- 列出 MVP 验收用例
|
||
|
||
完成这些后,再进入代码实现会更稳。
|