远程开发环境交互服务

RemoteRelay是一个MCP服务器,通过SSH连接远程开发环境,使Claude Code能够执行命令、读写文件和导航目录。

  • by niklele
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 niklele/RemoteRelay

使用说明

远程中继

MCP(模型上下文协议)服务器,使Claude Code能够通过SSH与远程开发环境交互。

概述

RemoteRelay将Claude Code与您的远程服务器连接起来,允许您在远程主机上执行命令、读/写文件和导航目录——所有这些都可以通过Claude的自然语言界面完成。命令在持久的tmux会话中运行,维护跨操作的上下文。

特性

  • 远程命令执行:在持久tmux会话中运行bash命令
  • 文件操作:读取、写入和编辑远程主机上的文件
  • 目录导航:更改跨命令保留状态的目录
  • 文件搜索:通过glob模式查找文件,并使用grep搜索内容
  • SSH连接池:通过SSH ControlMaster实现高效的连接重用
  • 工作目录状态:在所有操作中维护远程CWD

安装

# Clone the repository
git clone <repository-url>
cd RemoteRelay

# Install dependencies
npm install

# Build the project
npm run build

配置

1.配置MCP服务器

将RemoteRelay添加到Claude Code的MCP配置中:

claude mcp add remoterelay node /path/to/RemoteRelay/dist/index.js \
  --env REMOTE_RELAY_HOST=your-remote-host \
  --env REMOTE_RELAY_TMUX_SESSION=claude-relay

2.SSH设置

确保您对配置了基于密钥的身份验证的远程主机具有SSH访问权限:

# Test SSH connection
ssh your-remote-host

# Recommended: Add to ~/.ssh/config for easier access
Host your-remote-host
    HostName actual.hostname.com
    User your-username
    IdentityFile ~/.ssh/id_rsa

3.重新启动克劳德代码

添加MCP服务器后,重新启动Claude Code以加载配置。

环境变量

变量 描述 默认值
REMOTE_RELAY_HOST 要连接的SSH主机名 quarry
REMOTE_RELAY_TMUX_SESSION 用于执行命令的tmux会话名称 claude-relay

可用工具

RemoteRelay提供以下MCP工具:

工具 说明
remote_bash 在远程主机上执行bash命令
remote_read 使用可选偏移量/限制读取文件内容
remote_write 将内容写入文件(覆盖现有内容)
remote_edit 使用字符串替换编辑文件
remote_glob 查找与glob模式匹配的文件
remote_grep 使用正则表达式模式搜索文件内容
remote_cd 更改工作目录
remote_pwd 显示当前工作目录
remote_ls 列出目录内容

使用示例

配置后,通过Claude Code与远程环境交互:

User: Use remote_cd to navigate to ~/my-project
User: Run npm test on the remote host
User: Read the file src/main.js
User: Search for TODO comments in the codebase
User: Edit config.json to change the port from 3000 to 8080

监控

连接到远程主机上的tmux会话以监视命令执行:

# On your remote host
tmux attach -t claude-relay

发展

# Build TypeScript
npm run build

# Development mode with auto-reload
npm run dev

# Start the server directly
npm start

建筑

  • 单文件设计:所有逻辑 src/index.ts
  • SSH控制主机:连接池提高效率
  • Tmux集成:命令执行的持久会话
  • 有状态的操作:跨命令维护的工作目录

需求

  • Node.js 16+
  • TypeScript 5+
  • SSH访问远程主机
  • tmux安装在远程主机上

许可证

MIT许可证-请参阅 许可证.md 了解详情。

贡献

这个项目是为了使用Claude Code实现远程开发工作流程而创建的,也是我使用Claude Code实验的一部分,所以我不会接受任何贡献。