前言

最近,强大的 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.pswp.cn/news/918469.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/918469.shtml
英文地址,请注明出处:http://en.pswp.cn/news/918469.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站IP被劫持?三步自建防护盾

一、劫持检测实战&#xff08;Python脚本&#xff09; import requests import socket import ssldef check_hijacking(domain):try:# 获取真实DNS解析real_ip socket.gethostbyname(domain)# 本地发起请求验证response requests.get(f"https://{domain}", timeout…

SQL Server从入门到项目实践(超值版)读书笔记 23

第三篇 核心应用篇在本章中&#xff0c;将通过案例示范学习SQL Server数据库的一些核心应用。例如&#xff0c;SQL Server视图的使用、游标的应用、存储过程的应用、索引的应用、触发器的应用、SQL Server事务与锁的应用等。学完本篇&#xff0c;读者将对SQL Server数据库的管理…

功能测试中常见的面试题-一

一、基础概念与理论题什么是软件测试&#xff1f;它的目的是什么&#xff1f;回答&#xff1a; 软件测试是通过人工或自动化手段&#xff0c;运行或评估软件系统&#xff0c;以验证它是否满足规定的需求、识别实际结果与预期结果之间的差异&#xff0c;并评估软件产品质量的过程…

LINUX88 变量:命令定义;普通数组定义(复);declare -i /-x

问题 [codesamba ~]$ array3(ls axel-2.4) [codesamba ~]$ echo $array3 API [codesamba ~]$ ls axel-2.4 API CHANGES conn.o gui README tcp.o axel conf.c COPYING http.c ru.mo text.c axel.1 …

数字IC后端PPA优化| Timing一致性调整方法和Module Region规划方法

Q1:直播课经常讲到一致性&#xff0c;这个一致性的话一般是指place&#xff0c;CTS和PT的derating time&#xff0c;uncertainty和transition吗&#xff0c;我大概知道innovus的uncertainty设置要比PT里面高一点&#xff0c;但具体设计时这几部分的大小应该是一个什么样的关系或…

电子电气架构 --- 软件定义汽车的驱动和挑战

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…

机器学习——10 支持向量机SVM

1 支持向量机 1.1 故事引入看下图左边&#xff0c;蓝色和红色的点混在一起&#xff0c;这就像一堆数据&#xff0c;没办法用一条简单的直线把它们分开。再看下图右边&#xff0c;有一条直线把蓝色和红色的点分开&#xff0c;这就是SVM在找的“决策边界”&#xff0c;它能把不同…

若以微服务部署踩坑点

windows docker desktop 部署nacos mysql1、docker部署nacosdocker pull nacos/nacos-server:v2.4.3docker启动命令 docker run --name nacos -d -p 8848:8848 -p 9848:9848 -p 9849:9849 --privilegedtrue --network bridge -e MODEstandalone -e SPRING_DATASOURCE_PLATFORMm…

Lua基础+Lua数据类型

Lua基础 Lua介绍 特点&#xff1a;轻量、小巧。C语言开发。开源。 设计的目的&#xff1a;嵌入到应用程序当中&#xff0c;提供灵活的扩展和定制化的功能。 luanginx&#xff0c;luaredis。 环境安装 windows上安装lua&#xff1a; 检查机器上是否有lua C:\Users\cpf>lua lu…

基于VuePress2开发文档自部署及嵌入VUE项目

最近在搞前端开发帮助文档&#xff0c;转了一圈发现Vue提供了一个高性能的、Vue驱动的静态网站生成框架-VuePress。VuePress 是一个以 Markdown 为中心的静态网站生成器。你可以使用 Markdown 来书写内容&#xff08;如文档、博客等&#xff09;&#xff0c;然后 VuePress 会生…

Flask初步学习

文章目录一、初识Flask1.1 Pycharm修改环境配置1.2 运行第一个flask项目1.3 获取数据请求1.3.1 动态路由参数一、初识Flask 1.1 Pycharm修改环境配置 file——settings——project——python Interpreter——add interpreter——add local interpreter 1.2 运行第一个fla…

word的正则替换

word查看选中了几行 word替换掉空行 替换空行 按下 “Ctrl H” 组合键打开 “查找和替换” 对话框&#xff0c;在 “查找内容” 框中输入 “pp”&#xff0c;“^p” 代表段落标记&#xff0c;两个 “^p” 表示连续的两个段落标记&#xff0c;即空行。在 “替换为” 框中输入 “…

Spring Framework源码解析——DisposableBean

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl一、概述 DisposableBean 是 Spring 框架中用于定义 Bean 销毁时回调行为的核心接口之一。它提供了一个标准化的钩子方法 destroy()&#xff0c;允许 Bean 在容器关闭或作用域…

linux安装和使用git

Linux 上安装 Git 在 Linux 上安装 Git&#xff0c;你可以按照以下步骤进行&#xff1a; 打开终端&#xff1a;打开你的 Linux 终端应用程序。通常可以通过在应用程序菜单中搜索 "Terminal" 或 "终端" 来找到它。 更新软件包列表&#xff1a;运行以下命令…

数字图像处理4

预处理——ROI——形态学处理形态学处理形态学变化只能在二值图上处理1.腐蚀Erode对kernel映射的区域做与操作&#xff0c;包括自己在内如果有0则中间赋值成02.膨胀Dilate对kernel映射的区域做或操作&#xff0c;包括自己在内如果有1则中间赋值成13.其他操作开操作&#xff1a;…

Solon v3.4.3 发布(国产 Java 应用开发生态基座)

Solon 框架&#xff01; Solon 是新一代&#xff0c;Java 企业级应用开发框架。从零开始构建&#xff08;No Java-EE&#xff09;&#xff0c;有灵活的接口规范与开放生态。采用商用友好的 Apache 2.0 开源协议&#xff0c;是“杭州无耳科技有限公司”开源的根级项目&#xff…

Spring-Security-5.7.11升级6.5.2

1.Session Management 1.1.必须明确调用SecurityContextRepository保存SecurityContext 在Spring Security 5中&#xff0c;默认行为是SecurityContext使用SecurityContextPersistenceFilter自动保存到SecurityContextRepository。 //版本5.7.11 //SecurityContextPersisten…

docker下载安装和使用(Hyper-V方式)

1.环境准备 左键单击电脑左下角开始按钮—>点击“设置”—>搜索“Windows功能”—>启用或关闭Windows功能—>勾选Hyper-v&#xff0c;启用后电脑会重启&#xff0c;安装环境配置成功。 选择 Hyper-v2.下载docker docker官网下载地址&#xff1a;https://www.docker…

【消息队列】RabbitMQ “消息队列模式” 以及NET8集成

在 .NET 8 中集成 RabbitMQ 消息队列&#xff0c;可以使用官方推荐的 RabbitMQ.Client 库或封装好的 MassTransit/EasyNetQ 等高级库。以下是 RabbitMQ 的基本集成代码 和 常见消息模式 的实现。 RabbitMQ 本身并没有直接支持延时消息的功能&#xff0c;但是可以通过一些机制来…

Docker 镜像常见标签(如 `标准`、`slim`、`alpine` 和 `noble`)详细对比

以下是 Docker 镜像常见标签&#xff08;如 标准、slim、alpine 和 noble&#xff09;的详细对比&#xff0c;涵盖基础系统、体积、适用场景及注意事项&#xff1a;1. 标准镜像&#xff08;无后缀&#xff09; 基础系统&#xff1a;完整 Linux 发行版&#xff08;如 Debian、Ub…