零成本玩转云端 AI 开发!用 Hugging Face 免费空间集成 7 大 CLI 工具,24 小时不停
laohaibao666
2025年09月22日 23:50

1.前言

Hugging Face 是一个专注于人工智能(尤其是自然语言处理,NLP)的开源平台和社区,它为开发者和研究人员提供了一个集模型、数据集、工具和资源于一体的生态系统。Hugging Face 的核心产品是 Transformers 库,这是一个用 Python 编写的开源库,包含了大量预训练的 NLP 模型,支持多种深度学习框架(如 PyTorch、TensorFlow、JAX)和硬件平台(如 CPU、GPU、TPU)。此外,Hugging Face 还提供了一个在线平台 HuggingFace Hub,用户可以在上面发布、共享和探索预训练模型、数据集和演示文件。

简单来说就是huggingface是全球最大的模型托管平台厂商。

我们可以借助Hugging Face 提供的免费的spaces 创建一个jupyter notebook。然后在里面安装claude code 等cli开发工具,这样我们就开始实习7*24小时云端开发了。效果如下:

多开几个窗口可以实现不同的工具,不同的模型之前协同工作了。

目前我已经在Hugging Face免费提供的jupyter notebook 镜像中添加了上面claude code 等开发工具。直接克隆我提供的项目就可以了。下面给大家介绍一下具体的操作使用步骤。

2.HuggingFace 创建云空间

我们首先登录HuggingFace

创空间

 我们选择docker镜像模版

 服务器资源这里我们可以选择2CPU 16GB free 免费的资源

JUPYTER_TOKEN 可以填写,也可以让系统自动创建生成。 考虑到自己开发使用,所以我们选择private

      这个大概几分钟后系统会自动创建一个具有jupyter notebook 调试页面创空间页面。

这样我们就进入了私有化调试代码窗口界面了

修改Dockerfile

为了实现当前空间默认已经安装好我们需要的claude code 、gemini-cli 、codex 、qwen-code等。我们需要修改默认的Dockerfile.这样启动后我们jupyter notebook 调试窗口里面就会自带上面的开发工具,这样我们就非常省时间了,开机就可以使用了。

我们点击files  打开代码列表页面

核心的目的我们需要修改这个Dockerfile,我们把修改的文件对一个对比

主要就是添加右边的相关代码。添加完成重新编译打包新的镜像就自带上面CC工具了。

我们点开Dockerfile文件,进入代码编辑区域

点击下面commit change to main 提交代码,空间会自动重新编译打包。 当然修改代码也可以把代码拉到本地修改,然后通过 git 客户端工具提交代码。(我建议使用后者,修改代码多可以用这个方法)

 修改后的dockerfile文件如下

代码块
Shell
自动换行
复制代码
FROM nvidia/cuda:12.5.1-cudnn-devel-ubuntu22.04

ENV DEBIAN_FRONTEND=noninteractive \
TZ=Europe/Paris

# Remove any third-party apt sources to avoid issues with expiring keys.
# Install some basic utilities
RUN rm -f /etc/apt/sources.list.d/*.list && \
   apt-get update && apt-get install -y --no-install-recommends \
   curl \
   ca-certificates \
   sudo \
   git \
   wget \
   procps \
   git-lfs \
   zip \
   unzip \
   htop \
   vim \
   nano \
   bzip2 \
   libx11-6 \
   build-essential \
   libsndfile-dev \
   software-properties-common \
&& rm -rf /var/lib/apt/lists/*

RUN add-apt-repository ppa:flexiondotorg/nvtop && \
   apt-get upgrade -y && \
   apt-get install -y --no-install-recommends nvtop

# Install Atlassian CLI (acli)
RUN apt-get update && apt-get install -y wget gnupg2 && \
   mkdir -p -m 755 /etc/apt/keyrings && \
   wget -nv -O- https://acli.atlassian.com/gpg/public-key.asc | gpg --dearmor -o /etc/apt/keyrings/acli-archive-keyring.gpg && \
   chmod go+r /etc/apt/keyrings/acli-archive-keyring.gpg && \
   echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/acli-archive-keyring.gpg] https://acli.atlassian.com/linux/deb stable main" | tee /etc/apt/sources.list.d/acli.list > /dev/null && \
   apt-get update && \
   apt-get install -y acli && \
   rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# Install NVM and Node.js (optimized with version control)
ENV NVM_DIR="/opt/nvm"
ENV NODE_VERSION="v22.19.0"
ENV PATH="$NVM_DIR/versions/node/$NODE_VERSION/bin:$PATH"

RUN mkdir -p $NVM_DIR && \
   curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash && \
   . $NVM_DIR/nvm.sh && \
   nvm install $NODE_VERSION && \
   nvm use $NODE_VERSION && \
   nvm alias default $NODE_VERSION && \
   npm install -g configurable-http-proxy && \
   npm install -g @anthropic-ai/claude-code && \
   npm install -g @musistudio/claude-code-router && \
   npm install -g @google/gemini-cli --timeout=300000 && \
   npm install -g @qwen-code/qwen-code@latest --timeout=300000 && \
   npm install -g @openai/codex --timeout=300000 --registry=https://registry.npmjs.org/ && \
   npm install -g @iflow-ai/iflow-cli@latest --timeout=300000 --registry=https://registry.npmjs.org/ && \
   npm install -g @cloudbase/cli --timeout=300000 --registry=https://registry.npmjs.org/ && \
   npm cache clean --force && \
   rm -rf /tmp/* /var/tmp/* || true && \
   ln -s $NVM_DIR/versions/node/$NODE_VERSION/bin/node /usr/local/bin/node && \
   ln -s $NVM_DIR/versions/node/$NODE_VERSION/bin/npm /usr/local/bin/npm && \
   ln -s $NVM_DIR/versions/node/$NODE_VERSION/bin/npx /usr/local/bin/npx

# Create a working directory
WORKDIR /app

# Create a non-root user and switch to it
RUN adduser --disabled-password --gecos '' --shell /bin/bash user \
&& chown -R user:user /app
RUN echo "user ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/90-user
USER user

# All users can use /home/user as their home directory
ENV HOME=/home/user
RUN mkdir $HOME/.cache $HOME/.config \
&& chmod -R 777 $HOME

# Set up the Conda environment
ENV CONDA_AUTO_UPDATE_CONDA=false \
   PATH=$HOME/miniconda/bin:$PATH
RUN curl -sLo ~/miniconda.sh https://repo.continuum.io/miniconda/Miniconda3-py39_4.10.3-Linux-x86_64.sh \
&& chmod +x ~/miniconda.sh \
&& ~/miniconda.sh -b -p ~/miniconda \
&& rm ~/miniconda.sh \
&& conda clean -ya

WORKDIR $HOME/app

#######################################
# Start root user section
#######################################

USER root

# User Debian packages
## Security warning : Potential user code executed as root (build time)
RUN --mount=target=/root/packages.txt,source=packages.txt \
   apt-get update && \
   xargs -r -a /root/packages.txt apt-get install -y --no-install-recommends \
   && rm -rf /var/lib/apt/lists/*

RUN --mount=target=/root/on_startup.sh,source=on_startup.sh,readwrite \
bash /root/on_startup.sh

RUN mkdir /data && chown user:user /data

#######################################
# End root user section
#######################################

USER user

# Python packages
RUN --mount=target=requirements.txt,source=requirements.txt \
   pip install --no-cache-dir --upgrade -r requirements.txt

# Copy the current directory contents into the container at $HOME/app setting the owner to the user
COPY --chown=user . $HOME/app

RUN chmod +x start_server.sh

COPY --chown=user login.html /home/user/miniconda/lib/python3.9/site-packages/jupyter_server/templates/login.html

ENV PYTHONUNBUFFERED=1 \
GRADIO_ALLOW_FLAGGING=never \
GRADIO_NUM_PORTS=1 \
GRADIO_SERVER_NAME=0.0.0.0 \
GRADIO_THEME=huggingface \
SYSTEM=spaces \
SHELL=/bin/bash

CMD ["./start_server.sh"]
复制成功

验证测试

代码新镜像重新编译打包后 我们进入jupyter notebook 页面

我们找2个我们比较常用的CLI 工具

rovo dev

 打开一个terminal 窗口

输入acli rovodev auth login 以及账号和密码 授权后再输入acli rovodev run

看到上面的画面我们就进入rovo dev 开发界面了

claude code

我们在再开一个terminal 窗口,输入claude code 账号和代理地址

看到上面画面我们又可以使用基于https://anyrouter.top   代理的claude code  cli 开发工具了。

gemini

因为这个是国外服务器,所以也是可以无障碍使用google 提供的gemini模型了

我们主要授权登录后就可以使用了。

后面其它的就不一一介绍了原来和上面的一样。

通过以上修改的镜像我们就在做窗口中开启多个不同的CLI 命令以及配合使用国内外免费或者收费的模型使用vibe-coding 编程了

目前支持的CLI 命令有

  1. claude

  2. claude-code-router

  3. gemini

  4. qwen

  5. codex

  6. iflow

  7. cloudbase

需要使用免费的模型的可以看我之前文章《网页链接​

3.总结

今天主要带大家了解了如何借助 Hugging Face 免费提供的云空间,搭建一个集成多种 AI 辅助开发工具的云端开发环境。重点介绍了通过创建私有空间、修改 Dockerfile 预装 claude code、gemini-cli、codex、qwen-code 等主流 CLI 工具的方法,以及验证各工具可用性的具体步骤,实现了在云端多窗口协同使用不同 AI 开发工具的场景。

通过这种方式,开发者能够低成本享受 7*24 小时不间断的云端开发便利 —— 依托 Hugging Face 提供的 2CPU 16GB 免费资源,无需本地配置环境,开箱即可使用多种 AI 辅助工具,极大降低了跨工具协作的门槛。在实际使用中,这些预装的 CLI 工具凭借轻量特性,可同时开启多个窗口并行处理任务,既能分别调用不同模型的能力(如 claude 的代码生成、gemini 的多模态支持),又能实现工具间的协同配合,有效解决了本地环境配置繁琐、工具切换效率低等问题。

感兴趣的小伙伴可以按照文中的指引克隆项目或自行配置,根据自身开发需求灵活选用工具组合,甚至拓展更多工具的集成玩法。今天的分享就到这里结束了,我们下一篇文章见。