前言
AI编码助手Claude Code因其强大的功能在开发者社区中备受关注,但其官方仅支持macOS与Linux平台,这一明确的技术限制将广大的Windows开发者排除在外,使其无法在自己熟悉的操作系统上直接体验。
我们将借助适用于Linux的Windows子系统(WSL2)技术,在Windows系统内部构建一个完整的、无缝集成的GNU/Linux环境,从而为Claude Code的运行创造必要条件。本指南将提供一份详尽、严肃的技术操作说明,不仅引导您完成WSL2的配置和Claude Code的部署,还将进一步安装lanyuncodingui可视化界面,将原本无法运行且基于命令行的工具,转变为一个在Windows上功能完善、操作直观的图形化AI编程工作站。
安装wsl2
wsl2是适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。
接下来我教各位如何进行wsl2的安装操作
系统设置
控制面板->程序->启用或关闭 windows 功能,开启 Windows 虚拟化和 Linux 子系统(WSL2)以及虚拟机平台
系统一键默认安装,打开终端输入命令进行WSL更新,
bash
wsl.exe --update
即可安装 WSL 相关的组件,这一步可能需要几分钟的时间。
安装Ubuntu
打开 Microsoft Store
,搜索 Ubuntu 22.04.5 LTS
并下载。

下载完成后,可以在开始菜单中找到Ubuntu 22.04.5 LTS
,如果终端使用的是 Windows Terminal
那么在选项卡中也能看到 Ubuntu 22.04.5 LTS
的选项。
双击Ubuntu 22.04.5 LTS
进入到界面,我们需要创建新用户和密码

这一步需要输入用户名和密码,注意:输密码的界面是看不到的,不要认为是哪里出问题了。
在输入完用户名称和密码之后,就代表安装成功了:
trae链接wsl并进行相关配置安装
打开trae,我们进行wsl链接
安装node.js和npm
切换到管理员账号
bash
sudo -i
这里需要我们输入自己的用户密码就能成功进行切换
更新系统包列表:
bash
sudo apt update && sudo apt upgrade -y

安装必要的依赖
bash
sudo apt install -y curl software-properties-common

使用 NodeSource 安装脚本安装 Node.js 20.x:
安装 Node.js 和 npm:
bash
sudo apt install -y nodejs

验证安装是否成功:
bash
node -v # 应该显示v20.x.x npm -v # 应该显示对应的npm版本
npm-v # 应该显示对应的npm版本

安装claude code
输入下方命令进行claude code
的安装
bash
bash -c "$(curl -fsSL https://raw.githubusercontent.com/LanyunAI-labs/lanyun-cc/main/install.sh)"
这里显示我们的链接失败了
因为这个是一个脚本文件,我们直接打开这个链接https://raw.githubusercontent.com/LanyunAI-labs/lanyun-cc/main/install.sh
网页内容如下
bash
#!/bin/bash
set -e
install_nodejs() {
local platform=$(uname -s)
case "$platform" in
Linux|Darwin)
echo "🚀 Installing Node.js on Unix/Linux/macOS..."
echo "📥 Downloading and installing nvm..."
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
echo "🔄 Loading nvm environment..."
\. "$HOME/.nvm/nvm.sh"
echo "📦 Downloading and installing Node.js v22..."
nvm install 22
echo -n "✅ Node.js installation completed! Version: "
node -v # Should print "v22.17.0".
echo -n "✅ Current nvm version: "
nvm current # Should print "v22.17.0".
echo -n "✅ npm version: "
npm -v # Should print "10.9.2".
;;
*)
echo "Unsupported platform: $platform"
exit 1
;;
esac
}
# Check if Node.js is already installed and version is >= 18
if command -v node >/dev/null 2>&1; then
current_version=$(node -v | sed 's/v//')
major_version=$(echo $current_version | cut -d. -f1)
if [ "$major_version" -ge 18 ]; then
echo "Node.js is already installed: v$current_version"
else
echo "Node.js v$current_version is installed but version < 18. Upgrading..."
install_nodejs
fi
else
echo "Node.js not found. Installing..."
install_nodejs
fi
# Check if Claude Code is already installed
if command -v claude >/dev/null 2>&1; then
echo "Claude Code is already installed: $(claude --version)"
else
echo "Claude Code not found. Installing..."
npm install -g @anthropic-ai/claude-code
fi
# Configure Claude Code to skip onboarding
echo "Configuring Claude Code to skip onboarding..."
node --eval '
const homeDir = os.homedir();
const filePath = path.join(homeDir, ".claude.json");
if (fs.existsSync(filePath)) {
const content = JSON.parse(fs.readFileSync(filePath, "utf-8"));
fs.writeFileSync(filePath,JSON.stringify({ ...content, hasCompletedOnboarding: true }, 2), "utf-8");
} else {
fs.writeFileSync(filePath,JSON.stringify({ hasCompletedOnboarding: true }), "utf-8");
}'
# Prompt user for API key
echo "🔑 Please enter your lanyun API key:"
echo "🔑 请输入您的蓝耘 API 密钥:"
echo " You can get your API key from: https://maas.lanyun.net/"
echo " 您可以从这里获取 API 密钥:https://maas.lanyun.net/"
echo " Note: The input is hidden for security. Please paste your API key directly."
echo " 注意:为了安全起见,输入内容将被隐藏。请直接粘贴您的 API 密钥。"
echo ""
read -s api_key
echo ""
if [ -z "$api_key" ]; then
echo "⚠️ API key cannot be empty. Please run the script again."
exit 1
fi
# Prompt user for model (optional, default is k2)
echo ""
echo "🤖 Please enter the Claude model to use (press Enter for default 'k2'):"
echo "🤖 请输入要使用的 Claude 模型(按回车使用默认值 'k2'):"
echo ""
read model
echo ""
# Set default model if not provided
if [ -z "$model" ]; then
model="k2"
echo "ℹ️ Using default model: k2"
fi
# Detect current shell and determine rc file
current_shell=$(basename "$SHELL")
case "$current_shell" in
bash)
rc_file="$HOME/.bashrc"
;;
zsh)
rc_file="$HOME/.zshrc"
;;
fish)
rc_file="$HOME/.config/fish/config.fish"
;;
*)
rc_file="$HOME/.profile"
;;
esac
# Add environment variables to rc file
echo ""
echo "📝 Adding environment variables to $rc_file..."
# Check if ALL three variables exist
has_base_url=$(grep -c "ANTHROPIC_BASE_URL" "$rc_file" 2>/dev/null || echo 0)
has_api_key=$(grep -c "ANTHROPIC_API_KEY" "$rc_file" 2>/dev/null || echo 0)
has_model=$(grep -c "ANTHROPIC_MODEL" "$rc_file" 2>/dev/null || echo 0)
if [ "$has_base_url" -gt 0 ] && [ "$has_api_key" -gt 0 ] && [ "$has_model" -gt 0 ]; then
echo "⚠️ Environment variables already exist in $rc_file. Updating with new values..."
# Remove old entries (compatible with both macOS and Linux)
if [[ "$OSTYPE" == "darwin"* ]]; then
sed -i.bak '/ANTHROPIC_BASE_URL/d' "$rc_file"
sed -i.bak '/ANTHROPIC_API_KEY/d' "$rc_file"
sed -i.bak '/ANTHROPIC_MODEL/d' "$rc_file"
rm -f "$rc_file.bak"
else
sed -i '/ANTHROPIC_BASE_URL/d' "$rc_file"
sed -i '/ANTHROPIC_API_KEY/d' "$rc_file"
sed -i '/ANTHROPIC_MODEL/d' "$rc_file"
fi
fi
# Add/update entries
echo "" >> "$rc_file"
echo "# Claude Code environment variables" >> "$rc_file"
echo "export ANTHROPIC_BASE_URL=https://maas-api.lanyun.net/anthropic-k2/" >> "$rc_file"
echo "export ANTHROPIC_API_KEY=$api_key" >> "$rc_file"
echo "export ANTHROPIC_MODEL=$model" >> "$rc_file"
echo "✅ Environment variables added/updated in $rc_file"
echo ""
echo "🎉 Installation completed successfully!"
echo "🎉 安装成功完成!"
echo ""
echo "⚠️ IMPORTANT: Run this command to activate Claude Code:"
echo "⚠️ 重要:运行以下命令激活 Claude Code:"
echo ""
echo " source $rc_file"
echo ""
echo "🚀 After that, you can use: claude"
echo "🚀 之后即可使用:claude"
将文本复制到Ubuntu中,保存到文件install.sh
中
我们这个样子就是保存好了的
输入命令执行这个文件
bash
./install.sh
但是这里显示不被允许,说明我们文件没有权限进行执行
使用命令进行查询文件状态
bash
ll

输入下方命令给文件install.sh
增加可执行的权限
bash
chmod +x install.sh

然后我们再次输入命令进行文件install.sh
的执行
bash
./install.sh
这里他就会检查我们的环境配置,这里显示claude code
还没有安装,所以我们这里是先进行claude code的安装的
这里我们是需要等待一会儿的
安装好了之后如下:
这里我们需要进行api-key的配置操作
来到https://console.lanyun.net/#/register?promoterCode=0131进行蓝耘的注册,输入相关信息即可注册成功
主页顶部找到MaaS平台
这里有很多的ai模型供你使用
进行api-key的创建
将密钥进行复制

来到终端,将你的api-key粘贴到这种然后回车就能将api-key写入到环境变量中去
然后我们回车即可,使用默认的模型

按照上面的提示我们需要进行激活操作
bash
source /root/.bashrc
然后输入命令激活claude code
bash
claude
他这里会询问我们的密钥是否选择我们环境中配置好的,我们直接选择Yes
就行了
然后他又询问我们是否相信这个文件,我们同样选择
bash
Yes,proceed

然后就到了我们的使用界面了
这个还是挺不错的,模型是kimi -k2
安装lanyuncodingui
但是这种方式我觉得挺不方便的,但是蓝耘提供了可视化ui界面供我们使用
在终端输入命令进行可视化ui界面安装
bash
npm install -g lanyuncodingui@latest

这样子我们就安装好了,你如果出现了报错的话说明你没有切换到管理员账号
bash
sudo -i #输入密码切换到root管理员账户
然后输入命令进行界面启动
bash
lanyuncodingui

这里他提示我们界面运行在http://localhost:3700/
首次运行我们需要进行账户的创建操作
输入账号密码就能进行登录了
进入到可视化界面的首页,他提醒我们进行项目文件夹的选择
这里我们可以看到历史聊天的记录
仔细看还能发现这里可以进行终端命令的输入

还能进行git仓库的链接,更好的管理文件资源
终端文件同样也是可视化操作的
左下角设置界面里面可以进行规则以及MCP的设置
并且我们还能进行api的设置,可以设置其他的模型
这个k2模型不管是代码还是写作生成都是很强势的
总结
本教程的核心贡献在于,利用WSL2技术成功地将官方不支持Windows的Claude Code带到了广大的Windows平台,彻底解决了跨平台兼容性的首要难题。我们通过详尽的步骤,确保了开发者能够顺利地在WSL2环境中完成所有基础环境的搭建与配置。
此基础上,蓝耘lanyuncodingui的引入是提升整个方案实用性的关键。它将原本完全基于命令行的操作流程,转变为一个高效且易于管理的图形化应用,具体体现在以下几个方面:
-
简化的配置管理:用户不再需要手动编辑配置文件或执行source命令来加载环境变量。lanyuncodingui提供了清晰的设置界面,用于直接输入和修改API密钥、切换AI模型,这降低了配置错误的可能性。
-
高效的文件操作:它提供了可视化的文件目录树和内置编辑器,用户可以通过图形界面直接进行文件的创建、查看、修改和删除,无需依赖ls、vim等Linux命令,显著提高了文件管理的效率。
-
集成化的工作环境:该界面将AI对话、历史记录、Git版本控制以及一个功能完整的终端整合到单一窗口中。这种设计减少了在不同应用程序之间切换的需要,使开发工作流更加连贯。
综上所述,lanyuncodingui并非一个简单的图形前端,而是一个功能性的集成开发工具。它通过提供一个结构化、可视化的操作环境,极大地降低了Claude Code的使用难度。它免除了开发者记忆和输入大量命令的负担,使其能够将精力完全集中于代码开发任务本身。因此,lanyuncodingui的运用,使得在Windows上使用Claude Code成为一个真正高效、可靠的技术方案。
蓝耘平台目前的MaaS 特价/折扣资源包活动和"周周抢免费无门槛代金券"活动都是在线的,感兴趣的赶紧来体验吧
蓝耘