机器命令处理器(MCP)
一种使用LLM将自然语言查询转换为shell命令的客户端-服务器系统。该系统由三个主要组件组成:通过Groq的LLM API处理自然语言查询的客户端、执行shell命令的服务器和用于通信的共享协议。
特性
- 使用Groq的LLM API将自然语言转换为shell命令
- 基于WebSocket的客户端-服务器通信
- 指挥执行安全检查
- 综合测井系统
- 使用Python的asyncio进行异步操作
- 具有UUID跟踪的结构化消息协议
先决条件
- Python 3.7+
- Groq API 密钥
- WebSocket支持
- 所需的Python包:
- websockets - 黄色 - 异步IO - 日志记录
安装
- 克隆存储库
- 安装所需的软件包:
pip install websockets groq- 设置Groq API密钥:
export GROQ_API_KEY='your-api-key'组件
MCP客户端(mcp_client.py)
- 处理用户输入
- 连接到Groq API以生成命令
- 通过WebSocket与服务器通信
- 处理和显示结果
MCP服务器(mcp_server.py)
- 执行shell命令
- 实施指挥安全检查
- 管理WebSocket连接
- 返回命令执行结果
协议(mcp_protocol.py)
- 定义消息结构
- 处理消息序列化/反序列化
- 提供消息创建实用程序
用法
- 启动服务器:
python mcp_server.py- 在单独的终端中,启动客户端:
python mcp_client.py- 出现提示时输入自然语言查询。例如:
Enter your query: list all files in the current directory安全功能
- 阻止的危险命令包括:
- 超级用户 - rm-rf - 创建文件系统 - 日 - 格式
- 执行前的命令验证
- 记录操作以进行审计跟踪
日志记录
系统维护两个日志文件:
mcp_client.log:客户端操作和LLM交互mcp_server.log:服务器端操作和命令执行
贡献
\[在此处添加贡献指南\]
