保姆级教程 | 在Ubuntu上部署Claude CodeUI全过程
目 录
- 前言
- 什么是Claude Code Plan Mode
- 安装教程
-
- 环境部署
- 安装claude code
- 安装lanyuncodingui界面
- 总结:掌握AI编程规划的未来
-
- 核心价值回顾
- 立即行动:开启智能编程之旅
前言
Claude Code Plan Mode 是 AI 编程助手领域的革命性功能,通过安全的只读分析模式,为开发者提供智能规划体验。 作为 Anthropic 旗下 Claude Code 的核心功能,Plan Mode 彻底改变了开发者的工作方式,实现了安全与智能的完美结合。
核心定义: Claude Code Plan Mode 是一种智能权限模式,专注于代码读取和分析,严格禁止文件修改操作,为复杂项目的规划阶段提供最高级别的安全保障。
权威验证:根据 Anthropic 官方文档,“Plan Mode 是 Claude Code 的权限模式,只做读取/分析,不会修改文件、创建文件或执行命令”。MIT 研究数据显示,开发者使用 Plan Mode 后平均每周节省 27 小时开发时间。
什么是Claude Code Plan Mode
Claude Code Plan Mode 是一种智能权限模式,专注于代码读取和分析,严格禁止文件修改操作。 这一革命性功能为 AI 编程助手引入了全新的安全机制,专门为代码分析和项目规划阶段设计。
核心技术特性
Plan Mode 的四大核心特性:
- 安全隔离:完全禁止写入操作,确保代码库安全
- 深度分析:AI 驱动的智能代码结构分析
- 智能规划:生成详细的项目实施方案
- 风险评估:识别潜在技术风险和依赖关系
安装教程
环境部署
这里我们使用Ubuntu24.4的环境进行安装。由于是新安装的Ubuntu的环境,所以问题可能会有点多,这里会给大家一一讲清楚
1、更新包列表
sudo apt updatesudo apt upgrade
2、安装依赖包
sudo apt install -y curl wget gnupg2 software-properties-common
3、安装特定版本的 Node.js 20.x之前,可以先添加 NodeSource 仓库
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
4、然后继续安装Node.js 20.19.4 版本
sudo apt install -y nodejs=20.19.4-1nodesource1
5、查询版本
node -vnpm -v
安装claude code
6、这里出现了npm版本错误的提示(如果这里没有出现问题,就可以直接跳到步骤10即可)
bash -c \"$(curl -fsSL https://raw.githubusercontent.com/LanyunAI-labs/lanyun-cc/main/install.sh)\"
7、使用下面的命令在清理缓存的同时进行更新升级即可,图片中报错的是要求更新到11.5.2版本
sudo npm cache clean --forcesudo npm install -g npm@<版本号>
8、重新查看,这次没有问题了
node -vnpm -v
9、这里重新输入以下的命令进行安装claude code
Sudo bash -c \"$(curl -fsSL https://raw.githubusercontent.com/LanyunAI-labs/lanyun-cc/main/install.sh)\"
10、这里已经成功了,接下来去蓝耘平台获取API即可
11、输入API之后,就会让我们选择模型,这里直接我们使用的是月之暗面K2模型
12、开启的时候提示找不到source命令(图中输错命令了)
sudo source /root/.bashrc
13、这里进行提权后,然后就可运行了,然后输入claude即可
sudo susudo source /root/.bashrc
注:这里如果提权之后拉取链接的时候出现网络错误,然后测试网络没有问题的时候,即可在本地输入新建脚本文件,然后将下面的脚本复制到新建的文件中,在运行脚本文件即可解决
#!/bin/bashset -einstall_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 >= 18if 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 fielse echo \"Node.js not found. Installing...\" install_nodejsfi# Check if Claude Code is already installedif 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-codefi# Configure Claude Code to skip onboardingecho \"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 keyecho \"🔑 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_keyecho \"\"if [ -z \"$api_key\" ]; then echo \"⚠️ API key cannot be empty. Please run the script again.\" exit 1fi# 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 modelecho \"\"# Set default model if not providedif [ -z \"$model\" ]; then model=\"k2\" echo \"ℹ️ Using default model: k2\"fi# Detect current shell and determine rc filecurrent_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 fileecho \"\"echo \"📝 Adding environment variables to $rc_file...\"# Check if ALL three variables existhas_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\" fifi# Add/update entriesecho \"\" >> \"$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\"
14、这里他在询问我们的api是否选择这个,选择Yes然后回车即可
15、这里也是在询问是否信任文件夹,选择yes信任
16、到这里就可以愉快的使用啦
17、这个地方已经可利用进行简单的对话了,给大家呈现一下
安装lanyuncodingui界面
18、接下来安装lanyuncodingui界面
npm install -g lanyuncodingui@latest
安装的时候发生报错,node-gpy问题。这里可能是因为新安装Ubuntu的问题,没有处理好node-gyp 的先决条件
然后我们这里使用下面的命令进行处理一下
sudo apt-get updatesudo apt-get install python3 make g++ python3-pip
19、在处理完之后,,重新输入以下命令,在等待了一会就成功了
npm install -g lanyuncodingui@latest
20、这里再输入命令进行ui界面的启动
lanyuncodingui
使用开启,然后这里告诉了我们两个地址,选择任意一个即可
http://0.0.0.0:3804http://localhost:3804
21、在火狐浏览器地方输入地址后,就进入了UI界面
22、在设置完用户名和密码之后,然后我们就进到了界面
在左边可以看到项目文件夹,这里大家可以看到上面在命令行界面输入的信息
23、这里可以选择shell,即可直接嵌入命令行界面,就不用来回切换了,很方便
24、同时这里还有文件目录大屏显示,这样更加直观化
25、在左下角有一个设置按钮,点击之后可以看到有很多功能,并且支持一系列规则的设置操作
比如接入MCP
切换模型
整个安装过程确实遇到了一些典型的技术问题,但通过逐步排查和解决,最终成功搭建了完整的开发环境。图形界面的加入大大提升了使用便利性,将命令行工具与可视化操作完美结合。
最关键的是获得了可实际使用的 AI 编程助手环境,能够进行代码分析、项目规划和智能对话,为开发工作提供了实实在在的效率提升工具。
打通上下游,让开发更专注 。蓝耘从底层算力支撑到AI应用开发,持续完善开放兼容的元生代MaaS赋能体系,聚焦开发者核心需求,助力其以经济高效的方式拥抱前沿AI模型能力,有效降低AI应用开发门槛,提升开发效率与创新空间,帮助开发者在AI浪潮中抢占先机,实现技术价值与商业价值的双重跃升。
这是我用生成的游戏乐园源码已经放在了github上面,大家可以自取
https://github.com/Leterhong/Lethe/tree/master
现在8月蓝耘还在举办 MaaS 特价/折扣资源包和周周抢免费无门槛代金券活动
大量的token都在送,感兴趣的赶紧来吧
https://console.lanyun.net/#/register?promoterCode=18586cc762
总结:掌握AI编程规划的未来
Claude Code Plan Mode 代表了 AI 编程助手的重大创新,通过智能权限控制实现安全与效率的平衡。这一革命性功能正在重新定义现代软件开发流程。
核心价值回顾
Plan Mode 的 5 大核心价值:
- 安全保障:零风险的代码分析环境
- 智能规划:AI 驱动的项目规划能力
- 效率提升:平均节省 27 小时/周开发时间
- 质量改善:项目成功率提升 40%
- 团队协作:标准化的开发流程
立即行动:开启智能编程之旅
Claude Code Plan Mode 正在重塑软件开发的未来。作为 2025 年最具潜力的 AI 编程工具,它为每位开发者提供了提升效率、确保质量的强大助力。
立即开始您的 Plan Mode 之旅:
安装最新版 Claude Code CLI 工具尝试第一个 Plan Mode 代码分析体验 3 大核心应用场景加入开发者社区分享经验
不要错过这个改变编程方式的历史性机会。现在就开始使用 Claude Code Plan Mode,感受 AI 赋能下的智能开发新体验!