项目简介

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客户端集成。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/kingdonb/mecris.git
    cd mecris
  2. 创建并激活Python虚拟环境:
    python3 -m venv venv
    source venv/bin/activate
  3. 安装Python依赖:
    pip install -r requirements.txt
  4. 配置环境变量: 复制仓库根目录下的 '.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”等输入框。

基本使用方法

  1. 启动Mecris MCP服务器:
    ./scripts/launch_server.sh
    # 服务器将会在 http://127.0.0.1:8000 启动
  2. 检查服务健康状态:
    curl http://127.0.0.1:8000/health
  3. 获取LLM叙述者上下文: 此API将聚合所有相关信息,为你的LLM提供一个全面的决策上下文。
    curl http://127.0.0.1:8000/narrator/context
  4. 获取Beeminder目标状态: 获取所有Beeminder目标的风险评估和进度概览。
    curl http://172.0.0.1:8000/beeminder/status
  5. 追踪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助手完成了一个任务"}'
  6. 通过MCP客户端连接: 配置好MCP客户端后,它将自动与Mecris服务器建立连接,并通过MCP协议调用其内部工具和获取上下文信息,以驱动你的个人AI助理。

信息

分类

生产力应用