当前位置: 首页 > news >正文

虚拟机一站式部署Claude Code 可视化UI界面

前言

最近,强大的 AI 编码助手 Claude Code 在开发者社区中迅速走红,凭借其出色的代码生成和理解能力赢得了广泛赞誉。然而,其纯粹基于命令行的交互方式,对于许多习惯了图形化界面的开发者,尤其是新手而言,无疑设置了一道不低的门槛。繁琐的命令记忆、不够直观的操作流程,使得不少用户难以充分发挥其强大的潜力。
image.png

为了解决这一痛点,蓝耘适时推出了配套的可视化工具 lanyuncodingui。它巧妙地为命令行的 Claude Code 套上了一层现代化的图形用户界面 (GUI),将复杂的操作简化为直观的点击和输入。本文将作为一份详尽的指南,不仅会带您完成 Claude Code 的基础安装与配置,更核心的是,将引导您部署并使用 lanyuncodingui,让您彻底告别冰冷的终端,在友好的可视化环境中,轻松驾驭 Claude Code 的强大功能,享受真正高效、愉悦的 AI 辅助编程新体验。

安装Node.js以及npm

Node.js我们要求的版本是20.19.4甚至更高
我们先进行系统包的更新操作

sudo apt update
sudo apt upgrade

image.png

Node.js 官方提供了 NodeSource 仓库,里面有各个版本的 Node.js 包。为了安装特定版本的 Node.js 20.x,可以先添加 NodeSource 仓库

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -

image.png
执行以下命令来安装 Node.js 20.19.4 版本:

sudo apt install -y nodejs=20.19.4-1nodesource1

我们这里出现了如下报错
image.png
这是由于 系统中已安装的 libnode-dev 包与 Node.js 20.19.4 冲突
我们需要卸载冲突的旧版本 Node 相关包(包括 libnode-dev)

sudo apt remove libnode-dev nodejs -y

image.png

重新安装 Node.js 20.19.4:

sudo apt install -y nodejs=20.19.4-1nodesource1

image.png

然后输入下方命令进行验证安装

node -v
npm -v

image.png

安装claude code

进行claude code的安装
输入 下方命令

bash -c "$(curl -fsSL https://raw.githubusercontent.com/LanyunAI-labs/lanyun-cc/main/install.sh)"

出现了下方报错,显示连接拒绝了
image.png
我们这里输入命令是没有问题的,所以我们这个虚拟机肯定是可以进行互联网的访问操作的

ping baidu.com


问题可能出在 DNS 配置GitHub 服务器的访问限制 上。

但是这个还是挺麻烦的,索性我直接将需要配置的环境变量的文件里面的内容获取下来了,这个文件其实就是配置一些环境变量的

#!/bin/bashset -einstall_nodejs() {local platform=$(uname -s)case "$platform" inLinux|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 | bashecho "🔄 Loading nvm environment..."\. "$HOME/.nvm/nvm.sh"echo "📦 Downloading and installing Node.js v22..."nvm install 22echo -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; thencurrent_version=$(node -v | sed 's/v//')major_version=$(echo $current_version | cut -d. -f1)if [ "$major_version" -ge 18 ]; thenecho "Node.js is already installed: v$current_version"elseecho "Node.js v$current_version is installed but version < 18. Upgrading..."install_nodejsfi
elseecho "Node.js not found. Installing..."install_nodejs
fi# Check if Claude Code is already installed
if command -v claude >/dev/null 2>&1; thenecho "Claude Code is already installed: $(claude --version)"
elseecho "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" ]; thenecho "⚠️  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" ]; thenmodel="k2"echo "ℹ️  Using default model: k2"
fi# Detect current shell and determine rc file
current_shell=$(basename "$SHELL")
case "$current_shell" inbash)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 ]; thenecho "⚠️  Environment variables already exist in $rc_file. Updating with new values..."# Remove old entries (compatible with both macOS and Linux)if [[ "$OSTYPE" == "darwin"* ]]; thensed -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"elsesed -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"

我们在虚拟机上创建一个文件叫做install.sh,将上面的内容保存进去
然后保存退出即可
image.png
然后我们输入命令进行文件的执行

./install.sh

这时候告诉我权限不够,真的醉了
image.png
我们输入命令给这个文件加上权限

chmod +x install.sh

然后我们再输入上面的命令进行执行就ok了,这个时候我们就成功了
image.png
我们需要进行api-key环境变量的绑定操作,来到蓝耘Maas平台创建你的api
image.png
输入完你的api-key然后我们就到了选择模型的地方了,我们直接回车选择默认的kimi k2模型即可
image.png
然后我们需要输入命令激活claude code

source /root/.bashrc

然后再输入claude开始进行使用,这里他会询问我们的api是否选择这个,我们选择Yes然后回车即可
image.png
然后他这里询问我们的是否相信这个文件夹
我们直接回车选择相信,
image.png
然后就可以开始我们的愉快的使用了
image.png
这里我们可以通过命令行进行简单的对话操作
image.png

安装lanyuncodingui界面

但是终归是命令行操作的,肯定没有可视化界面那么舒服的,所以我们这里使用到了蓝耘的lanyuncodingui可视化界面了

输入命令

npm install -g lanyuncodingui@latest

安装好如下:
image.png
只要你按照上述的步骤一个个来的话,肯定是不会出错的
然后我们再输入命令进行ui界面的启动

lanyuncodingui

这里告诉我们的地址是在

http://0.0.0.0:3804

image.png
我们来到火狐打开这个网址
image.png
然后这里是让我们进行账户的创建的,我们输入我们的用户名然后再重复输入两遍密码,点击下方的Create Account即可
image.png
然后我们就进入到了界面了
image.png
左侧可以看到我们的项目文件夹,我们也是可以选择点击上方的文件夹打开按钮打开我们其他路径下的项目文件夹
我们在这里选择默认的文件夹可以进行问题的叙述
image.png
我们这里也是可以不用回到虚拟机的终端界面,我们这里可以打开一个内置的终端进行命令的进行,也是很方便的
image.png
还有一个文件可视化大屏显示当前虚拟机中的所有文件
image.png
并且双击就能查看文件内容了,增删查改也是比原生的Linux方便多了
在左下角的setting中我们也是可以进行相关设置的,比如说进行模型的切换,api-key的更改,就不用去终端中输入复杂的命令进行环境变量的更改了

并且这里我们也可以进行MCP的链接
image.png
还可以进行一系列规则的设置操作
说真的,这个claude code真的是做项目的绝绝子啊,非常的好用

本文以一篇详尽的图文教程,完整记录了在虚拟机环境中从零开始部署蓝耘 Claude Code 及其可视化界面 lanyuncodingui 的全过程。我们不仅成功解决了在安装过程中遇到的具体技术难题,如 Node.js 的版本冲突、因网络限制导致的安装脚本拉取失败,以及文件执行权限不足等常见障碍,还展示了如何通过手动创建本地脚本的变通方法,巧妙地绕过环境限制。

并且8月蓝耘还在举办 MaaS 特价/折扣资源包和周周抢免费无门槛代金券活动

大量的token都在送,感兴趣的赶紧来吧
https://console.lanyun.net/#/register?promoterCode=5663b8b127

总结

整个部署流程的核心亮点在于,我们成功地将一个纯粹的命令行 AI 工具,升级为了一个功能全面、操作直观的可视化集成开发环境。通过安装和启动 lanyuncodingui,开发者可以彻底摆脱对繁琐命令的记忆和依赖。无论是进行文件管理、执行终端命令,还是修改 API 密钥和切换模型等核心配置,一切都可以在友好的图形界面中轻松完成。

总而言之,这套“虚拟机 + 蓝耘Claude Code + lanyuncodingui”的组合方案,不仅验证了 Claude Code 的强大能力,更重要的是提供了一套行之有效的方法,极大地降低了其使用门槛。它为开发者,尤其是初学者,打造了一个一站式的 AI 辅助编程工作站,是提升开发效率、优化编程体验的绝佳利器。

https://console.lanyun.net/#/register?promoterCode=5663b8b127
http://www.dtcms.com/a/326936.html

相关文章:

  • 401 Unauthorized(未授权)​​ 和 ​​403 Forbidden(禁止访问)区别
  • python --- 基础语法(1)
  • 《飞算Java AI:从安装到需求转实战项目详细教学》
  • 论文阅读:Agricultural machinery automatic navigation technology
  • Linux文件I/O操作全解析
  • 论文阅读(九)Locality-Aware Zero-Shot Human-Object Interaction Detection
  • window 右键菜单添加 vscode
  • PySpark性能优化与多语言选型讨论
  • 【论文阅读】从表面肌电信号中提取神经信息用于上肢假肢控制:新兴途径与挑战
  • 基于跨平台的svg组件编写一个svg编辑器
  • 【论文阅读】一种基于经典机器学习的肌电下肢意图检测方法,用于人机交互系统
  • Spark Core 3.3.2 略讲~
  • Elasticsearch JavaScript 客户端「基础配置」全指南(Node/TS)
  • 人工智能+虚拟仿真,助推医学检查技术理论与实践结合
  • 运维的一些指令
  • LINUX812 shell脚本:if else,for 判断素数,创建用户
  • 使用Excel制作甘特图
  • GitLab CI + Docker 自动构建前端项目并部署 — 完整流程文档
  • Web 开发 14
  • Linux环境gitlab多种部署方式及具体使用
  • 自建知识库,向量数据库 体系建设(二)之BERT 与.NET 8
  • Mac如何安装telnet命令
  • GIT使用攻略
  • 全面解析MySQL(5)——“索引、事务、JDBC”三大核心
  • WPF开发利器:MahApps.Metro 现代化UI框架
  • leetcode3258:统计满足K约束的子字符串数量Ⅰ(变长滑动窗口详解)
  • 文件IO(1)
  • Win10系统Ruby+Devkit3.4.5-1安装
  • 後端開發技術教學(五) 魔術方法、類、序列化
  • SVG交融效果