Spaces:
Sleeping
Sleeping
Update start.sh
Browse files
start.sh
CHANGED
|
@@ -15,12 +15,34 @@ else
|
|
| 15 |
cd moltbot-memory && git pull && cd ..
|
| 16 |
fi
|
| 17 |
|
| 18 |
-
# --- 3. 记忆植入 ---
|
| 19 |
APP_CONFIG_DIR="$HOME/.clawdbot"
|
| 20 |
if [ -d "$APP_CONFIG_DIR" ] && [ ! -L "$APP_CONFIG_DIR" ]; then rm -rf "$APP_CONFIG_DIR"; fi
|
| 21 |
if [ ! -L "$APP_CONFIG_DIR" ]; then ln -s "$(pwd)/moltbot-memory" "$APP_CONFIG_DIR"; fi
|
| 22 |
|
| 23 |
-
# --- 4.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 24 |
sync_memory() {
|
| 25 |
while true; do
|
| 26 |
sleep 300
|
|
@@ -37,8 +59,7 @@ sync_memory() {
|
|
| 37 |
}
|
| 38 |
sync_memory &
|
| 39 |
|
| 40 |
-
# ---
|
| 41 |
-
|
| 42 |
# 设置认证密码
|
| 43 |
if [ -z "$GATEWAY_TOKEN" ]; then
|
| 44 |
export CLAWDBOT_GATEWAY_TOKEN=$(cat /proc/sys/kernel/random/uuid)
|
|
@@ -48,14 +69,9 @@ else
|
|
| 48 |
fi
|
| 49 |
|
| 50 |
echo "🚀 Starting Moltbot on internal port 3000..."
|
| 51 |
-
#
|
| 52 |
-
# & 符号让它在后台运行,这样脚本可以继续往下走
|
| 53 |
npm exec -- moltbot gateway --port 3000 --allow-unconfigured &
|
| 54 |
|
| 55 |
echo "🌉 Starting Socat Bridge (0.0.0.0:7860 -> 127.0.0.1:3000)..."
|
| 56 |
-
#
|
| 57 |
-
# TCP-LISTEN:7860 : 监听外部请求
|
| 58 |
-
# bind=0.0.0.0 : 允许全网访问 (解决无限加载的关键!)
|
| 59 |
-
# fork : 允许多人连接
|
| 60 |
-
# TCP:127.0.0.1:3000 : 转发给内部的 Moltbot
|
| 61 |
exec socat TCP-LISTEN:7860,fork,bind=0.0.0.0 TCP:127.0.0.1:3000
|
|
|
|
| 15 |
cd moltbot-memory && git pull && cd ..
|
| 16 |
fi
|
| 17 |
|
| 18 |
+
# --- 3. 记忆植入 (软链接) ---
|
| 19 |
APP_CONFIG_DIR="$HOME/.clawdbot"
|
| 20 |
if [ -d "$APP_CONFIG_DIR" ] && [ ! -L "$APP_CONFIG_DIR" ]; then rm -rf "$APP_CONFIG_DIR"; fi
|
| 21 |
if [ ! -L "$APP_CONFIG_DIR" ]; then ln -s "$(pwd)/moltbot-memory" "$APP_CONFIG_DIR"; fi
|
| 22 |
|
| 23 |
+
# --- 4. 🧠 核心修复:强制注入 Secrets 配置 ---
|
| 24 |
+
# Moltbot 可能忽略了无前缀的变量,我们手动用 config set 命令强制写入配置
|
| 25 |
+
echo "⚙️ Forcing configuration from Secrets..."
|
| 26 |
+
|
| 27 |
+
# (A) 强制设置模型 (如果 Secrets 里配了 GATEWAY_AGENT_MODEL)
|
| 28 |
+
if [ -n "$GATEWAY_AGENT_MODEL" ]; then
|
| 29 |
+
echo "Updating Agent Model to: $GATEWAY_AGENT_MODEL"
|
| 30 |
+
npm exec -- moltbot config set gateway.agent_model "$GATEWAY_AGENT_MODEL"
|
| 31 |
+
fi
|
| 32 |
+
|
| 33 |
+
# (B) 强制设置 API Key 和 Base URL (OpenAI 兼容)
|
| 34 |
+
# 为了确保生效,我们同时导出带 CLAWDBOT_ 前缀的变量和标准变量
|
| 35 |
+
if [ -n "$OPENAI_API_KEY" ]; then
|
| 36 |
+
export OPENAI_API_KEY="$OPENAI_API_KEY"
|
| 37 |
+
export CLAWDBOT_OPENAI_API_KEY="$OPENAI_API_KEY"
|
| 38 |
+
fi
|
| 39 |
+
|
| 40 |
+
if [ -n "$OPENAI_BASE_URL" ]; then
|
| 41 |
+
export OPENAI_BASE_URL="$OPENAI_BASE_URL"
|
| 42 |
+
export CLAWDBOT_OPENAI_BASE_URL="$OPENAI_BASE_URL"
|
| 43 |
+
fi
|
| 44 |
+
|
| 45 |
+
# --- 5. 后台自动保存 ---
|
| 46 |
sync_memory() {
|
| 47 |
while true; do
|
| 48 |
sleep 300
|
|
|
|
| 59 |
}
|
| 60 |
sync_memory &
|
| 61 |
|
| 62 |
+
# --- 6. 启动服务 (端口转发模式) ---
|
|
|
|
| 63 |
# 设置认证密码
|
| 64 |
if [ -z "$GATEWAY_TOKEN" ]; then
|
| 65 |
export CLAWDBOT_GATEWAY_TOKEN=$(cat /proc/sys/kernel/random/uuid)
|
|
|
|
| 69 |
fi
|
| 70 |
|
| 71 |
echo "🚀 Starting Moltbot on internal port 3000..."
|
| 72 |
+
# 启动 Moltbot
|
|
|
|
| 73 |
npm exec -- moltbot gateway --port 3000 --allow-unconfigured &
|
| 74 |
|
| 75 |
echo "🌉 Starting Socat Bridge (0.0.0.0:7860 -> 127.0.0.1:3000)..."
|
| 76 |
+
# 启动端口转发
|
|
|
|
|
|
|
|
|
|
|
|
|
| 77 |
exec socat TCP-LISTEN:7860,fork,bind=0.0.0.0 TCP:127.0.0.1:3000
|