项目简介
HPCGPT 是一个基于 Opencode 代理构建的命令行工具 (CLI),它集成了多个 Model Context Protocol (MCP) 服务器,旨在为高性能计算 (HPC) 环境提供智能化的辅助功能。这些服务器通过 MCP 协议向大型语言模型 (LLM) 客户端提供特定领域的上下文信息和工具,例如查询 Slurm 集群状态、管理作业,以及从Delta/Delta AI文档中获取信息。
主要功能点
HPCGPT 集成了多个 MCP 服务器,提供以下核心功能:
- Slurm 集成 (通过 'slurm-mcp-server'):
- 账户查询: 获取当前用户的 Slurm 账户信息。
- 节点/分区状态: 检查 Slurm 计算节点的可用性和分区详情。
- 作业管理: 查询用户当前正在运行的 Slurm 作业及其详细信息。
- 文档智能问答 (通过 'illinois-chat-server'):
- Delta 文档查询: 从 Delta HPC 系统的官方文档中回答相关问题。
- Delta AI 文档查询: 从 Delta AI 系统的官方文档中回答相关问题。
- Atlassian 集成 (通过 'atlassian-mcp-server',容器化):
- 与 Jira 和 Confluence 进行交互,实现工单管理和文档操作。(注意:此功能依赖于独立的 Atlassian MCP 项目,并需要特定的容器化环境。)
- 支持报告 (通过 'report-server'):
- 生成并发送包含会话上下文和系统信息的精简支持报告给 Delta 支持团队。
安装步骤
HPCGPT 是一个 Opencode 代理的扩展,因此首先需要安装 Opencode 客户端。
-
安装 Opencode 客户端: 在您的终端中运行以下命令:
curl -fsSL https://opencode.ai/install | bash -
克隆 HPCGPT 仓库:
git clone https://github.com/Center-for-AI-Innovation/hpcgpt-cli.git cd hpcgpt-cli -
配置 Opencode 使用 HPCGPT 仓库的配置: 设置 'OPENCODE_CONFIG' 环境变量指向本仓库的 'opencode.jsonc' 文件(请将 '/absolute/path/to/this/repo' 替换为实际路径):
export OPENCODE_CONFIG=/absolute/path/to/this/repo/opencode.jsonc -
运行 Opencode:
opencodeOpencode 客户端将根据 'opencode.jsonc' 中的配置自动启动 MCP 服务器。
-
可选:手动设置本地 MCP 服务器 (如果 Opencode 未自动启动或需调试): 对于 'mcp_servers' 目录下的每个 MCP 服务器(例如 'slurm_mcp_server' 或 'illinois_chat_server'),您需要先安装 Bun 或 Node.js 环境。然后进入对应的服务器目录,执行:
cd hpcgpt/mcp_servers/slurm_mcp_server # 或 illinois_chat_server bun install bun run build bun run start请注意,'illinois-chat-server' 还需要一个环境变量 'ILLINOIS_CHAT_API_KEY' 才能正常工作。
服务器配置
MCP 客户端(如 Opencode)通过 JSON 格式配置来启动和连接 MCP 服务器。以下是 'hpcgpt-cli' 中 'opencode.jsonc' 文件中 MCP 服务器配置的关键部分,您可以参考此格式来配置任何兼容的 MCP 客户端:
{ // ... 其他 Opencode 配置 "mcp": [ { "name": "slurm-mcp-server", // MCP 服务器的名称,用于客户端识别和调用 "command": "bun", // 启动 MCP 服务器的可执行命令 "args": ["run", "start"], // 传递给启动命令的参数 "cwd": "hpcgpt/mcp_servers/slurm_mcp_server" // MCP 服务器的运行目录 }, { "name": "illinois-chat-server", // Illinois Chat MCP 服务器的名称 "command": "bun", // 启动命令 "args": ["run", "start"], // 启动参数 "cwd": "hpcgpt/mcp_servers/illinois_chat_server" // Illinois Chat 服务器的运行目录 } // ... 其他 MCP 服务器配置,如 report-server, atlassian-mcp-server ] }
环境变量:
- 'ILLINOIS_CHAT_API_KEY': 运行 'illinois-chat-server' 必需,用于访问 Illinois Chat API。请在运行 'opencode' 之前设置此环境变量。
export ILLINOIS_CHAT_API_KEY="您的API密钥" - 其他环境变量请参考仓库中的 'example.env' 和 'example.env.atlassian' 文件。
基本使用方法
启动 'opencode' 后,您将进入一个交互式终端用户界面 (TUI)。选择一个模型(例如 'ncsahosted/Qwen/Qwen3-VL-32B-Instruct'),然后向助手提问,它将利用配置好的 MCP 服务器提供的工具来回答或执行操作。
-
查询 Slurm 状态: 提问:“检查 Delta GPU 分区和我的运行作业。” 助手将通过 'slurm-mcp-server' 调用 'sinfo' 和 'squeue' 工具来获取信息。
-
查询 Delta/Delta AI 文档: 提问:“如何在 Delta 上提交 Slurm 作业?” 助手将通过 'illinois-chat-server' 调用 'delta-docs' 工具,并返回 Delta 文档中相关问题的答案。
-
发送支持报告: 在 Opencode TUI 中运行 'report' 命令。 这将使用 'report-server' 提供的 'send_support_report' 工具,向 Delta 支持团队发送一份简洁的支持报告。
信息
分类
AI与计算