添加Trae IDE服务器管理脚本
- diagnose_trae.sh: Trae IDE 诊断和问题排查脚本 - reset_trae.sh: Trae IDE 重置脚本 - start_trae_server.sh: Trae IDE 服务器启动脚本 这些脚本用于管理和维护Trae IDE远程开发环境。
This commit is contained in:
parent
09de1f782a
commit
5fd8f0c818
|
|
@ -0,0 +1,112 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Trae IDE 连接问题诊断和修复脚本
|
||||||
|
|
||||||
|
echo "=== Trae IDE 连接诊断工具 ==="
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 当前服务器信息
|
||||||
|
TRAE_VERSION="8fe6088bdb0697eec2662377a7abd7f9791493c6"
|
||||||
|
SERVER_HOST="127.0.0.1"
|
||||||
|
SERVER_PORT="45697"
|
||||||
|
TOKEN="b255e0cf-4fab-489d-9175-412a965ea751"
|
||||||
|
WORKSPACE="/home/ben/github/liurenchaxin"
|
||||||
|
|
||||||
|
echo "📋 当前服务器信息:"
|
||||||
|
echo " 版本: $TRAE_VERSION"
|
||||||
|
echo " 地址: $SERVER_HOST:$SERVER_PORT"
|
||||||
|
echo " Token: $TOKEN"
|
||||||
|
echo " 工作区: $WORKSPACE"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 1. 检查服务器状态
|
||||||
|
echo "🔍 1. 检查服务器进程状态..."
|
||||||
|
if pgrep -f "stable-$TRAE_VERSION" > /dev/null; then
|
||||||
|
echo " ✅ Trae 服务器正在运行"
|
||||||
|
ps aux | grep "stable-$TRAE_VERSION" | grep -v grep
|
||||||
|
else
|
||||||
|
echo " ❌ Trae 服务器未运行"
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 2. 检查端口监听
|
||||||
|
echo "🔍 2. 检查端口监听状态..."
|
||||||
|
if ss -tln | grep ":$SERVER_PORT" > /dev/null; then
|
||||||
|
echo " ✅ 端口 $SERVER_PORT 正在监听"
|
||||||
|
else
|
||||||
|
echo " ❌ 端口 $SERVER_PORT 未监听"
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 3. 测试 HTTP 连接
|
||||||
|
echo "🔍 3. 测试 HTTP 连接..."
|
||||||
|
if curl -s -I "http://$SERVER_HOST:$SERVER_PORT" | grep -q "405\|200"; then
|
||||||
|
echo " ✅ HTTP 连接正常"
|
||||||
|
else
|
||||||
|
echo " ❌ HTTP 连接失败"
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 4. 检查 SSH 服务
|
||||||
|
echo "🔍 4. 检查 SSH 服务状态..."
|
||||||
|
if systemctl is-active ssh > /dev/null 2>&1; then
|
||||||
|
echo " ✅ SSH 服务运行正常"
|
||||||
|
echo " SSH 端口: $(ss -tln | grep ':22 ' | head -1)"
|
||||||
|
else
|
||||||
|
echo " ❌ SSH 服务未运行"
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 5. 检查网络可达性
|
||||||
|
echo "🔍 5. 检查网络配置..."
|
||||||
|
echo " 本机 IP 地址:"
|
||||||
|
ip addr show | grep "inet " | grep -v "127.0.0.1" | head -3
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 6. 检查防火墙
|
||||||
|
echo "🔍 6. 检查防火墙状态..."
|
||||||
|
if command -v ufw > /dev/null; then
|
||||||
|
echo " UFW 状态: $(ufw status | head -1)"
|
||||||
|
elif command -v firewall-cmd > /dev/null; then
|
||||||
|
echo " Firewalld 状态: $(systemctl is-active firewalld)"
|
||||||
|
else
|
||||||
|
echo " 未检测到常见防火墙"
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 解决方案建议
|
||||||
|
echo "💡 解决方案建议:"
|
||||||
|
echo ""
|
||||||
|
echo "🔧 方案1 - 直接浏览器访问:"
|
||||||
|
echo " 打开浏览器访问: http://$SERVER_HOST:$SERVER_PORT/?folder=$WORKSPACE"
|
||||||
|
echo ""
|
||||||
|
echo "🔧 方案2 - Trae 客户端连接:"
|
||||||
|
echo " 1. 在 Trae 客户端中选择 'Connect to Server'"
|
||||||
|
echo " 2. 输入服务器地址: $SERVER_HOST:$SERVER_PORT"
|
||||||
|
echo " 3. 输入连接 Token: $TOKEN"
|
||||||
|
echo ""
|
||||||
|
echo "🔧 方案3 - SSH 连接方式:"
|
||||||
|
echo " 1. 主机: $(hostname -I | awk '{print $1}')"
|
||||||
|
echo " 2. 用户: ben"
|
||||||
|
echo " 3. 确保 SSH 密钥已配置"
|
||||||
|
echo ""
|
||||||
|
echo "🔧 方案4 - 重置和重启:"
|
||||||
|
if [ -f "/home/ben/github/liurenchaxin/reset_trae.sh" ]; then
|
||||||
|
echo " 运行: ./reset_trae.sh"
|
||||||
|
else
|
||||||
|
echo " 清理缓存: rm -rf /home/ben/.trae-server/data/User/workspaceStorage"
|
||||||
|
echo " 重启服务器: pkill -f trae && ./start_trae_server.sh"
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 常见问题排查
|
||||||
|
echo "❓ 如果仍然连接失败,请检查:"
|
||||||
|
echo " 1. Trae 客户端版本是否与服务器匹配"
|
||||||
|
echo " 2. 是否有其他安全软件阻止连接"
|
||||||
|
echo " 3. 网络是否允许访问该端口"
|
||||||
|
echo " 4. 是否需要重启 Trae 客户端应用"
|
||||||
|
echo " 5. 检查客户端错误日志"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
echo "📝 当前连接 URL:"
|
||||||
|
echo " http://$SERVER_HOST:$SERVER_PORT/?folder=$WORKSPACE"
|
||||||
|
echo " Token: $TOKEN"
|
||||||
|
|
@ -0,0 +1,76 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Trae IDE 重置脚本 - 清理缓存和重启服务
|
||||||
|
|
||||||
|
echo "🔄 Trae IDE 重置工具"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 停止所有 Trae 进程
|
||||||
|
echo "🛑 停止 Trae 进程..."
|
||||||
|
pkill -f trae || true
|
||||||
|
pkill -f "stable-8fe6088bdb0697eec2662377a7abd7f9791493c6" || true
|
||||||
|
sleep 3
|
||||||
|
|
||||||
|
# 清理缓存
|
||||||
|
echo "🧹 清理缓存和临时文件..."
|
||||||
|
rm -rf /home/ben/.trae-server/data/User/workspaceStorage/ || true
|
||||||
|
rm -rf /home/ben/.trae-server/data/logs/ || true
|
||||||
|
rm -rf /home/ben/.trae-server/extensions/ms-vscode.* || true
|
||||||
|
|
||||||
|
# 清理损坏的扩展
|
||||||
|
echo "🔧 清理损坏的扩展..."
|
||||||
|
find /home/ben/.trae-server/extensions/ -name "*claude-dev*" -type d -exec rm -rf {} + 2>/dev/null || true
|
||||||
|
|
||||||
|
# 重新生成 token
|
||||||
|
echo "🔑 生成新的连接 token..."
|
||||||
|
NEW_TOKEN=$(uuidgen)
|
||||||
|
echo "$NEW_TOKEN" > /home/ben/.trae-server/.stable-8fe6088bdb0697eec2662377a7abd7f9791493c6.token
|
||||||
|
chmod 600 /home/ben/.trae-server/.stable-8fe6088bdb0697eec2662377a7abd7f9791493c6.token
|
||||||
|
|
||||||
|
# 重启服务器
|
||||||
|
echo "🚀 重启 Trae 服务器..."
|
||||||
|
cd /home/ben/.trae-server/bin/stable-8fe6088bdb0697eec2662377a7abd7f9791493c6
|
||||||
|
|
||||||
|
nohup ./node ./index_trae.js \
|
||||||
|
--start-server \
|
||||||
|
--host=127.0.0.1 \
|
||||||
|
--port=0 \
|
||||||
|
--connection-token-file /home/ben/.trae-server/.stable-8fe6088bdb0697eec2662377a7abd7f9791493c6.token \
|
||||||
|
--default-folder /home/ben/github/liurenchaxin \
|
||||||
|
--server-data-dir /home/ben/.trae-server \
|
||||||
|
--telemetry-level off \
|
||||||
|
--enable-remote-auto-shutdown \
|
||||||
|
--accept-server-license-terms \
|
||||||
|
> /tmp/trae-reset.log 2>&1 &
|
||||||
|
|
||||||
|
# 等待启动
|
||||||
|
echo "⏳ 等待服务器启动..."
|
||||||
|
sleep 5
|
||||||
|
|
||||||
|
# 查找端口
|
||||||
|
SERVER_PID=$(pgrep -f "out/server-main.js.*--port")
|
||||||
|
if [ -n "$SERVER_PID" ]; then
|
||||||
|
PORT=$(ss -tlnp | grep "node.*pid=$SERVER_PID" | grep -o ':4[0-9]*' | head -1 | cut -d':' -f2)
|
||||||
|
|
||||||
|
if [ -n "$PORT" ]; then
|
||||||
|
echo "✅ Trae 服务器重启成功!"
|
||||||
|
echo ""
|
||||||
|
echo "📝 新的连接信息:"
|
||||||
|
echo " 地址: 127.0.0.1:$PORT"
|
||||||
|
echo " Token: $NEW_TOKEN"
|
||||||
|
echo " 浏览器: http://127.0.0.1:$PORT/?folder=/home/ben/github/liurenchaxin"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 测试连接
|
||||||
|
if curl -s -I "http://127.0.0.1:$PORT" | grep -q "405\|200"; then
|
||||||
|
echo "✅ 服务器连接测试通过"
|
||||||
|
else
|
||||||
|
echo "⚠️ 服务器连接测试失败"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "❌ 无法确定服务器端口"
|
||||||
|
tail -10 /tmp/trae-reset.log
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "❌ 服务器启动失败"
|
||||||
|
tail -10 /tmp/trae-reset.log
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,95 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Trae Server 启动脚本
|
||||||
|
# 解决版本匹配和连接问题
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
TRAE_VERSION="8fe6088bdb0697eec2662377a7abd7f9791493c6"
|
||||||
|
TRAE_DIR="/home/ben/.trae-server"
|
||||||
|
TRAE_BIN_DIR="$TRAE_DIR/bin/stable-$TRAE_VERSION"
|
||||||
|
WORKSPACE_DIR="/home/ben/github/liurenchaxin"
|
||||||
|
TOKEN_FILE="$TRAE_DIR/.stable-$TRAE_VERSION.token"
|
||||||
|
LOG_FILE="/tmp/trae-server.log"
|
||||||
|
|
||||||
|
echo "🚀 启动 Trae 服务器..."
|
||||||
|
|
||||||
|
# 清理旧进程
|
||||||
|
echo "🧹 清理旧进程..."
|
||||||
|
pkill -f "trae" || true
|
||||||
|
pkill -f "stable-$TRAE_VERSION" || true
|
||||||
|
sleep 2
|
||||||
|
|
||||||
|
# 确保目录存在
|
||||||
|
if [ ! -d "$TRAE_BIN_DIR" ]; then
|
||||||
|
echo "❌ 错误: Trae 二进制目录不存在: $TRAE_BIN_DIR"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 生成新的 token
|
||||||
|
NEW_TOKEN=$(uuidgen)
|
||||||
|
echo "$NEW_TOKEN" > "$TOKEN_FILE"
|
||||||
|
chmod 600 "$TOKEN_FILE"
|
||||||
|
echo "🔑 生成新的连接 token: $NEW_TOKEN"
|
||||||
|
|
||||||
|
# 启动服务器
|
||||||
|
echo "🌟 启动 Trae 服务器..."
|
||||||
|
cd "$TRAE_BIN_DIR"
|
||||||
|
|
||||||
|
nohup ./node ./index_trae.js \
|
||||||
|
--start-server \
|
||||||
|
--host=127.0.0.1 \
|
||||||
|
--port=0 \
|
||||||
|
--connection-token-file "$TOKEN_FILE" \
|
||||||
|
--default-folder "$WORKSPACE_DIR" \
|
||||||
|
--server-data-dir "$TRAE_DIR" \
|
||||||
|
--telemetry-level off \
|
||||||
|
--enable-remote-auto-shutdown \
|
||||||
|
--accept-server-license-terms \
|
||||||
|
> "$LOG_FILE" 2>&1 &
|
||||||
|
|
||||||
|
SERVER_PID=$!
|
||||||
|
echo "📋 服务器进程 PID: $SERVER_PID"
|
||||||
|
|
||||||
|
# 等待服务器启动
|
||||||
|
echo "⏳ 等待服务器启动..."
|
||||||
|
sleep 5
|
||||||
|
|
||||||
|
# 查找实际端口
|
||||||
|
PORT=$(ss -tlnp | grep "node.*pid=$SERVER_PID" | grep -o ':33[0-9]*' | head -1 | cut -d':' -f2)
|
||||||
|
if [ -z "$PORT" ]; then
|
||||||
|
# 从日志中查找端口
|
||||||
|
PORT=$(grep -o "port [0-9]*" "$LOG_FILE" | tail -1 | cut -d' ' -f2)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$PORT" ]; then
|
||||||
|
echo "❌ 无法确定服务器端口"
|
||||||
|
tail -20 "$LOG_FILE"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "✅ Trae 服务器启动成功!"
|
||||||
|
echo ""
|
||||||
|
echo "📝 连接信息:"
|
||||||
|
echo " 服务器地址: 127.0.0.1:$PORT"
|
||||||
|
echo " 连接 Token: $NEW_TOKEN"
|
||||||
|
echo " 工作目录: $WORKSPACE_DIR"
|
||||||
|
echo " 日志文件: $LOG_FILE"
|
||||||
|
echo ""
|
||||||
|
echo "🌐 浏览器访问: http://127.0.0.1:$PORT/?folder=$WORKSPACE_DIR"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 测试连接
|
||||||
|
echo "🔍 测试服务器连接..."
|
||||||
|
if curl -s -I "http://127.0.0.1:$PORT" | grep -q "405\|200"; then
|
||||||
|
echo "✅ 服务器响应正常"
|
||||||
|
else
|
||||||
|
echo "⚠️ 服务器连接测试失败"
|
||||||
|
tail -10 "$LOG_FILE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "💡 如果 Trae 客户端仍然连接失败,请尝试:"
|
||||||
|
echo " 1. 重启 Trae 客户端应用"
|
||||||
|
echo " 2. 清除客户端缓存"
|
||||||
|
echo " 3. 使用浏览器直接访问上面的URL"
|
||||||
Loading…
Reference in New Issue