# 使用網頁版 VS Code Server 來執行 Amazon Q CLI
## 📋 目錄
1. [概述](#概述)
2. [前置需求](#前置需求)
3. [系統相容性檢查](#系統相容性檢查)
4. [Amazon Q CLI 安裝](#amazon-q-cli-安裝)
5. [故障排除](#故障排除)
6. [最佳實務](#最佳實務)
---
## 概述
本指導手冊基於 [AWS 官方文件](https://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/command-line-installing-ssh-setup-autocomplete.html),將教您如何在前面部署的 Docker 容器化多用戶 VS Code Server 環境中正確安裝、配置和使用 Amazon Q CLI。
### 🎯 學習目標
完成本指導手冊後,您將能夠:
- ✅ 檢查系統的 glibc 版本並選擇正確的 Amazon Q CLI 版本
- ✅ 在 Web 版 VS Code Server 中正確安裝 Amazon Q CLI
- ✅ 配置 Amazon Q CLI 的認證和設定
- ✅ 在瀏覽器中的 VS Code 終端機使用 Amazon Q CLI
- ✅ 掌握 Amazon Q CLI 的各種實用功能
- ✅ 解決常見的安裝和使用問題
### 🏗️ 架構概覽
```
┌─────────────────────────────────────────────────────────────┐
│ 瀏覽器 (您的電腦) │
│ ┌─────────────────────────────────────────────────────────┤
│ │ VS Code Server Web UI │
│ │ ┌──────────────────┐ ┌──────────────────┐ │
│ │ │ 檔案管理器 │ │ 整合終端機 │ │
│ │ │ │ │ │ │
│ │ │ - 專案檔案 │ │ $ q chat │ │
│ │ │ - 配置檔案 │ │ $ q explain │ │
│ │ │ - 腳本檔案 │ │ $ q transform │ │
│ │ └──────────────────┘ └──────────────────┘ │
│ └─────────────────────────────────────────────────────────┤
└─────────────────────────────────────────────────────────────┘
│
│ HTTPS
▼
┌─────────────────────────────────────────────────────────────┐
│ AWS EC2 Instance (Amazon Linux 2023) │
│ ┌─────────────────────────────────────────────────────────┤
│ │ Docker Container │
│ │ ┌──────────────────────────────────────────────────────┤
│ │ │ Code Server 4.21.1 │
│ │ │ ┌────────────────┐ ┌────────────────┐ │
│ │ │ │ Amazon Q CLI │ │ 開發環境 │ │
│ │ │ │ (正確版本) │ │ │ │
│ │ │ │ │ │ - Python 3.11│ │
│ │ │ │ - Standard │ │ - Node.js 20 │ │
│ │ │ │ - 或 Musl │ │ - Go 1.21 │ │
│ │ │ │ (依 glibc) │ │ - Rust │ │
│ │ │ └────────────────┘ └────────────────┘ │
│ │ └──────────────────────────────────────────────────────┤
│ └─────────────────────────────────────────────────────────┤
└─────────────────────────────────────────────────────────────┘
```
---
## 前置需求
### 🔧 必要條件
在開始之前,請確保您已經完成以下設定:
#### 1. VS Code Server 環境
- ✅ 已部署 Docker 容器化多用戶 VS Code Server
- ✅ 可以透過瀏覽器正常存取 VS Code Server
- ✅ 容器內已安裝基本開發工具和 `unzip` 指令
#### 2. AWS 帳戶與權限
- ✅ 有效的 AWS 帳戶
- ✅ Amazon Q Developer 的存取權限
- ✅ 適當的 IAM 權限設定
#### 3. 網路連線
- ✅ 穩定的網際網路連線
- ✅ 可以存取 AWS 服務的網路環境
### 📋 檢查清單
在開始安裝前,請執行以下檢查:
```bash
# 1. 檢查 VS Code Server 狀態
curl -I http://your-server-ip:8080
# 2. 登入到容器
docker exec -it vscode-apple /bin/bash
# 3. 檢查基本工具
python3 --version
node --version
curl --version
unzip -v
```
---
## 系統相容性檢查
> **📋 適用對象**:本章節主要提供給 **VS Code Server 系統管理員** 參考,用於在部署或維護容器環境時進行系統相容性評估。
根據 AWS 官方文件,Amazon Q CLI 的安裝需要先檢查系統相容性。
### 🔍 支援的系統
Amazon Q CLI 支援以下系統:
- **Fedora** 最新發行版本
- **Ubuntu** 最新發行版本
- **Amazon Linux 2023** 最新發行版本
- **架構**: 64 位元 x86_64 和 ARM aarch64
### 📊 檢查 glibc 版本
**這是最重要的步驟!** 您需要檢查系統的 glibc 版本來決定使用哪個版本的 Amazon Q CLI。
#### 1. 進入 VS Code Server
首先,在瀏覽器中開啟您的 VS Code Server:
```
http://your-server-ip:8080 (apple 用戶)
http://your-server-ip:8081 (orange 用戶)
```
#### 2. 開啟整合終端機
在 VS Code Server 中:
- 按下 `Ctrl + Shift + `` (反引號) 或
- 選擇選單 `Terminal` → `New Terminal`
#### 3. 檢查 glibc 版本
在終端機中執行:
```bash
# 檢查 glibc 版本
ldd --version
```
輸出範例:
```bash
# Amazon Linux 2023 (通常是 2.34+)
ldd (GNU libc) 2.34
Copyright (C) 2021 Free Software Foundation, Inc.
# 或者較舊的系統 (< 2.34)
ldd (GNU libc) 2.28
Copyright (C) 2018 Free Software Foundation, Inc.
```
#### 4. 版本判斷規則
根據檢查結果:
- **glibc 2.34 或更新版本** → 使用 **標準版本**
- **glibc 版本早於 2.34** → 使用 **Musl 版本**
#### 5. 檢查系統架構
```bash
# 檢查系統架構
uname -m
```
可能的輸出:
- `x86_64` → 使用 x86-64 版本
- `aarch64` → 使用 ARM 版本
### 📋 相容性檢查總結
執行以下腳本來自動檢查您的系統:
```bash
#!/bin/bash
echo "=== Amazon Q CLI 系統相容性檢查 ==="
echo
# 檢查作業系統
echo "作業系統資訊:"
cat /etc/os-release | grep -E "(NAME|VERSION)"
echo
# 檢查架構
ARCH=$(uname -m)
echo "系統架構: $ARCH"
# 檢查 glibc 版本
echo "glibc 版本檢查:"
GLIBC_VERSION=$(ldd --version | head -n1 | grep -o '[0-9]\+\.[0-9]\+')
echo "glibc 版本: $GLIBC_VERSION"
# 判斷需要的版本
if [ "$(echo "$GLIBC_VERSION >= 2.34" | bc -l 2>/dev/null)" = "1" ] || [ "$GLIBC_VERSION" \> "2.34" ] || [ "$GLIBC_VERSION" = "2.34" ]; then
VERSION_TYPE="標準版本"
FILE_SUFFIX=""
else
VERSION_TYPE="Musl 版本"
FILE_SUFFIX="-musl"
fi
echo
echo "=== 建議的 Amazon Q CLI 版本 ==="
echo "版本類型: $VERSION_TYPE"
if [ "$ARCH" = "x86_64" ]; then
echo "下載檔案: q-x86_64-linux${FILE_SUFFIX}.zip"
elif [ "$ARCH" = "aarch64" ]; then
echo "下載檔案: q-aarch64-linux${FILE_SUFFIX}.zip"
else
echo "警告: 不支援的架構 $ARCH"
fi
# 檢查必要工具
echo
echo "=== 必要工具檢查 ==="
for tool in curl unzip; do
if command -v $tool >/dev/null 2>&1; then
echo "✓ $tool: 已安裝"
else
echo "✗ $tool: 未安裝"
fi
done
```
將此腳本儲存為 `check-compatibility.sh` 並執行:
```bash
chmod +x check-compatibility.sh
./check-compatibility.sh
```
---
## Amazon Q CLI 安裝
> **👤 適用對象**:本章節適合 **Amazon Q CLI 用戶** 參考,提供完整的安裝和配置流程。
根據 AWS 官方文件,以下是正確的安裝步驟。
### 🔧 步驟 1:安裝必要工具
在開始下載和安裝 Amazon Q CLI 之前,需要確保系統已安裝必要的工具。
#### 檢查必要工具
```bash
# 檢查是否已安裝必要工具
for tool in curl unzip; do
if command -v $tool >/dev/null 2>&1; then
echo "✓ $tool: 已安裝"
else
echo "✗ $tool: 未安裝"
fi
done
```
#### 安裝解壓縮工具
根據您的作業系統選擇適當的安裝指令:
##### Amazon Linux 2023
```bash
# 更新套件列表
sudo dnf update -y
# 安裝 unzip 和 curl (通常已預安裝)
sudo dnf install -y unzip curl
# 驗證安裝
unzip -v
curl --version
```
##### Ubuntu / Debian
```bash
# 更新套件列表
sudo apt-get update
# 安裝 unzip 和 curl
sudo apt-get install -y unzip curl
# 驗證安裝
unzip -v
curl --version
```
##### CentOS / RHEL / Fedora
```bash
# CentOS/RHEL 7/8
sudo yum update -y
sudo yum install -y unzip curl
# 或者 Fedora/CentOS Stream/RHEL 9+
sudo dnf update -y
sudo dnf install -y unzip curl
# 驗證安裝
unzip -v
curl --version
```
##### Alpine Linux
```bash
# 更新套件索引
sudo apk update
# 安裝 unzip 和 curl
sudo apk add unzip curl
# 驗證安裝
unzip -v
curl --version
```
#### 在 Docker 容器中安裝
如果您在 Docker 容器中,可能需要以 root 權限安裝:
```bash
# 檢查當前用戶
whoami
# 如果是 root 用戶,直接安裝
apt-get update && apt-get install -y unzip curl
# 如果是一般用戶,使用 sudo
sudo apt-get update && sudo apt-get install -y unzip curl
```
### 📥 步驟 2:下載安裝檔案
根據前面的相容性檢查結果,選擇適當的下載指令:
#### 標準版本 (glibc 2.34+)
##### Linux x86-64
```bash
curl --proto '=https' --tlsv1.2 -sSf \
"https://desktop-release.q.us-east-1.amazonaws.com/latest/q-x86_64-linux.zip" \
-o "q.zip"
```
##### Linux ARM (aarch64)
```bash
curl --proto '=https' --tlsv1.2 -sSf \
"https://desktop-release.q.us-east-1.amazonaws.com/latest/q-aarch64-linux.zip" \
-o "q.zip"
```
#### Musl 版本 (適用於 glibc < 2.34)
##### Linux x86-64 搭配 musl
```bash
curl --proto '=https' --tlsv1.2 -sSf \
"https://desktop-release.q.us-east-1.amazonaws.com/latest/q-x86_64-linux-musl.zip" \
-o "q.zip"
```
##### Linux ARM (aarch64) 搭配 musl
```bash
curl --proto '=https' --tlsv1.2 -sSf \
"https://desktop-release.q.us-east-1.amazonaws.com/latest/q-aarch64-linux-musl.zip" \
-o "q.zip"
```
### 🔧 步驟 3:安裝 Amazon Q CLI
按照 AWS 官方文件的步驟進行安裝:
#### 1. 解壓縮安裝程式
```bash
# 解壓縮下載的檔案
unzip q.zip
```
您應該會看到類似以下的輸出:
```bash
Archive: q.zip
creating: q/
inflating: q/install.sh
inflating: q/q
inflating: q/LICENSE
inflating: q/README.md
```
#### 2. 執行安裝程式
```bash
# 執行官方安裝腳本
./q/install.sh
```
安裝程式會啟動互動式設定流程,以下是完整的安裝過程:
##### 步驟 1:Shell 配置選擇
```bash
coder@c0a265769ffc:~/workspace$ ./q/install.sh
? Do you want q to modify your shell config (you will have to manually do this otherwise)? ›
❯ Yes
No
```
**建議選擇 `Yes`**,讓安裝程式自動修改您的 shell 配置檔案。
##### 步驟 2:登入方式選擇
```bash
coder@c0a265769ffc:~/workspace$ ./q/install.sh
✔ Do you want q to modify your shell config (you will have to manually do this otherwise)? · Yes
? Select login method ›
Use for Free with Builder ID
❯ Use with Pro license
```
選擇適合您的登入方式:
- **Use for Free with Builder ID**: 免費版本,使用 AWS Builder ID
- **Use with Pro license**: 專業版本,使用企業 SSO 或 AWS 帳戶
##### 步驟 3:輸入 Start URL(如選擇 Pro license)
```bash
coder@c0a265769ffc:~/workspace$ ./q/install.sh
✔ Do you want q to modify your shell config (you will have to manually do this otherwise)? · Yes
✔ Select login method · Use with Pro license
? Enter Start URL › https://d-9911abacfd.awsapps.com/start
```
輸入您組織的 AWS SSO Start URL,格式通常為:
`https://your-org.awsapps.com/start`
**Enter Start URL ›** 提示時,請輸入您組織的完整 SSO URL。
##### 步驟 4:選擇 AWS 區域
```bash
coder@c0a265769ffc:~/workspace$ ./q/install.sh
✔ Do you want q to modify your shell config (you will have to manually do this otherwise)? · Yes
✔ Select login method · Use with Pro license
✔ Enter Start URL · https://d-9911abacfd.awsapps.com/start
? Enter Region › us-east-1
```
選擇適當的 AWS 區域,Amazon Q CLI 目前支援的區域:
- `us-east-1` (美國東部 - 維吉尼亞北部)
- `eu-central-1` (歐洲 - 法蘭克福)
**Enter Region ›** 提示時,請選擇上述支援的區域之一。
##### 步驟 5:瀏覽器認證
```bash
coder@c0a265769ffc:~/workspace$ ./q/install.sh
✔ Do you want q to modify your shell config (you will have to manually do this otherwise)? · Yes
✔ Select login method · Use with Pro license
✔ Enter Start URL · https://d-9911abacfd.awsapps.com/start
✔ Enter Region · us-east-1
Confirm the following code in the browser
Code: LSRC-XPGB
Open this URL: https://d-9911abacfd.awsapps.com/start/#/device?user_code=LSRC-XPGB
▰▰▰▰▰▰▱ Logging in...
```
**重要步驟**:
1. 複製顯示的 URL 到您本地電腦的瀏覽器
2. 在瀏覽器中輸入顯示的驗證碼(例如:`LSRC-XPGB`)
3. 完成 AWS SSO 登入流程
4. 等待認證完成
##### 步驟 6:安裝完成
```bash
coder@c0a265769ffc:~/workspace$ ./q/install.sh
✔ Do you want q to modify your shell config (you will have to manually do this otherwise)? · Yes
✔ Select login method · Use with Pro license
✔ Enter Start URL · https://d-9911abacfd.awsapps.com/start
✔ Enter Region · us-east-1
Confirm the following code in the browser
Code: LSRC-XPGB
Open this URL: https://d-9911abacfd.awsapps.com/start/#/device?user_code=LSRC-XPGB
Device authorized
Logged in successfully
```
當看到 `Device authorized` 和 `Logged in successfully` 訊息時,表示安裝和認證都已完成。
#### 3. 重新載入環境變數
由於安裝程式已自動修改 shell 配置,需要重新載入環境變數:
```bash
# 重新載入 shell 配置
source ~/.bashrc
# 或者重新開啟終端機
```
#### 4. 驗證安裝和認證
安裝完成後,執行 `q chat` 指令來驗證 Amazon Q CLI 是否成功安裝並可正常使用:
```bash
# 執行 q chat 指令驗證安裝
q chat
```
如果安裝和認證都成功,您將看到 Amazon Q CLI 的歡迎畫面:
```bash
coder@c0a265769ffc:~/workspace$ q chat
⢠⣶⣶⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⣿⣶⣦⡀⠀
⠀⠀⠀⣾⡿⢻⣿⡆⠀⠀⠀⢀⣄⡄⢀⣠⣤⣤⡀⢀⣠⣤⣤⡀⠀⠀⢀⣠⣤⣤⣤⣄⠀⠀⢀⣤⣤⣤⣤⣤⣤⡀⠀⠀⣀⣤⣤⣤⣀⠀⠀⠀⢠⣤⡀⣀⣤⣤⣄⡀⠀⠀⠀⠀⠀⠀⢠⣿⣿⠋⠀⠀⠀⠙⣿⣿⡆
⠀⠀⣼⣿⠇⠀⣿⣿⡄⠀⠀⢸⣿⣿⠛⠉⠻⣿⣿⠛⠉⠛⣿⣿⠀⠀⠘⠛⠉⠉⠻⣿⣧⠀⠈⠛⠛⠛⣻⣿⡿⠀⢀⣾⣿⠛⠉⠻⣿⣷⡀⠀⢸⣿⡟⠛⠉⢻⣿⣷⠀⠀⠀⠀⠀⠀⣼⣿⡏⠀⠀⠀⠀⠀⢸⣿⣿
⠀⢰⣿⣿⣤⣤⣼⣿⣷⠀⠀⢸⣿⣿⠀⠀⠀⣿⣿⠀⠀⠀⣿⣿⠀⠀⢀⣴⣶⣶⣶⣿⣿⠀⠀⠀⣠⣾⡿⠋⠀⠀⢸⣿⣿⠀⠀⠀⣿⣿⡇⠀⢸⣿⡇⠀⠀⢸⣿⣿⠀⠀⠀⠀⠀⠀⢹⣿⣇⠀⠀⠀⠀⠀⢸⣿⡿
⢀⣿⣿⠋⠉⠉⠉⢻⣿⣇⠀⢸⣿⣿⠀⠀⠀⣿⣿⠀⠀⠀⣿⣿⠀⠀⣿⣿⡀⠀⣠⣿⣿⠀⢀⣴⣿⣋⣀⣀⣀⡀⠘⣿⣿⣄⣀⣠⣿⣿⠃⠀⢸⣿⡇⠀⠀⢸⣿⣿⠀⠀⠀⠀⠀⠀⠈⢿⣿⣦⣀⣀⣀⣴⣿⡿⠃
⠚⠛⠋⠀⠀⠀⠀⠘⠛⠛⠀⠘⠛⠛⠀⠀⠀⠛⠛⠀⠀⠀⠛⠛⠀⠀⠙⠻⠿⠟⠋⠛⠛⠀⠘⠛⠛⠛⠛⠛⠛⠃⠀⠈⠛⠿⠿⠿⠛⠁⠀⠀⠘⠛⠃⠀⠀⠘⠛⠛⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⠿⢿⣿⣿⣋⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠿⢿⡧
╭─────────────────────────────── Did you know? ────────────────────────────────╮
│ │
│ You can enable custom tools with MCP servers. Learn more with │
│ /help │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
/help all commands • ctrl + j new lines • ctrl + s fuzzy search
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🤖 You are chatting with claude-4-sonnet
>
```
當您看到上述的 Amazon Q 標誌和互動式聊天介面時,表示:
- ✅ **Amazon Q CLI 安裝成功**
- ✅ **認證配置正確**
- ✅ **可以正常使用 Amazon Q 服務**
- ✅ **準備開始與 AI 助手對話**
### 📝 驗證成功指標
如果您看到以下元素,表示安裝驗證成功:
1. **ASCII 藝術標誌**: Amazon Q 的視覺標誌
2. **提示訊息**: "Did you know?" 資訊框
3. **快捷鍵說明**: `/help all commands • ctrl + j new lines • ctrl + s fuzzy search`
4. **模型資訊**: `🤖 You are chatting with claude-4-sonnet`
5. **輸入提示**: `>` 符號等待您的輸入
### 🎯 開始使用
現在您可以開始與 Amazon Q 對話:
```bash
> 你好,Amazon Q!請介紹一下你的功能
> 如何在 Python 中讀取 CSV 檔案?
> 請解釋什麼是 Docker 容器
```
要退出聊天模式,可以使用 `Ctrl + C` 或輸入 `/quit`。
### 📝 安裝注意事項
#### 如果選擇 "Use for Free with Builder ID"
如果您在步驟2選擇了免費版本,安裝流程會略有不同:
```bash
coder@c0a265769ffc:~/workspace$ ./q/install.sh
✔ Do you want q to modify your shell config (you will have to manually do this otherwise)? · Yes
✔ Select login method · Use for Free with Builder ID
Confirm the following code in the browser
Code: ABCD-EFGH
Open this URL: https://signin.aws.amazon.com/oauth?response_type=device_code&client_id=...
▰▰▰▰▰▰▱ Logging in...
Device authorized
Logged in successfully
```
#### 瀏覽器認證步驟詳解
由於您在容器中運行 Amazon Q CLI,瀏覽器認證需要特別注意:
1. **複製 URL**: 從終端機複製完整的認證 URL
2. **本地瀏覽器**: 在您本地電腦(不是容器內)的瀏覽器中開啟 URL
3. **輸入驗證碼**: 在瀏覽器頁面中輸入終端機顯示的驗證碼
4. **完成登入**: 根據選擇的登入方式完成 AWS SSO 或 Builder ID 登入
5. **等待確認**: 回到終端機等待 "Device authorized" 訊息
#### 常見問題處理
##### 問題:驗證碼過期
```bash
Error: The device code has expired. Please try again.
```
**解決方案**: 重新執行安裝程式,並在驗證碼過期前完成瀏覽器認證。
##### 問題:無法開啟瀏覽器
```bash
Error: Unable to open browser automatically
```
**解決方案**: 手動複製 URL 到瀏覽器,這在容器環境中是正常的。
##### 問題:認證失敗
```bash
Error: Authentication failed
```
**解決方案**:
1. 檢查網路連線
2. 確認 Start URL 正確
3. 驗證 AWS SSO 權限
4. 重新執行安裝程式
---
## 故障排除
### 🔧 常見問題與解決方案
#### 1. 安裝問題
##### 問題:下載失敗
```bash
# 錯誤訊息
curl: (7) Failed to connect to desktop-release.q.us-east-1.amazonaws.com port 443: Connection refused
```
**解決方案**:
```bash
# 檢查網路連線
ping desktop-release.q.us-east-1.amazonaws.com
# 檢查防火牆設定
sudo iptables -L
# 使用替代方式下載
wget "https://desktop-release.q.us-east-1.amazonaws.com/latest/q-x86_64-linux.zip"
```
##### 問題:glibc 版本不相容
```bash
# 錯誤訊息
./q: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found
```
**解決方案**:
```bash
# 重新檢查 glibc 版本
ldd --version
# 如果版本 < 2.34,使用 Musl 版本
curl --proto '=https' --tlsv1.2 -sSf \
"https://desktop-release.q.us-east-1.amazonaws.com/latest/q-x86_64-linux-musl.zip" \
-o "q.zip"
# 重新安裝
unzip q.zip
./q/install.sh
```
##### 問題:權限不足
```bash
# 錯誤訊息
Permission denied: ~/.local/bin/q
```
**解決方案**:
```bash
# 檢查目錄權限
ls -la ~/.local/bin/
# 修復權限
chmod +x ~/.local/bin/q
# 或重新安裝到用戶目錄
mkdir -p ~/.local/bin
cp q/q ~/.local/bin/
chmod +x ~/.local/bin/q
```
#### 2. 認證問題
##### 問題:需要重新登入 Amazon Q CLI
當您遇到認證相關問題時,可以使用以下步驟重新登入:
**步驟 1:登出當前會話**
```bash
# 登出 Amazon Q CLI
q logout
```
輸出範例:
```bash
coder@c0a265769ffc:~/workspace$ q logout
You are now logged out
Run q login to log back in to Amazon Q
```
**步驟 2:重新登入流程**
執行登入指令並選擇登入方式:
```bash
# 重新登入 Amazon Q CLI
q login
```
**步驟 2-1:Shell 配置選擇**
```bash
coder@c0a265769ffc:~/workspace$ q login
✔ Do you want q to modify your shell config (you will have to manually do this otherwise)? · Yes
? Select login method ›
Use for Free with Builder ID
❯ Use with Pro license
```
**步驟 2-2:輸入 Start URL**
```bash
coder@c0a265769ffc:~/workspace$ q login
✔ Do you want q to modify your shell config (you will have to manually do this otherwise)? · Yes
✔ Select login method · Use with Pro license
? Enter Start URL › https://d-9099abacfd.awsapps.com/start
```
**步驟 2-3:選擇 AWS 區域**
```bash
coder@c0a265769ffc:~/workspace$ q login
✔ Do you want q to modify your shell config (you will have to manually do this otherwise)? · Yes
✔ Select login method · Use with Pro license
✔ Enter Start URL · https://d-9099abacfd.awsapps.com/start
? Enter Region › us-east-1
```
**步驟 2-4:瀏覽器認證**
```bash
coder@c0a265769ffc:~/workspace$ q login
✔ Do you want q to modify your shell config (you will have to manually do this otherwise)? · Yes
✔ Select login method · Use with Pro license
✔ Enter Start URL · https://d-9099abacfd.awsapps.com/start
✔ Enter Region · us-east-1
Confirm the following code in the browser
Code: LSRC-XPGB
Open this URL: https://d-9099abacfd.awsapps.com/start/#/device?user_code=LSRC-XPGB
▰▰▰▰▰▰▱ Logging in...
```
**步驟 2-5:完成認證**
```bash
coder@c0a265769ffc:~/workspace$ q login
✔ Do you want q to modify your shell config (you will have to manually do this otherwise)? · Yes
✔ Select login method · Use with Pro license
✔ Enter Start URL · https://d-9099abacfd.awsapps.com/start
✔ Enter Region · us-east-1
Confirm the following code in the browser
Code: LSRC-XPGB
Open this URL: https://d-9099abacfd.awsapps.com/start/#/device?user_code=LSRC-XPGB
Device authorized
Logged in successfully
```
**重要提醒**:
- 在步驟 2-4 中,需要在本地電腦的瀏覽器中開啟顯示的 URL
- 輸入顯示的驗證碼(例如:LSRC-XPGB)
- 完成 AWS SSO 登入流程
- 等待 "Device authorized" 和 "Logged in successfully" 訊息
#### 3. 功能問題
##### 問題:指令無法執行
```bash
# 錯誤訊息
q: command not found
```
**解決方案**:
```bash
# 檢查 PATH 環境變數
echo $PATH
# 檢查安裝位置
ls -la ~/.local/bin/q
# 重新設定 PATH
export PATH="/home/coder/.local/bin:$PATH"
echo 'export PATH="/home/coder/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
```
### 🔍 除錯工具
#### 1. 詳細日誌
```bash
# 啟用詳細日誌
export Q_CLI_DEBUG=true
q chat "test message"
# 查看日誌檔案
tail -f ~/.aws/q/logs/q-cli.log
# 設定日誌等級
export Q_CLI_LOG_LEVEL=DEBUG
```
#### 2. 系統診斷腳本
```bash
#!/bin/bash
# q-cli-diagnostic.sh - Amazon Q CLI 診斷腳本
echo "=== Amazon Q CLI 診斷報告 ==="
echo "生成時間: $(date)"
echo
echo "=== 系統資訊 ==="
echo "作業系統: $(cat /etc/os-release | grep PRETTY_NAME | cut -d'"' -f2)"
echo "架構: $(uname -m)"
echo "glibc 版本: $(ldd --version | head -n1)"
echo
echo "=== Amazon Q CLI 狀態 ==="
if command -v q >/dev/null 2>&1; then
echo "✓ Amazon Q CLI: 已安裝"
echo "版本: $(q --version)"
echo "位置: $(which q)"
else
echo "✗ Amazon Q CLI: 未安裝或不在 PATH 中"
fi
echo
echo "=== 環境變數 ==="
echo "PATH: $PATH"
env | grep -E "(AWS|Q_CLI)" || echo "無相關環境變數"
echo
echo "=== 認證狀態 ==="
echo "請使用 'q login' 來檢查和設定認證狀態"
echo
echo "=== 網路連線測試 ==="
if ping -c 1 desktop-release.q.us-east-1.amazonaws.com >/dev/null 2>&1; then
echo "✓ 可以連接到 Amazon Q 服務"
else
echo "✗ 無法連接到 Amazon Q 服務"
fi
echo
echo "=== 檔案權限 ==="
if [ -f ~/.local/bin/q ]; then
ls -la ~/.local/bin/q
else
echo "Amazon Q CLI 執行檔不存在"
fi
if [ -d ~/.aws ]; then
echo "AWS 配置目錄權限:"
ls -la ~/.aws/
else
echo "AWS 配置目錄不存在"
fi
```
將此腳本儲存為 `q-cli-diagnostic.sh` 並執行:
```bash
chmod +x q-cli-diagnostic.sh
./q-cli-diagnostic.sh
```
---
## 最佳實務
### 🎯 使用建議
#### 1. 有效的提問技巧
##### 具體明確的問題
```bash
# ❌ 不好的問題
q chat "我的程式碼有問題"
# ✅ 好的問題
q chat "這個 Python 函數在處理大型列表時記憶體使用過高,如何優化?" --context slow_function.py
```
##### 提供充足的上下文
```bash
# ❌ 缺乏上下文
q chat "如何修復這個錯誤?"
# ✅ 提供完整上下文
q chat "在執行 Django 遷移時出現 'relation already exists' 錯誤,如何解決?" --context error.log
```
#### 2. 定期維護
```bash
# 檢查更新
q --version
# 清理快取
rm -rf ~/.aws/q/cache/
# 重新登入以更新認證
q logout && q login
```
#### 3. 安全性最佳實務
```bash
# 定期重新登入以更新憑證
q logout && q login
# 避免在程式碼中硬編碼憑證
q chat "如何安全地管理應用程式中的 API 金鑰?"
# 使用最小權限原則
# 在 IAM 中只授予必要的 Amazon Q 權限
```
### 📈 效率提升技巧
#### 1. 自動化工作流程
建立自動化腳本:
```bash
#!/bin/bash
# q-workflow.sh - 自動化程式碼審查工作流程
echo "開始自動化程式碼審查..."
# 審查所有 Python 檔案
for file in *.py; do
if [ -f "$file" ]; then
echo "審查 $file..."
q review "$file" > "review_$file.md"
fi
done
# 生成改進建議
q chat "基於這些審查報告,提供整體改進建議" --context review_*.md > improvement_suggestions.md
echo "工作流程完成!檢查 improvement_suggestions.md"
```
#### 2. VS Code Server 整合最佳實務
在 VS Code Server 中建立 `.vscode/settings.json`:
```json
{
"terminal.integrated.defaultProfile.linux": "bash",
"terminal.integrated.profiles.linux": {
"bash": {
"path": "/bin/bash",
"args": ["-l"],
"env": {
"Q_CLI_AUTO_PROMPT": "true"
}
}
},
"terminal.integrated.cwd": "${workspaceFolder}"
}
```
建立 `.vscode/tasks.json`:
```json
{
"version": "2.0.0",
"tasks": [
{
"label": "Q Review Current File",
"type": "shell",
"command": "q",
"args": ["review", "${file}"],
"group": "build",
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared"
}
},
{
"label": "Q Explain Current File",
"type": "shell",
"command": "q",
"args": ["explain", "${file}"],
"group": "build"
}
]
}
```
---
## 總結
### 🎯 本指導手冊總結
本指導手冊基於 AWS 官方文件,提供了在 Docker 容器化 VS Code Server 環境中安裝和使用 Amazon Q CLI 的完整指南:
#### ✅ 核心成就
- **正確的版本選擇**: 根據 glibc 版本選擇標準版本或 Musl 版本
- **官方安裝流程**: 遵循 AWS 官方文件的安裝步驟
- **完整的配置指南**: 涵蓋多種認證方式的詳細設定
- **實用的整合技巧**: 在 Web 版 VS Code Server 中的最佳使用方式
#### ✅ 關鍵特色
- **系統相容性檢查**: 自動檢測系統並選擇正確版本
- **詳細的故障排除**: 涵蓋常見問題和解決方案
- **最佳實務指導**: 提升開發效率的實用技巧
### 🚀 使用優勢
#### 在 Web 版 VS Code Server 中使用 Amazon Q CLI 的優勢:
- **隨時隨地存取**: 透過瀏覽器即可使用完整的 AI 助手功能
- **統一開發環境**: 所有團隊成員使用相同的工具和配置
- **容器化隔離**: 每個用戶獨立的開發環境,避免衝突
- **雲端整合**: 與 AWS 服務的無縫整合
### 💡 持續改進建議
1. **定期更新**: 保持 Amazon Q CLI 的最新版本
2. **監控使用**: 定期檢查認證狀態和使用情況
3. **學習新功能**: 關注 Amazon Q CLI 的新功能和改進
4. **分享經驗**: 與團隊分享使用技巧和最佳實務
### 📚 參考資源
- [AWS 官方文件 - Amazon Q CLI 安裝](https://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/command-line-installing-ssh-setup-autocomplete.html)
- [Amazon Q Developer 使用者指南](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/)
- [AWS CLI 配置指南](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html)
---
*最後更新:2025年8月3日*
*作者:James Chan*
*適用於:Amazon Linux 2023, Docker 24.0+, VS Code Server 4.21.1, Amazon Q CLI 最新版*