Skip to content

Yxpillow/ChatWay-UI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MCP服务管理面板

一个功能强大的MCP(Model Context Protocol)服务管理面板,提供可视化的服务管理、工具调用、AI对话等功能。

✨ 功能特性

🎛️ 服务管理

  • MCP服务管理: 启动、停止、监控MCP服务状态
  • 工具同步: 自动同步和管理MCP服务提供的工具
  • 服务配置: 灵活的服务配置和参数管理
  • 状态监控: 实时监控服务运行状态和资源使用情况

🤖 AI集成

  • 多AI服务支持: 支持Ollama、OpenAI等多种AI服务
  • 智能工具选择: 根据用户需求自动选择最合适的工具
  • AI人格管理: 自定义AI助手的人格和行为模式
  • 对话管理: 完整的AI对话功能和历史记录

🔧 工具生态

  • 计算器工具: 数学计算和表达式求解
  • 天气查询: 实时天气信息查询
  • 网页搜索: 智能网页搜索和信息检索
  • 文件管理: 文件操作和管理功能
  • 百度百科: 知识查询和信息检索
  • QQ音乐: 音乐搜索和播放控制

🔐 安全管理

  • JWT认证: 安全的用户认证和授权
  • 下游Token: 支持下游服务的Token管理
  • 权限控制: 细粒度的权限管理系统
  • 安全配置: 完善的安全配置和防护机制

📊 系统监控

  • 资源监控: CPU、内存、磁盘、网络使用情况
  • 服务状态: 实时服务运行状态和健康检查
  • 日志管理: 完整的系统日志和错误追踪
  • 性能统计: 详细的性能指标和统计数据

🚀 快速开始

环境要求

  • Node.js 18+
  • npm 或 yarn
  • SQLite3

安装步骤

  1. 克隆项目
git clone <repository-url>
cd ChatWay
  1. 安装依赖
npm install
  1. 编译项目
npm run build
  1. 启动服务
npm start
  1. 访问面板 打开浏览器访问: http://localhost:27260

默认账户

  • 用户名: yxpillow
  • 密码: yxpillow

📖 使用说明

基础配置

  1. 登录管理面板
  2. 配置AI服务器(Ollama、OpenAI等)
  3. 添加和配置MCP服务
  4. 启动所需的工具服务

MCP服务管理

  1. 在"MCP服务"页面添加新服务
  2. 配置服务的启动命令和参数
  3. 启动服务并等待工具同步
  4. 在"MCP工具"页面查看可用工具

AI对话功能

  1. 配置AI人格和服务器
  2. 在对话界面输入问题
  3. 系统会自动选择合适的工具
  4. 查看AI回复和工具调用结果

🔧 开发说明

项目结构

ChatWay/
├── src/                    # 源代码
│   ├── server.ts          # 主服务器
│   ├── database.ts        # 数据库管理
│   ├── auth.ts           # 认证模块
│   ├── mcp-client.ts     # MCP客户端
│   ├── service-manager.ts # 服务管理
│   └── types.ts          # 类型定义
├── public/                # 前端文件
├── tools/                 # MCP工具
├── dist/                  # 编译输出
└── docs/                  # 文档

开发命令

# 开发模式(热重载)
npm run dev

# 监控模式
npm run dev:watch

# 编译项目
npm run build

# 生产运行
npm start

# 清理编译文件
npm run clean

API文档

🛠️ 工具开发

创建新工具

  1. tools/目录创建新的工具文件
  2. 实现MCP协议的工具接口
  3. 在管理面板中添加工具服务
  4. 测试工具功能

工具示例

参考现有工具实现:

  • calculator-tool.js - 计算器工具
  • weather-tool.js - 天气查询工具
  • browser-tool.js - 网页搜索工具

🔌 集成说明

下游服务集成

系统支持下游服务通过API获取配置和统计信息:

// 获取系统配置
const config = await fetch('/api/downstream/config', {
  headers: { 'Authorization': 'Bearer <token>' }
});

// 获取系统统计
const stats = await fetch('/api/downstream/stats', {
  headers: { 'Authorization': 'Bearer <token>' }
});

AI服务集成

支持多种AI服务:

  • Ollama: 本地AI服务
  • OpenAI: OpenAI API
  • 自定义: 兼容OpenAI格式的API

📝 配置说明

数据库配置

系统使用SQLite数据库,自动创建和初始化。数据库文件:mcp-panel.db

端口配置

默认端口:27260,可在管理面板中修改。

安全配置

  • JWT Token过期时间:24小时
  • 密码加密:bcrypt
  • CORS支持:可配置

🤝 贡献指南

  1. Fork 项目
  2. 创建功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

👨‍💻 作者

yxpillow

🙏 致谢

感谢所有为这个项目做出贡献的开发者和用户。

📞 支持

如果您遇到问题或有建议,请:

  1. 查看 API文档
  2. 提交 Issue
  3. 发送邮件至 hi@yxpil.com

⭐ 如果这个项目对您有帮助,请给它一个星标!

About

一个管理MCP工具的中间件服务器

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published