项目简介
Mecris是一个个人LLM(大语言模型)的后端服务,旨在为你的AI助理提供一个“记忆宫殿”和操作中心。它通过整合你的个人数据源(如Beeminder目标、Obsidian笔记、LLM使用预算等)和外部功能(如短信提醒),让LLM能够更好地理解你的上下文、追踪你的目标进度,并在适当时候提供策略洞察和行动建议。它并非一个聊天机器人,而是一个帮助你保持责任感、高效管理时间和达成目标的智能委派系统。
主要功能点
- 统一上下文服务: 为LLM聚合和提供全面的个人上下文,包括目标、待办事项、预算状态和行动建议。
- 目标追踪与提醒: 整合Beeminder目标管理,提供紧急情况预警和里程碑提醒。
- LLM使用预算管理: 精确追踪Claude和Groq等LLM的API使用成本,进行预算控制,并在预算紧张时发出警告。
- Obsidian集成(部分): 从Obsidian笔记库中读取日记和待办事项,作为LLM的额外上下文。
- 智能提醒系统: 基于上下文信息(如每日活动、预算状态、月度周期)智能判断何时发送提醒,并通过Twilio发送短信通知。
- 多源成本管理: 统一管理来自不同LLM提供商(如Anthropic、Groq)的API成本,并支持手动对账。
- MCP协议兼容: 通过JSON-RPC协议提供标准化API,方便与各类LLM客户端集成。
安装步骤
- 克隆仓库:
git clone https://github.com/kingdonb/mecris.git cd mecris - 创建并激活Python虚拟环境:
python3 -m venv venv source venv/bin/activate - 安装Python依赖:
pip install -r requirements.txt - 配置环境变量: 复制仓库根目录下的 '.env.example' 文件为 '.env',并根据你的实际情况编辑。你至少需要配置以下信息:
- 'OBSIDIAN_VAULT_PATH': 你的Obsidian笔记库在本地的绝对路径。
- 'BEEMINDER_USERNAME': 你的Beeminder用户名。
- 'BEEMINDER_AUTH_TOKEN': 你的Beeminder API授权令牌。
- 'TWILIO_ACCOUNT_SID': 你的Twilio账户SID(用于发送短信提醒)。
- 'TWILIO_AUTH_TOKEN': 你的Twilio授权令牌。
- 'TWILIO_FROM_NUMBER': 你的Twilio电话号码(通常是购买的Twilio号码)。
- 'TWILIO_TO_NUMBER': 接收Mecris提醒的个人电话号码。
- 'ANTHROPIC_API_KEY': 你的Anthropic API密钥(如果使用Claude)。
- 'GROQ_EMAIL', 'GROQ_PASSWORD': 你的Groq控制台登录凭据(用于自动抓取Groq费用,非API Key)。
- 'DAILY_BUDGET', 'MONTHLY_BUDGET': 你为LLM设置的每日和每月预算金额。
服务器配置
Mecris MCP服务器支持HTTP和Stdio两种传输协议。以下是为MCP客户端配置Mecris服务器的参考信息:
- 服务器名称 (Server Name): 'mecris'
- 描述 (Description): '个人LLM责任制系统'
- 运行命令 (Command): 'python3'
- 命令参数 (Args): '["-m", "mecris.mcp_server", "--stdio"]'
- '--stdio': 此参数指示Mecris以MCP Stdio模式运行,通过标准输入输出进行JSON-RPC通信。这是与MCP客户端集成时推荐的传输方式。
- 端口 (Port): (如果MCP客户端选择通过HTTP连接Mecris,则为 '8000'。请确保防火墙允许访问此端口。)
- 主机 (Host): '127.0.0.1' (Mecris默认绑定到本地回环地址,以增强安全性。如需从其他设备访问,请修改'.env'中的'HOST'变量,并注意网络安全。)
重要提示: MCP客户端在与Mecris服务器建立连接时,通常需要根据上述信息(如命令行参数)来启动和管理Mecris进程。请在客户端配置界面中填入相应的字段,而无需手动执行这些命令。例如,在支持MCP的客户端中,你通常会看到类似“Server Command”、“Server Args”等输入框。
基本使用方法
- 启动Mecris MCP服务器:
./scripts/launch_server.sh # 服务器将会在 http://127.0.0.1:8000 启动 - 检查服务健康状态:
curl http://127.0.0.1:8000/health - 获取LLM叙述者上下文:
此API将聚合所有相关信息,为你的LLM提供一个全面的决策上下文。
curl http://127.0.0.1:8000/narrator/context - 获取Beeminder目标状态:
获取所有Beeminder目标的风险评估和进度概览。
curl http://172.0.0.1:8000/beeminder/status - 追踪API使用量与预算管理:
Mecris服务器会自动追踪LLM使用量。你也可以通过API手动更新预算或记录LLM会话。
- 更新剩余预算:
curl -X POST http://127.0.0.1:8000/usage/update_budget \ -H "Content-Type: application/json" \ -d '{"remaining_budget": 15.50}' - 记录一次LLM会话:
curl -X POST http://127.0.0.1:8000/usage/record \ -H "Content-Type: application/json" \ -d '{"input_tokens": 1000, "output_tokens": 500, "model": "claude-3-5-sonnet-20241022", "session_type": "interactive", "notes": "LLM助手完成了一个任务"}'
- 更新剩余预算:
- 通过MCP客户端连接: 配置好MCP客户端后,它将自动与Mecris服务器建立连接,并通过MCP协议调用其内部工具和获取上下文信息,以驱动你的个人AI助理。
信息
分类
生产力应用