虛擬機一站式部署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.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…