Zing 论坛

正文

在阿贡国家实验室使用 Claude Code:HPC 环境下的 AI 智能体实践指南

本文介绍了如何在阿贡国家实验室的 Argo 超算平台上配置和运行 Claude Code,包括 SSH 隧道搭建、本地代理设置、以及在 Aurora 和 Polaris 登录节点上的安装方法,为科研人员在 HPC 环境中使用 AI 编码助手提供实用参考。

Claude CodeHPCArgonneSSH tunnelMCPPBSsupercomputingAI agents
发布时间 2026/04/04 03:14最近活动 2026/04/04 03:20预计阅读 10 分钟
在阿贡国家实验室使用 Claude Code:HPC 环境下的 AI 智能体实践指南
1

章节 01

导读 / 主楼:在阿贡国家实验室使用 Claude Code:HPC 环境下的 AI 智能体实践指南

本文介绍了如何在阿贡国家实验室的 Argo 超算平台上配置和运行 Claude Code,包括 SSH 隧道搭建、本地代理设置、以及在 Aurora 和 Polaris 登录节点上的安装方法,为科研人员在 HPC 环境中使用 AI 编码助手提供实用参考。

2

章节 02

背景:HPC 与 AI 编码助手的结合挑战\n\n高性能计算(HPC)环境长期以来与现代化的开发工具链存在一定的隔阂。超算平台的特殊网络架构、安全策略和软件栈,使得像 Claude Code 这样的 AI 编码助手难以直接部署和使用。然而,随着 AI 辅助编程能力的提升,科研人员越来越希望能在超算开发中受益于这些工具。\n\n阿贡国家实验室(Argonne National Laboratory)的 Argo 平台为此提供了一个有趣的实践案例。Argo 是实验室的 LLM API 服务,允许研究人员在内部网络中使用大语言模型。本文介绍的开源项目记录了如何在外部机器(如个人笔记本)和超算登录节点上配置 Claude Code 以使用 Argo API。\n\n## 网络架构:为什么需要隧道和代理?\n\n阿贡实验室的网络架构遵循典型的企业/科研 HPC 安全模型:\n\n- Argo API 位于内部网络 `apps.inside.anl.gov:443`\n- 外部访问需要通过 `homes.cels.anl.gov` 作为跳板机\n- 直接访问内部 API 需要 VPN 或 SSH 隧道\n\n项目作者设计的解决方案使用三层网络转发:\n\n1. **SSH 隧道**:将本地端口 8082 转发到内部 API 服务器\n2. **本地代理**:Python 脚本监听 8083 端口,重写请求并转发到隧道\n3. **Claude Code**:配置为向本地代理发送请求\n\n这种架构既满足了安全访问要求,又保持了 Claude Code 的本地运行体验。\n\n## 外部机器配置:三步启动法\n\n对于从实验室外部(如个人笔记本)访问 Argo 的用户,项目提供了清晰的三终端方案:\n\n### 终端 1:建立 SSH 隧道\n\n```bash\nssh -L 8082:apps.inside.anl.gov:443 -N homes.cels.anl.gov\n```\n\n这条命令在本地 8082 端口和内部 API 服务器的 443 端口之间建立加密隧道,`-N` 参数表示不执行远程命令,仅做端口转发。\n\n### 终端 2:启动本地代理\n\n```bash\npython claude-argo-proxy.py\n```\n\n代理脚本监听 8083 端口,接收来自 Claude Code 的请求,重写必要的头部和路径信息,然后通过隧道转发到 Argo API。\n\n### 终端 3:启动 Claude Code\n\n```bash\nANTHROPIC_BASE_URL=\"http://127.0.0.1:8083/argoapi/\" \

ANTHROPIC_AUTH_TOKEN=$USER
CLAUDE_CODE_SKIP_ANTHROPIC_AUTH=1
claude\n\n\n这里的关键环境变量配置:\n- `ANTHROPIC_BASE_URL`:指向本地代理而非 Anthropic 官方 API\n- `ANTHROPIC_AUTH_TOKEN`:使用 Unix 用户名作为认证令牌\n- `CLAUDE_CODE_SKIP_ANTHROPIC_AUTH=1`:跳过 Anthropic 的 OAuth 认证流程\n\n### 便捷脚本\n\n项目还提供了 `argonne-claude.sh` 一键脚本,自动处理上述三个步骤,简化了日常使用。\n\n## 超算登录节点安装:Aurora 和 Polaris\n\n对于希望在阿贡实验室的 Aurora 和 Polaris 超算登录节点上直接运行 Claude Code 的用户,项目提供了专门的安装指南。\n\n### Aurora 安装\n\nAurora 基于 Intel GPU 架构,使用标准的 Linux 环境:\n\nbash\nmodule use /soft/modulefiles\nmodule load frameworks\ncurl -fsSL https://claude.ai/install.sh | bash\n\n\nFrameworks 模块加载了必要的 Python 和其他依赖,之后使用官方安装脚本即可。\n\n### Polaris 安装\n\nPolaris 基于 NVIDIA GPU,运行 SLES 15 操作系统。这里遇到了一个技术障碍:Claude Code 的原生二进制文件基于 Bun 运行时,在 SLES 15 上会崩溃。\n\n解决方案是使用 Apptainer 容器:\n\nbash\nbash claude_polaris.sh\n\n\n容器化方法隔离了操作系统依赖,使 Claude Code 能在受限环境中稳定运行。要与 `argonne-claude.sh` 配合使用,需要设置环境变量:\n\nbash\nexport CLAUDE_EXECUTABLE=/path/to/claude_polaris.sh\n./argonne-claude.sh\n```\n\n## MCP 服务器集成:与 PBS 作业调度系统交互\n\n项目文档还介绍了如何将 Claude Code 与 PBS(Portable Batch System)作业调度系统集成,通过 MCP(Model Context Protocol)服务器让 AI 能够提交和监控超算作业。\n\n配置步骤包括:\n\n1. 克隆 pbs-mcp-demo 仓库\n2. 编辑 `/.claude.json添加 MCP 服务器配置\n3. 重启 Claude Code\n\n配置示例:\n\n```json\n{\n \"mcpServers\": {\n \"pbs\": {\n \"command\": \"/path/to/pbs-mcp-demo/start_pbs_mcp.sh\",\n \"env\": {\n \"PBS_SYSTEM\": \"aurora\"\n }\n }\n }\n}\n```\n\n配置完成后,Claude Code 可以直接查询作业状态、提交新作业、检查队列等,将 AI 辅助编程扩展到超算工作流管理。\n\n## 技术启示与推广价值\n\n这个项目的价值不仅在于阿贡实验室的具体配置,更在于它展示了将现代 AI 开发工具集成到传统 HPC 环境的通用模式:\n\n### 网络访问模式\n\nSSH 隧道 + 本地代理的组合可以推广到任何需要安全访问内部 API 的场景。这种模式不需要 VPN 客户端,只需标准的 SSH 工具,具有很强的通用性。\n\n### 容器化部署\n\nPolaris 上遇到的 Bun 运行时问题及其容器化解决方案,展示了在受限或特殊环境中部署现代工具的策略。Apptainer/Singularity 已成为 HPC 环境的事实标准,与容器化工具的结合是必然选择。\n\n### MCP 协议的应用\n\n通过 MCP 将 Claude Code 与 PBS 集成,展示了这一新兴协议的实用性。MCP 为 AI 助手与外部系统交互提供了标准化接口,未来可以扩展到更多 HPC 工具链(如模块系统、文件传输、监控告警等)。\n\n## 局限性与注意事项\n\n使用此配置时需要注意以下几点:\n\n1. **网络依赖**:SSH 隧道需要保持连接,断开会导致 Claude Code 无法与 API 通信\n2. **认证简化**:使用$USER` 作为认证令牌是内部环境的简化做法,不适用于生产系统\n3. 资源限制:在登录节点运行 Claude Code 需要遵守超算中心的使用政策,避免过度消耗登录节点资源\n4. 数据安全:通过隧道传输的代码和提示词虽然经过加密,但仍需遵守数据分级和出口管制规定\n\n## 结语: bridging the gap\n\n阿贡实验室的这个开源项目虽然只是一个配置笔记仓库,但它代表了 HPC 社区与 AI 辅助开发工具融合的早期实践。随着越来越多的科研人员希望在超算开发中受益于 AI 助手,类似的集成方案将变得越来越重要。\n\n对于在类似环境中工作的研究人员,这个项目提供了一个经过验证的参考实现。对于工具开发者,它揭示了企业/科研环境中部署 AI 助手时需要考虑的网络、安全和集成挑战。

3

章节 03

补充观点 1

背景:HPC 与 AI 编码助手的结合挑战\n\n高性能计算(HPC)环境长期以来与现代化的开发工具链存在一定的隔阂。超算平台的特殊网络架构、安全策略和软件栈,使得像 Claude Code 这样的 AI 编码助手难以直接部署和使用。然而,随着 AI 辅助编程能力的提升,科研人员越来越希望能在超算开发中受益于这些工具。\n\n阿贡国家实验室(Argonne National Laboratory)的 Argo 平台为此提供了一个有趣的实践案例。Argo 是实验室的 LLM API 服务,允许研究人员在内部网络中使用大语言模型。本文介绍的开源项目记录了如何在外部机器(如个人笔记本)和超算登录节点上配置 Claude Code 以使用 Argo API。\n\n网络架构:为什么需要隧道和代理?\n\n阿贡实验室的网络架构遵循典型的企业/科研 HPC 安全模型:\n\n- Argo API 位于内部网络 apps.inside.anl.gov:443\n- 外部访问需要通过 homes.cels.anl.gov 作为跳板机\n- 直接访问内部 API 需要 VPN 或 SSH 隧道\n\n项目作者设计的解决方案使用三层网络转发:\n\n1. SSH 隧道:将本地端口 8082 转发到内部 API 服务器\n2. 本地代理:Python 脚本监听 8083 端口,重写请求并转发到隧道\n3. Claude Code:配置为向本地代理发送请求\n\n这种架构既满足了安全访问要求,又保持了 Claude Code 的本地运行体验。\n\n外部机器配置:三步启动法\n\n对于从实验室外部(如个人笔记本)访问 Argo 的用户,项目提供了清晰的三终端方案:\n\n终端 1:建立 SSH 隧道\n\nbash\nssh -L 8082:apps.inside.anl.gov:443 -N homes.cels.anl.gov\n\n\n这条命令在本地 8082 端口和内部 API 服务器的 443 端口之间建立加密隧道,-N 参数表示不执行远程命令,仅做端口转发。\n\n终端 2:启动本地代理\n\nbash\npython claude-argo-proxy.py\n\n\n代理脚本监听 8083 端口,接收来自 Claude Code 的请求,重写必要的头部和路径信息,然后通过隧道转发到 Argo API。\n\n终端 3:启动 Claude Code\n\n```bash\nANTHROPIC_BASE_URL="http://127.0.0.1:8083/argoapi/\" \

4

章节 04

补充观点 2

ANTHROPIC_AUTH_TOKEN=$USER
CLAUDE_CODE_SKIP_ANTHROPIC_AUTH=1
claude\n\n\n这里的关键环境变量配置:\n- `ANTHROPIC_BASE_URL`:指向本地代理而非 Anthropic 官方 API\n- `ANTHROPIC_AUTH_TOKEN`:使用 Unix 用户名作为认证令牌\n- `CLAUDE_CODE_SKIP_ANTHROPIC_AUTH=1`:跳过 Anthropic 的 OAuth 认证流程\n\n便捷脚本\n\n项目还提供了 `argonne-claude.sh` 一键脚本,自动处理上述三个步骤,简化了日常使用。\n\n超算登录节点安装:Aurora 和 Polaris\n\n对于希望在阿贡实验室的 Aurora 和 Polaris 超算登录节点上直接运行 Claude Code 的用户,项目提供了专门的安装指南。\n\nAurora 安装\n\nAurora 基于 Intel GPU 架构,使用标准的 Linux 环境:\n\nbash\nmodule use /soft/modulefiles\nmodule load frameworks\ncurl -fsSL https://claude.ai/install.sh | bash\n\n\nFrameworks 模块加载了必要的 Python 和其他依赖,之后使用官方安装脚本即可。\n\nPolaris 安装\n\nPolaris 基于 NVIDIA GPU,运行 SLES 15 操作系统。这里遇到了一个技术障碍:Claude Code 的原生二进制文件基于 Bun 运行时,在 SLES 15 上会崩溃。\n\n解决方案是使用 Apptainer 容器:\n\nbash\nbash claude_polaris.sh\n\n\n容器化方法隔离了操作系统依赖,使 Claude Code 能在受限环境中稳定运行。要与 `argonne-claude.sh` 配合使用,需要设置环境变量:\n\nbash\nexport CLAUDE_EXECUTABLE=/path/to/claude_polaris.sh\n./argonne-claude.sh\n```\n\nMCP 服务器集成:与 PBS 作业调度系统交互\n\n项目文档还介绍了如何将 Claude Code 与 PBS(Portable Batch System)作业调度系统集成,通过 MCP(Model Context Protocol)服务器让 AI 能够提交和监控超算作业。\n\n配置步骤包括:\n\n1. 克隆 pbs-mcp-demo 仓库\n2. 编辑 `/.claude.json添加 MCP 服务器配置\n3. 重启 Claude Code\n\n配置示例:\n\n```json\n{\n \"mcpServers\": {\n \"pbs\": {\n \"command\": \"/path/to/pbs-mcp-demo/start_pbs_mcp.sh\",\n \"env\": {\n \"PBS_SYSTEM\": \"aurora\"\n }\n }\n }\n}\n```\n\n配置完成后,Claude Code 可以直接查询作业状态、提交新作业、检查队列等,将 AI 辅助编程扩展到超算工作流管理。\n\n技术启示与推广价值\n\n这个项目的价值不仅在于阿贡实验室的具体配置,更在于它展示了将现代 AI 开发工具集成到传统 HPC 环境的通用模式:\n\n网络访问模式\n\nSSH 隧道 + 本地代理的组合可以推广到任何需要安全访问内部 API 的场景。这种模式不需要 VPN 客户端,只需标准的 SSH 工具,具有很强的通用性。\n\n容器化部署\n\nPolaris 上遇到的 Bun 运行时问题及其容器化解决方案,展示了在受限或特殊环境中部署现代工具的策略。Apptainer/Singularity 已成为 HPC 环境的事实标准,与容器化工具的结合是必然选择。\n\nMCP 协议的应用\n\n通过 MCP 将 Claude Code 与 PBS 集成,展示了这一新兴协议的实用性。MCP 为 AI 助手与外部系统交互提供了标准化接口,未来可以扩展到更多 HPC 工具链(如模块系统、文件传输、监控告警等)。\n\n局限性与注意事项\n\n使用此配置时需要注意以下几点:\n\n1. **网络依赖**:SSH 隧道需要保持连接,断开会导致 Claude Code 无法与 API 通信\n2. **认证简化**:使用$USER` 作为认证令牌是内部环境的简化做法,不适用于生产系统\n3. 资源限制:在登录节点运行 Claude Code 需要遵守超算中心的使用政策,避免过度消耗登录节点资源\n4. 数据安全:通过隧道传输的代码和提示词虽然经过加密,但仍需遵守数据分级和出口管制规定\n\n结语: bridging the gap\n\n阿贡实验室的这个开源项目虽然只是一个配置笔记仓库,但它代表了 HPC 社区与 AI 辅助开发工具融合的早期实践。随着越来越多的科研人员希望在超算开发中受益于 AI 助手,类似的集成方案将变得越来越重要。\n\n对于在类似环境中工作的研究人员,这个项目提供了一个经过验证的参考实现。对于工具开发者,它揭示了企业/科研环境中部署 AI 助手时需要考虑的网络、安全和集成挑战。