95 lines
2.4 KiB
Bash
Executable File
95 lines
2.4 KiB
Bash
Executable File
#!/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" |