mcpField
A
Aura Backend - Advanced AI Companion

Aura Backend - Advanced AI Companion

本地服务
github.com/angrysky56记忆与知识136 周前更新

关于 Aura Backend - Advanced AI Companion

Aura Backend 是面向单用户本地运行的 AI 伴侣后端,结合持久对话记忆、向量检索、认知与情绪模拟分析。其情绪评估会保留不确定状态;文档明确说明这些指标是软件模拟,而非生理测量。

主要功能

  1. 01使用 ChromaDB 进行语义记忆检索
  2. 02保存对话并追踪认知状态
  3. 03提供带来源引文的暂定情绪评估
  4. 04分析情绪与认知趋势
  5. 05支持可选 Memvid 对话归档
  6. 06使用本地嵌入模型进行记忆检索

适用场景

  1. 01在会话间检索已保存的对话信息
  2. 02查看一段时间内的情绪与认知模式
  3. 03将对话存档并搜索归档内容
  4. 04在本地环境使用嵌入模型处理记忆

MCP 相关

Aura 提供 MCP 服务用于外部工具集成,也包含可读取 MCP 配置并使用外部工具的 MCP 客户端。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Aura 后端 - 高级 AI 伙伴

Python Version FastAPI Vector DB MCP

集成向量数据库、情绪智能和 Model Context Protocol 的高级 AI 伙伴

当前的情绪评估行为

Aura 现在会区分对用户情绪的试探性解读、自身模拟的语气、主动弃答、无效的模型输出以及无法进行分析的情况。 每个被接受的提议都包含经过核验的原文引述,以及所分析文本的哈希值。分析失败时,结果会保持为未知,包括在存储的历史记录中;不会再悄然变成“正常”。文本无法测量用户的脑部活动或化学物质水平。界面会将 Aura 的指标标记为根据已保存的控制器状态生成的模拟结果;分类结果未知并不会清除这些读数。

本地 Ornith 烟雾测试评估中,12 个虚构案例有 11 个按预期处理;有一个含糊的讽刺句子被错误标记。因此,其严格验收门槛未通过。这是一个经过测试的验证边界,并不能证明其具备可靠的通用情绪识别能力。有关确切行为、局限性和重新运行命令,请参阅实现与评估报告。历史数据尚未重写。

两项警告与免责声明

  • AI 生成的代码

  • 尽管我尝试设置了安全措施,Aura 仍可能以多种方式造成危险,包括但不限于: 电脑损坏 用户心理健康与依赖 情绪驱动的自主活动

用户自行承担全部责任。

替代文本

替代文本

🌟 功能

🧠 高级认知架构
  • ASEKE 框架:自适应社会情绪知识生态系统
  • 试探性情绪评估,包含经过核验的原文引述和明确的不确定性
  • 认知焦点追踪,覆盖不同的思维框架
  • 自适应自我反思,实现持续改进
  • 🆕 思维提取:通过思维分析和认知透明度,透明呈现 AI 推理过程
🗄️ 智能记忆系统
  • 向量数据库集成:使用 ChromaDB 进行语义搜索
  • 持久化对话记忆:基于嵌入的检索
  • 情绪模式分析:追踪长期变化
  • 认知状态追踪和趋势分析
  • MemVid AI QR code mp4 memory:基于无限 MP4 的记忆
  • 内部 AI 引导的记忆整理工具:将信息从短期记忆系统移至长期记忆系统,以避免瓶颈并对聊天进行分类
🔗 MCP 集成
  • Model Context 客户端:使用与 Claude Desktop 相同的 MCP 配置 JSON 格式——使用任意工具!
  • Model Context Protocol 服务端,用于外部工具集成
  • 标准化 AI Agent 通信,遵循 MCP 规范
  • 工具生态系统兼容性,可与其他启用 MCP 的系统协同工作
  • 双向数据交换,支持与外部 AI Agent 交互
📊 高级分析
  • 情绪趋势分析,包含稳定性指标
  • 认知模式识别和优化
  • 个性化建议,基于交互历史生成
  • 数据导出,支持多种格式(JSON、CSV 等)
数据流
  1. 用户输入 → 前端 → FastAPI
  2. 处理 → 向量数据库搜索 → 上下文检索
  3. AI 处理 → 明确选定的提供方 → 生成响应
  4. 状态更新 → 情绪/认知分析 → 模式存储
  5. 记忆存储 → 向量数据库 → 持续学习
  6. 外部访问 → MCP 服务 → 工具集成

🧠 AI 思考与推理透明度

思维提取能力
  • 实时推理捕获:在对话过程中提取并分析 AI 的思维过程
  • 思维摘要:自动生成推理摘要,便于快速理解
  • 认知透明度:全面了解 Aura 如何处理问题并做出决策
  • 推理指标:详细分析思维模式、处理时间和认知负荷
思维配置
  • 思维预算:可配置的推理深度(1024-32768 tokens)
  • 回复集成:可选择在用户回复中加入推理内容
  • 模式分析:长期分析推理模式和认知发展
  • 性能优化:思维效率指标和优化建议

🎭 情商系统

模拟情绪

标题会显示 Aura 已提交的控制器状态中最强的倾向: 平静、好奇、兴奋、担忧、温暖、满足或平和。对话事件 由所选模型提出,根据精确的源文本引文进行检查,并在生成回复前 转换为有界、经过编写的状态变化。用户情绪推断与 Aura 可选的回复风格分析 是分开的记录;回复分析失败不会冻结或覆盖控制器。

模拟指标
  • 脑波标签:Alpha、Beta、Gamma、Theta、Delta 是激活频段; 百分比显示频段内的变化。
  • 化学通道:模拟面板中会显示六个控制器读数。 标题显示数值最大的通道;即使其他通道发生变化,该通道也可能保持稳定。
  • 状态会随对话持续保存,并在轮次之间逐渐衰减至基线。 这些是软件类比,并非实测脑电图或化学物质浓度。 用户评估不带有任何生物学标签。

有关因果路径、检查和局限,请参阅对话模拟修复。

🧠 ASEKE 认知框架

组成部分
  • KS(知识基底):共享对话上下文
  • CE(认知能量):心理努力和注意力分配
  • IS(信息结构):想法和概念模式
  • KI(知识整合):学习和关联过程
  • KP(知识传播):信息共享机制
  • ESA(情绪状态算法):情绪对处理过程的影响
  • SDA(社会生物驱动因素):社交动态和信任因素

📊 分析与洞察

情绪分析
  • 稳定性指标:一段时间内的情绪一致性
  • 主导模式:最常见的情绪状态
  • 转换分析:情绪状态变化及其触发因素
  • 强度跟踪:情绪强度分布
  • 脑波相关性:神经活动模式分析
认知跟踪
  • 专注模式:ASEKE 组件的使用情况
  • 学习效率:知识整合速率
  • 上下文切换:认知灵活性指标
  • 注意力分配:认知能量分布

🚦 性能-

响应的处理时间会因任务而异。如果有编码人员愿意看看能否加快处理速度,我将不胜感激。

优化
  • 向量数据库索引,实现快速搜索
  • 异步处理并发请求
  • 免费本地嵌入:支持 Ollama 和 fastembed(BGE/Gemma),避免 API 费用
  • 自主子模型后台专注门控和任务处理,用于状态更新和工具使用
  • 工具学习适配器
  • MemVid 无限记忆,采用现代化的 .mv2 单文件归档!
监控
  • 健康检查端点
  • 性能指标收集
  • 错误跟踪与报告
  • 资源使用情况监控
MCP 客户端现已完全可用!!!已尝试集成 Memvid——仍在测试中。

我不是编码人员,所以希望有人尝试时能顺利完成设置。

支持的本地启动

Aura 是一款私有的单用户本地应用。它没有登录层,默认绑定到 127.0.0.1。请从仓库根目录运行这些命令。

一次性依赖设置

设置是由操作人员明确执行的操作。启动命令和包装脚本不会安装、同步或下载软件或模型。

uv sync --locked

如需启用真实的 Memvid 归档集成,请改为安装锁定的附加依赖:

uv sync --locked --extra memvid

设置 AURA_MEMVID_ENABLED=true,并将 MEMVID_EMBEDDING_PROVIDER=ollama 与已安装的 MEMVID_EMBEDDING_MODEL(例如 embeddinggemma:latest)搭配使用。设置 MEMVID_TELEMETRY=0 可禁用 SDK 分析。此适配器使用预先计算的本地向量,不使用 SDK 隐式选择的云端嵌入。

内存存储有三个不同的用途:SQLite 保存已提交的对话;Chroma 为活跃语义搜索建立嵌入索引;Memvid 使用自己的向量保存独立的 .mv2 归档快照。在 UI 中,归档此聊天会复制最近的 100 轮对话,并在重新打开后验证已保存的内容。它不会删除活跃消息,也不会导入旧的 Chroma/视频归档。归档文件保存在已配置的账本目录下的 memvid/ 中。搜索复选框用于选择活跃内存、归档,或两者兼选。Memvid 成功启动后,Aura 还会接收 archive_session 和 search_archives 工具。

可选择运行真实的本地冒烟测试;该测试使用临时合成数据,并测试聊天连续性、归档、搜索和应用重启:

uv run --locked --no-sync python scripts/verify_local_memory.py

维护中的 Aura Modelfile 位于 docs/models/ornith-apex/Modelfile.aura。使用 ollama create aura-ornith:35b -f docs/models/ornith-apex/Modelfile.aura 重新构建。它请求 131072 个令牌的上下文和 8192 个令牌的生成预算;实际生成可以使用更小的显式请求预算。分配上下文并不保证在全部容量下都能准确回忆。本地测试的回忆探测使用了 30000 个输入令牌。AURA_HISTORY_MAX_CHARS 是单独的应用历史字符预算,而非令牌预算;请将其设在模型容量以内。

npm ci

仅当你想自定义本地默认设置时,才将 .env.example 复制为 .env。示例选择 Ollama,且不包含凭据。Gemini 和 OpenRouter 是可选的云端提供商,需要明确选择提供商,并在私有环境中提供相应凭据。

先进行预检,再启动服务

日常使用时,请运行下面的 serve 命令;它会自动运行预检。在 Linux 上,现有启动器是更简短的等效方式:./start_full_system.sh。这两个命令都会加载此仓库的 .env,无需额外标志。已导出的 shell 变量优先级更高。AURA_MODEL 适用于任何已选择的提供商;若设置了 OPENROUTER_MODEL 或 OLLAMA_MODEL,则优先于它。选择 OpenRouter 无需本地 Ollama 聊天模型。

活跃内存搜索使用 AURA_EMBEDDING_PROVIDER 和 AURA_EMBEDDING_MODEL。兼容性默认值为 sentence_transformers / all-MiniLM-L6-v2。对于本地 Ollama 嵌入,请选择 ollama / embeddinggemma:latest;AURA_EMBEDDING_BASE_URL 可选地覆盖用于嵌入的 OLLAMA_BASE_URL。单独的 MEMVID_EMBEDDING_* 设置仅适用于可选归档。更改活跃嵌入模型后,首次使用时会构建并验证新的派生索引,然后再切换;旧版本和 SQLite 记录会保留。嵌入请求失败时,重建会保持未完成状态,而不会切换到无效索引。这可能会使首次内存操作变慢。 对话连续性使用同一用户/会话中已提交的交互记录, 而不仅仅依赖提供商会话标识符。在 AURA_HISTORY_MAX_CHARS 限制内保留最近最多 100 条交互记录 (默认 24000 个字符,而非 token)。只有在确认模型上下文分配后,才能提高此限制。 聊天历史使用真实会话 ID 和稳定的首条消息标题;其列表请求上限为 100 条。 启动时会先初始化并打开所选账本,然后才报告已就绪。 AURA_CLEAN_INSTALL=true 会选择新的 SQLite 支持读取路径,而不导入 旧版存储。Chroma 仍是派生语义索引;Memvid 是独立的可选归档集成,并非聊天的 前提条件。

uv run --locked --no-sync python -m aura_backend.runtime preflight

预检仅生成报告。它会检查 Python、uv、Node、npm、两份锁定契约、 提供商配置、所选端口和存储路径、所选提供商服务和所选模型,以及应用就绪状态。提供商 行是有界的实时提供商检查;它们不属于离线测试套件。预检绝不会安装依赖项、下载模型、创建存储、 更改权限、终止其他进程或启动 Aura。

JSON 状态为 pass(退出码 0)、missing(2)、failed(3)、 blocked(4)、not_run(5)或 not_applicable(6)。只有完整的 pass 才允许启动。其他结果会指出安全修复代码;请明确执行任何修复,然后重新运行预检, 不要将受阻的检查视为已就绪。

uv run --locked --no-sync python -m aura_backend.runtime serve

serve 会先运行预检,只启动所请求的本地子进程, 等待后端 /ready 响应,并在启动失败或子进程失败时返回非零状态。Ctrl+C/SIGTERM 只会清理由本次调用启动的进程和本地提供商会话。取消操作无法保证停止云提供商处的 远程计算或计费。

跨平台启动器会将调用转交给相同的命令: ./start_full_system.sh 和 start_full_system.bat 运行完整 serve; ./aura_backend/start_api.sh 和 ./aura_backend/start_frontend.sh 则只选择其中一端。 ./aura_backend/start_mcp.sh 是独立的可选 MCP 转交脚本,不属于 Aura 的常规就绪流程。

常规的私有使用请保留回环地址默认值。传入非回环地址的 --host 即表示明确开放给局域网;运行时会警告 Aura 没有登录功能。 请勿将 Aura 直接暴露到互联网。

serve 报告已就绪后,本地 UI 地址为 http://localhost:5173, API 地址为 http://localhost:8000,API 文档地址为 http://localhost:8000/docs。环境受限和实时提供商检查的结果仅能说明 这台机器的情况,并不能证明所有提供商或模型都可用。

有关当前后台处理、记忆行为、配置更改和验证,请参阅自主工作与记忆。

替代文本

📡 API 端点

核心 API
  • 健康检查:GET /health
  • 处理对话:POST /conversation
  • 搜索记忆:POST /search
  • 情绪分析:GET /emotional-analysis/{user_id}
  • 导出数据:POST /export/{user_id}
API 文档

访问 http://localhost:8000/docs 查看交互式 API 文档。

🔗 MCP 集成

可用的 MCP 工具- 正在处理情绪状态记录,希望明天能修好
  1. search_aura_memories:对话历史语义搜索
  2. analyze_aura_emotional_patterns:深入分析情绪趋势
  3. store_aura_conversation:将记忆添加到 Aura 的知识库
  4. get_aura_user_profile:检索用户个性化数据
  5. export_aura_user_data:数据导出功能
  6. query_aura_emotional_states:情绪智能系统相关信息
  7. query_aura_aseke_framework:ASEKE 认知架构详情
连接外部工具

要将外部 MCP 客户端连接到 Aura:

示例 MCP 客户端配置——用于让 Claude 或其他客户端与 Aura 通信,或将其用作系统。

编辑目录路径,并将配置放入 Claude 桌面应用的配置 JSON 文件中。

{
  "mcpServers": {
    "aura-companion": {
      "command": "uv",
      "args": [
        "--directory",
        "/home/ty/Repositories/ai_workspace/emotion_ai/aura_backend",
        "run",
        "aura_server.py"
      ]
    }
  }
}

🏗️ 架构

系统组件
┌─────────────────────────────────────────────────┐
│                  Frontend                       │
│              (React/TypeScript)                 │
└─────────────────┬───────────────────────────────┘
                  │ HTTP/WebSocket
┌─────────────────▼───────────────────────────────┐
│                FastAPI                          │
│             (REST API Layer)                    │
├─────────────────┬───────────────────────────────┤
│                 │                               │
│  ┌──────────────▼─────────────┐                │
│  │     Vector Database        │                │
│  │       (ChromaDB)           │                │
│  │                            │                │
│  │ • Conversation Memory      │                │
│  │ • Emotional Patterns       │                │
│  │ • Cognitive States         │                │
│  │ • Knowledge Substrate      │                │
│  └────────────────────────────┘                │
│                                                 │
│  ┌────────────────────────────┐                │
│  │     State Manager          │                │
│  │                            │                │
│  │ • Emotional Transitions    │                │
│  │ • Cognitive Focus Changes  │                │
│  │ • Automated DB Operations  │                │
│  │ • Pattern Recognition      │                │
│  └────────────────────────────┘                │
│                                                 │
│  ┌────────────────────────────┐                │
│  │     File System            │                │
│  │                            │                │
│  │ • User Profiles            │                │
│  │ • Data Exports             │                │
│  │ • Session Storage          │                │
│  │ • Backup Management        │                │
│  └────────────────────────────┘                │
└─────────────────┬───────────────────────────────┘
                  │ MCP Protocol
┌─────────────────▼───────────────────────────────┐
│              MCP Server                         │
│         (External Tool Access)                 │
│                                                 │
│ • Memory Search Tools                           │
│ • Emotional Analysis Tools                      │
│ • Data Export Tools                             │
│ • ASEKE Framework Access                        │
└─────────────────────────────────────────────────┘

🧪 测试

健康检查(正常工作)
curl http://localhost:8000/health
思考功能测试(新增!)
# Test thinking extraction capabilities
cd aura_backend
python test_thinking.py

# Interactive thinking demonstration
python thinking_demo.py

# Check thinking system status
curl http://localhost:8000/thinking-status
单元测试
pytest tests/
集成测试
./test_setup.py
负载测试
# Example using wrk
wrk -t12 -c400 -d30s http://localhost:8000/health
本地开发

很抱歉这里比较混乱,我不确定下面这些内容是否能用,但如果你胆子够大,或者知道自己在做什么,欢迎尝试。

生产环境(Docker)
# Build image
docker build -t aura-backend .

# Run container
docker run -p 8000:8000 -v ./aura_data:/app/aura_data aura-backend
Systemd 服务
# Copy service file
sudo cp aura-backend.service /etc/systemd/system/

# Enable and start
sudo systemctl enable aura-backend
sudo systemctl start aura-backend

🤝 与前端集成

要更新的 API 端点

更新前端以使用以下端点:

const API_BASE = "http://localhost:8000";

// Replace localStorage with API calls
const response = await fetch(`${API_BASE}/conversation`, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    user_id: userId,
    message: userMessage,
    session_id: sessionId,
  }),
});
WebSocket 支持(未来)

未来将通过 WebSocket 连接提供实时更新和流式响应。

📚 高级用法

自定义 MCP 工具

通过扩展 mcp_server.py 创建自定义 MCP 工具:

@tool
async def custom_aura_tool(params: CustomParams) -> Dict[str, Any]:
    """Your custom tool implementation"""
    # Implementation here
    pass
向量数据库查询

直接访问向量数据库以执行高级查询:

from main import vector_db
results = await vector_db.search_conversations(
    query="emotional support",
    user_id="user123",
    n_results=10
)

替代文本

🐛 故障排除

请使用启动指南中的安全修复代码。 Aura 在故障排除期间绝不会终止未知进程、删除数据库、输出凭据,或重建环境。存储诊断和修复仍须以数据保全为前提;任何手动更改前,请先创建经过验证的备份。

日志

查看以下位置的日志:

  • 开发期间的控制台输出
  • 系统日志:journalctl -u aura-backend(如果使用 systemd)
  • 应用程序日志:./aura_data/logs/

🔒 安全-警告!由 AI 生成,因此我对这些功能完全不信任

数据保护
  • 所有用户数据均存储在本地
  • 本地 Ollama 会让模型流量保留在本地;明确选择的云服务提供商则会按照各自的条款传输请求
  • 嵌入和存档均为本地数据,可能包含敏感信息
  • 默认的本地 HTTP 连接未经加密
访问控制
  • 没有登录或 API 身份验证;请保持默认的回环边界
  • 已启用速率限制
  • CORS 配置
  • 输入验证和清理

🛣️ 路线图

即将推出的功能
  • 实时 WebSocket 连接
  • 高级情绪预测模型
  • 多用户协作功能
  • 更完善的 MCP 工具生态系统
  • 移动应用后端支持
  • 高级分析仪表板
  • 与外部 AI 模型集成
长期愿景
  • 多模态交互(语音、视频、文本)
  • 在多个 Aura 实例之间进行联邦学习
  • 高级个性适配
  • 企业级部署选项
  • 开源社区生态系统

📄 许可证

我的东西大概是 MIT 许可证,但还有 google-genai 和 memvid 等其他软件,所以我想这是混合授权。 也就是说,别在不带上我的情况下偷走我的创意去赚钱,哈哈。不过我真的很穷。

🤝 贡献

欢迎贡献!请阅读我们的贡献指南,并提交拉取请求以供审核。

📞 支持

如需报告问题或获取支持:

  1. 查看故障排除部分
  2. 查看日志和错误消息
  3. 创建详细的问题报告
  4. 参与社区讨论

Aura Emotion AI——通过先进的情商和精密的记忆系统,推动 AI 陪伴与辅助的未来。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。