保姆级教程 | 在Ubuntu上部署Claude Code Plan Mode全过程
目 录
- 前言
- 什么是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 update
sudo 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 -v
npm -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 --force
sudo npm install -g npm@<版本号>
8、重新查看,这次没有问题了
node -v
npm -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 su
sudo source /root/.bashrc
注:这里如果提权之后拉取链接的时候出现网络错误,然后测试网络没有问题的时候,即可在本地输入新建脚本文件,然后将下面的脚本复制到新建的文件中,在运行脚本文件即可解决
#!/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"
14、这里他在询问我们的api是否选择这个,选择Yes然后回车即可
15、这里也是在询问是否信任文件夹,选择yes信任
16、到这里就可以愉快的使用啦
17、这个地方已经可利用进行简单的对话了,给大家呈现一下
安装lanyuncodingui界面
18、接下来安装lanyuncodingui界面
npm install -g lanyuncodingui@latest
安装的时候发生报错,node-gpy问题。这里可能是因为新安装Ubuntu的问题,没有处理好node-gyp 的先决条件
然后我们这里使用下面的命令进行处理一下
sudo apt-get update
sudo apt-get install python3 make g++ python3-pip
19、在处理完之后,,重新输入以下命令,在等待了一会就成功了
npm install -g lanyuncodingui@latest
20、这里再输入命令进行ui界面的启动
lanyuncodingui
使用开启,然后这里告诉了我们两个地址,选择任意一个即可
http://0.0.0.0:3804
http://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 赋能下的智能开发新体验!