BuddyMCP:您当地的代理伙伴
BuddyMCP是一个作为个人AI代理的原生macOS应用程序。它通过以下方式与您的本地环境(日历、待办事项列表、系统通知)和外部工具集成 模型上下文协议(MCP)BuddyMCP由本地LLM(通过Ollama)提供支持,在提供强大自动化功能的同时保护您的数据隐私。
🌟 主要特点
- 本地第一AI:使用Ollama连接到本地LLM(如Llama 3、Qwen)。默认情况下不需要云API密钥。
- “下一步”时间表:您的任务和代理计划行动的统一视图。
- MCP支持:完全支持模型上下文协议。添加任何MCP服务器(Stdio或SSE)以扩展代理的功能。
- 循环中的人类:关键行动需要您的批准。当代理需要权限才能继续时,应用程序会通知您。
- 图形存储器:内置的图形数据库允许代理记住您随时间变化的事实和关系。
- 本机集成:适用于macOS日历和提醒(EventKit)以及系统通知。
🚀 入门指南
先决条件
- macOS 14.0+ (索诺玛或之后)。
- Xcode 15+ (从源头建设)。
- 奥拉马 安装并运行。
- 拉取默认模型: ollama pull qwen3:8b (或 llama3.2).
安装
- 克隆存储库:
git clone https://github.com/yourusername/BuddyMCP.git
cd BuddyMCP- 运行应用程序:
cd MCP-Agent
swift run- (可选)打包为应用程序包:
./package_app.sh
# Move BuddyMCP.app to your Applications folder📖 使用指南
聊天界面
- 提出问题:“我接下来应该做什么?”,“我的日历上有什么?”
- 发出命令:“添加一个购买杂货的任务”,“记住我喜欢辣的食物。”
- 状态:聊天显示了代理正在做什么(“思考…”、“调用工具…”)。如果出现问题,错误将内联显示。
管理MCP服务器
- 点击 齿轮图标 在右上角打开“设置”。
- 添加服务器:
- 命令(标准):运行本地MCP服务器。 - *示例*: npx -y @modelcontextprotocol/memory - 远程(SSE):连接到基于HTTP的MCP服务器。 - *示例*: http://localhost:8000/sse
- 管理工具:在“工具”选项卡中从任何连接的服务器启用或禁用特定工具。
审批
某些工具(如创建日历事件或写入内存)可能需要确认。
- 当代理试图使用这些工具时 “需要采取行动” 项目出现在“下一步”时间线的顶部。
- 点击 批准 让代理人继续进行或 拒绝 阻止它。
🛠️ 建筑
BuddyMCP是用 SwiftUI 并遵循模块化架构:
MCPManager:发现、连接和管理MCP服务器的核心引擎。它处理Stdio和SSE的JSON-RPC通信。LLMManager:管理与LLM(Ollama/OpenAI)的连接。它处理快速构造、上下文注入和流式响应。TaskManager:管理用户的待办事项列表和代理的任务队列。GraphMemoryManager:用于代理长期内存的轻量级本地图形数据库。WatchdogService:监视应用程序的运行状况。
🧩 扩展内部工具
BuddyMCP配有内置工具(日历、待办事项、内存)。您可以通过修改来添加更多内容 MCPManager.swift:
- 在中定义工具模式
discoverInternalTools(). - 实现逻辑
callInternalTool().
🤝 贡献
欢迎投稿!请随时提交拉取请求。
📄 许可证
该项目根据MIT许可证获得许可。
