AI聊天应用

一个强大的macOS AI聊天应用,支持Model Context Protocol (MCP)集成,能够与外部服务交互、搜索照片并执行自定义工具。

  • by SpiderInk
  • Swift
  • 本地部署
  • 更新于
在 GitHub 查看 SpiderInk/VibrantFrogMCP

使用说明

🐸 活力蛙

一个功能强大的macOS AI聊天应用程序,集成了模型上下文协议(MCP)

VibrantFrog为您的Mac带来AI驱动的对话,完全支持MCP工具调用,允许AI模型与外部服务交互,搜索您的照片,并执行自定义工具。

演示

人工智能驱动的照片搜索正在进行中——提问,用缩略图获取结果

截图

AI聊天与照片智能

聊天界面显示带有自然语言查询和缩略图结果的照片搜索

MCP服务器管理

连接到MCP服务器并管理可用工具

提示模板

使用变量替换创建和自定义提示模板

开发者工具

直接测试和调试MCP工具调用

对话历史

使用智能命名自动保存对话

特性

🤖 AI聊天工具调用

  • 由Ollama提供支持的原生macOS聊天界面
  • 对工具调用的完全MCP(模型上下文协议)支持
  • 支持多种型号(Mistral、Llama等)
  • 持续的对话历史
  • 带变量替换的智能系统提示模板

🔧 MCP集成

  • 基于HTTP的MCP服务器连接
  • 自定义MCP服务器配置
  • 支持stdio和HTTP传输
  • 动态工具发现和执行
  • 内置AWS MCP服务器支持
  • 实时工具调用可视化

📝 及时管理

  • 可定制的提示模板
  • 变量替换({{TOOLS}}, {{MCP_SERVER_NAME}})
  • 不同用例的模板库
  • AWS、照片搜索和一般帮助的默认模板

💬 对话管理

  • 完整对话历史
  • 具有状态持久性的多标签支持
  • 照片附件支持
  • 缩略图生成和显示
  • 对话搜索和过滤

🛠️ 开发人员功能

  • 用于测试的直接工具调用接口
  • MCP服务器管理UI
  • 使用AI描述的照片库索引
  • 基于嵌入的矢量搜索
  • 用于调试的全面日志记录

需求

  • macOS 14.0(索诺玛)或更高版本
  • Xcode 15.0或更高版本
  • 奥拉玛 本地安装
  • 至少一个Ollama模型被拉动(例如。, mistral-nemo:latest)

安装

1.下载VibrantFrog

从下载最新版本 GitHub发布:

  • 活力蛙-1.00.dmg (推荐)-拖动到应用程序
  • VibrantFrog-v1.00.zip -提取并复制到应用程序

🔒 首次发布安全说明

VibrantFrog已经过代码签名,但尚未经过苹果公司的公证。首次启动时,您需要:

选项1:右键单击“方法”

  1. 打开“应用程序”文件夹
  2. 右击 (或点击控制按钮)在VibrantFrog.app上
  3. 选择“打开”
  4. 在安全对话框中单击“打开”
  5. 未来的发射工作正常

选项2:终端命令

xattr -cr /Applications/VibrantFrog.app

这是一次性安全确认。VibrantFrog是100%开源的,你可以自己检查代码!

2.安装Olama

# Install Ollama
brew install ollama

# Start Ollama service
ollama serve

# Pull a model with good function calling support
ollama pull mistral-nemo:latest

3.从源代码构建(可选)

如果您更喜欢从源代码构建:

# Clone the repository
git clone https://github.com/SpiderInk/VibrantFrogMCP.git
cd VibrantFrogMCP

# Open in Xcode
open VibrantFrogApp/VibrantFrog.xcodeproj

# Build and run (⌘R)

3.设置照片搜索MCP服务器

VibrantFrog包括一个强大的 Python MCP服务器 用于搜索您的Apple照片库。

📖 完整的MCP服务器设置指南 -VibrantFrog应用程序和Claude Desktop的详细说明

快速设置:

安装Python依赖项

cd /path/to/VibrantFrogMCP
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

运行MCP服务器

选项A:手动启动服务器(HTTP模式)

python3 vibrant_frog_mcp.py --transport http

服务器将于启动 http://127.0.0.1:5050/mcp

选项B:与克劳德桌面(stdio模式)一起使用

添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "vibrantfrog-photos": {
      "command": "python3",
      "args": [
        "/path/to/VibrantFrogMCP/vibrant_frog_mcp.py"
      ]
    }
  }
}

在VibrantFrog中配置

  1. 内置的“VibrantFrog Photos”服务器已预先配置
  2. 确保Python服务器正在运行(python3 vibrant_frog_mcp.py --transport http)
  3. 转到“MCP服务器”选项卡,验证服务器是否显示为“已连接”(绿色指示灯)
  4. 点击“刷新”以加载可用工具

可用的照片工具:

  • search_photos -使用自然语言搜索照片
  • get_photo -通过UUID检索特定照片
  • create_album -创建新的Apple照片相册
  • add_photos_to_album -将照片添加到相册
  • list_albums -列出您的所有相册

4.配置其他MCP服务器(可选)

AWS知识库:

URL: https://knowledge-mcp.global.api.aws
Path: (leave empty)

自定义MCP服务器: 通过应用程序中的“MCP服务器”选项卡添加自己的MCP服务器。

快速开始

基本聊天

  1. 推出VibrantFrog
  2. 从下拉列表中选择一个型号(推荐 mistral-nemo:latest)
  3. 开始聊天!

使用工具

  1. 转到“MCP服务器”选项卡
  2. 添加MCP服务器(或使用内置的AWS服务器)
  3. 返回“AI聊天”选项卡
  4. 选择MCP服务器和提示模板
  5. 提出需要使用工具的问题:
    • “AWS提供哪些服务?”
    • “搜索有关S3的文档”

自定义提示

  1. 导航到“提示”选项卡
  2. 创建新模板或编辑现有模板
  3. 使用变量:
    • {{TOOLS}} -替换为可用的工具说明
    • {{MCP_SERVER_NAME}} -替换为所选服务器名称
  4. 在AI聊天中选择您的模板

建筑

VibrantFrog采用现代SwiftUI构建,遵循简洁的架构原则:

VibrantFrog/
├── Models/              # Data models (Conversation, Photo, PromptTemplate)
├── Views/               # SwiftUI views
│   ├── AIChatView      # Main chat interface
│   ├── MCPManagementView   # MCP server configuration
│   ├── PromptTemplatesView # Template management
│   └── ...
├── Services/            # Business logic layer
│   ├── OllamaService   # Ollama API integration
│   ├── MCPClientHTTP   # MCP protocol client
│   ├── ConversationStore   # Conversation persistence
│   └── ...
└── VibrantFrogApp.swift # App entry point

关键技术

  • SwiftUI -现代声明式UI框架
  • 合并 -响应式编程
  • URL会话 -HTTP网络
  • 用户默认值 -设置持久性
  • 照片框架 -照片库访问
  • 愿景框架 -AI图像分析

MCP协议支持

VibrantFrog实现 模型上下文协议 规范:

  • ✅ initialize -服务器握手
  • ✅ tools/list -发现可用工具
  • ✅ tools/call -执行工具功能
  • ✅ HTTP传输层
  • ✅ 标准传输层(规划)
  • ✅ 自定义端点路径

配置

模型选择

模型是从您当地的Ollama实例中自动发现的。该应用程序会按标签记住您上次选择的型号。

工具调用的推荐型号:

  • mistral-nemo:latest -出色的功能调用
  • llama3.2:latest -总体性能良好
  • mistral:latest -快速且有能力

系统提示

模板支持变量替换:

You are a helpful AI assistant with access to these tools:

{{TOOLS}}

You are connected to: {{MCP_SERVER_NAME}}

Use tools when needed to answer user questions accurately.

发展

从源头构建

cd VibrantFrogApp
xcodebuild -scheme VibrantFrog -configuration Debug build

运行测试

xcodebuild -scheme VibrantFrog -configuration Debug test

代码风格

  • Swift 5.9+功能
  • SwiftUI生命周期
  • 现代异步/等待模式
  • 全面的错误处理
  • 调试详细日志记录

故障排除

Ollama连接问题

问题: “Ollama服务不可用”

解决方案:

# Check if Ollama is running
curl http://localhost:11434/api/tags

# Start Ollama if needed
ollama serve

工具调用不起作用

问题: 模型在第一次请求时不使用工具

解决方案:

  • 确保您正在使用 mistral-nemo:latest 或另一种具有良好函数调用支持的模型
  • 该应用程序在启动时自动“启动”模型(最新版本)
  • 检查您的MCP服务器是否已连接(绿色指示灯)

模型不持久

问题: 切换选项卡时所选模型重置

解决方案: 这在最近的更新中得到了修复。确保您拥有最新版本。

贡献

欢迎投稿!请看 贡献.md 作为指导方针。

开发设置

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

路线图

  • []通过跨平台Swift支持Windows和Linux
  • []流媒体响应
  • []多模式输入(语音、图像)
  • []自定义MCP服务器的插件系统
  • []对话的云同步
  • []导出对话(Markdown、PDF)
  • []暗模式优化
  • []自定义模型参数(温度、top-p等)

许可证

VibrantFrog是在MIT许可证下发布的。看 许可证 了解详情。

致谢

支持


由...制作❤️ SpiderInk

将AI带到指尖,一次一只青蛙 🐸