Skip to content

DonStyle/ai-client

Repository files navigation

MCP Host Chat

一个基于Electron和MCP (Model Context Protocol) 的聊天应用,集成了Ollama和天气服务。

功能特点

  • 🤖 集成Ollama本地AI模型 (使用qwen2.5:0.5b)
  • 🌤️ 内置天气查询功能
  • 💬 美观简约的聊天界面
  • 🔌 支持MCP协议的工具扩展

系统要求

  • Node.js (v16或更高版本)
  • Python 3.7+
  • Ollama (已安装并运行在localhost:11434)
  • qwen2.5:0.5b模型 (已通过Ollama安装)

安装步骤

  1. 克隆或下载此项目
  2. 安装Node.js依赖:
    npm install
  3. 确保Ollama已安装并运行:
    # 检查Ollama状态
    ollama list
  4. 安装qwen2.5:0.5b模型 (如果尚未安装):
    ollama pull qwen2.5:0.5b

运行应用

方法1: 使用启动脚本 (推荐)

Windows用户:

start.bat

Linux/macOS用户:

chmod +x start.sh
./start.sh

方法2: 手动启动

  1. 启动Python天气服务器:

    cd python-server
    python weather_server.py
  2. 在新终端中启动Electron应用:

    npm start

方法3: 开发模式运行

npm run dev

使用说明

  1. 启动应用后,您可以在聊天界面中与AI助手对话
  2. 直接询问天气信息,例如:"北京今天的天气怎么样?"
  3. 应用会自动识别天气查询并调用天气服务

项目结构

mcp-host-chat/
├── main.js                     # Electron主进程
├── preload.js                  # 预加载脚本
├── package.json                # 项目配置和依赖
├── src/
│   ├── main/                   # 主进程代码
│   │   ├── mcp-ollama-client.js # Ollama客户端
│   │   └── mcp-host-manager.js # MCP主机管理器
│   └── renderer/               # 渲染进程代码
│       ├── index.html          # 主页面
│       ├── styles.css          # 样式文件
│       └── app.js              # 前端逻辑
└── python-server/              # Python MCP服务器
    ├── weather_server.py       # 天气服务实现
    └── requirements.txt        # Python依赖

MCP天气服务

项目包含一个Python实现的MCP天气服务器,提供以下功能:

  • 获取指定城市的天气信息
  • 支持多个主要城市的天气查询
  • 提供温度、湿度、风速等详细信息

天气服务器会在需要时自动启动,无需手动运行。

自定义和扩展

添加新的MCP服务

  1. python-server目录下创建新的服务器文件
  2. 实现MCP协议接口
  3. mcp-host-manager.js中注册新服务

修改AI模型

main.js中修改模型名称:

mcpOllamaClient = new MCPOllamaClient('http://localhost:11434', 'your-model-name');

故障排除

问题: 无法连接到Ollama

  • 确保Ollama服务正在运行
  • 检查端口11434是否可用
  • 确认qwen2.5:0.5b模型已安装

问题: 天气查询失败

  • 确保Python 3.7+已安装
  • 检查防火墙设置
  • 查看控制台错误信息

许可证

MIT License

About

demo ollama mcp

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors