远程IDE开发和调试
huggingface/transformers环境
这基本上已经成为LLM相关领域的行业标准。
很多模型特别是多模态、语音模型等,在模型发布初期各个推理框架还没有来得及适配,都会以transformers作为example。
docker run --gpus all -d --rm -p 3000:3000 --name code-server -u root \
-v /DATA/disk4/workspace/openvscode-server:/opencode-server \
-v /DATA/disk2/models:/models \
-v /DATA/disk4/webide:/webide \
huggingface/transformers-pytorch-gpu:latest tail -f /dev/null
- 把openvscode-server所在的目录映射到容器中,可以快速启动一个Web IDE做开发。但是这个毕竟不是官方的VSCode,功能和使用体验比官方的本地app还是差点意思。做教学演示问题不大,日常开发还是不要用web IDE啦。
- 使用
tail -f /dev/null命令防止容器退出,保持容器的持续运行状态。 - 使用本地VSCode的“Remote - SSH”插件连接到开发服务器,然后再通过“Dev Containers”插件连接到已经启动的容器。
- 首次用VSCode连接到容器后,需要等待VSCode在容器中设置安装插件。
- 如果容器被销毁(rm),则再次启动容器时,VSCode需要重新设置安装插件。重启容器(restart)不会影响已经安装的VSCode插件。
微软VSCode自带Web IDE组件
安装VSCode后,下载安装VSCode CLI:

以Debian为例:
- 将下载的
vscode_cli_alpine_x64_cli.tar.gz文件解压缩到一个新建的目录中。 - 运行
code serve-web命令启动Web IDE。

如果要远程访问这个Web IDE服务,需要使用SSH做转发,不能直接通过IP地址远程访问(微软的设计初衷是通过tunnel服务访问,但这样通过tunnel绕行后,访问速度和体验肯定都不咋的)ssh -L8000:127.0.0.1:8000 debian@1.2.3.4
按照上图所示,在浏览器中访问Web IDE的url是:http://localhost:8000?tkn=abb03799-abc6-4169-a31e-befe0f6450e0
注意?tkn=之后的token每次启动都会有变化。
- 首次启动需要联网下载VSCode Server相关的组件;
- 这个Web IDE默认使用微软官方插件仓库,但不是所有的插件都支持Web IDE,插件安装的时候会有提示;
- AI coding插件
continue安装后无法使用,也没有报错,原因不明;
tip
毫无悬念,若需要功能完备的远程IDE开发环境,“VSCode原生应用” + “Remote - SSH” + “Dev Containers”是最佳组合。Web IDE仅限于演示或者临时轻度使用。