Update start-openclaw.sh
Browse files- start-openclaw.sh +45 -3
start-openclaw.sh
CHANGED
|
@@ -246,7 +246,46 @@ install_clawhub() {
|
|
| 246 |
fi
|
| 247 |
}
|
| 248 |
|
| 249 |
-
# 7.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 250 |
start_openclaw() {
|
| 251 |
local PORT="${PORT:-18789}"
|
| 252 |
|
|
@@ -295,7 +334,7 @@ start_openclaw() {
|
|
| 295 |
wait $GATEWAY_PID $DASHBOARD_PID
|
| 296 |
}
|
| 297 |
|
| 298 |
-
#
|
| 299 |
memory_sync() {
|
| 300 |
log "启动 OpenClaw 记忆同步定时任务..."
|
| 301 |
|
|
@@ -319,7 +358,7 @@ memory_sync() {
|
|
| 319 |
log "后台记忆同步服务已启动 (PID: $MEMORY_SYNC_PID)"
|
| 320 |
}
|
| 321 |
|
| 322 |
-
#
|
| 323 |
main() {
|
| 324 |
log "=== 开始 OpenClaw 启动流程 ==="
|
| 325 |
|
|
@@ -338,6 +377,9 @@ main() {
|
|
| 338 |
|
| 339 |
# 安装 clawhub(技能管理工具)
|
| 340 |
install_clawhub
|
|
|
|
|
|
|
|
|
|
| 341 |
|
| 342 |
# 如果同步脚本存在,启动后台同步服务
|
| 343 |
if [ -f "$SYNC_SCRIPT" ]; then
|
|
|
|
| 246 |
fi
|
| 247 |
}
|
| 248 |
|
| 249 |
+
# 7. 安装常用技能
|
| 250 |
+
install_skills() {
|
| 251 |
+
log "开始安装 OpenClaw 技能..."
|
| 252 |
+
|
| 253 |
+
# 确保 clawhub 已安装
|
| 254 |
+
if ! command -v clawhub &> /dev/null; then
|
| 255 |
+
log "❌ clawhub 未安装,无法安装技能"
|
| 256 |
+
return 1
|
| 257 |
+
fi
|
| 258 |
+
|
| 259 |
+
# 定义要安装的技能列表(用空格分隔)
|
| 260 |
+
SKILLS_LIST="${SKILLS_TO_INSTALL:-github summarize}"
|
| 261 |
+
|
| 262 |
+
# 可选:通过环境变量 TAVILY_API_KEY 配置 Tavily 技能
|
| 263 |
+
if [ -n "$TAVILY_API_KEY" ]; then
|
| 264 |
+
log "检测到 TAVILY_API_KEY,将安装 tavily-search 技能"
|
| 265 |
+
SKILLS_LIST="$SKILLS_LIST tavily-search"
|
| 266 |
+
fi
|
| 267 |
+
|
| 268 |
+
for skill in $SKILLS_LIST; do
|
| 269 |
+
log "正在安装技能: $skill"
|
| 270 |
+
if clawhub install "$skill"; then
|
| 271 |
+
log "✅ 技能 $skill 安装成功"
|
| 272 |
+
else
|
| 273 |
+
log "⚠️ 技能 $skill 安装失败,继续安装其他技能"
|
| 274 |
+
fi
|
| 275 |
+
done
|
| 276 |
+
|
| 277 |
+
# 如果安装了 tavily-search,设置环境变量(持久化到 ~/.bashrc 或 openclaw 配置)
|
| 278 |
+
if [ -n "$TAVILY_API_KEY" ]; then
|
| 279 |
+
log "配置 Tavily API Key..."
|
| 280 |
+
echo "export TAVILY_API_KEY='$TAVILY_API_KEY'" >> /root/.bashrc
|
| 281 |
+
# 也可以直接写入 openclaw 的配置文件(如果有环境变量配置项)
|
| 282 |
+
# openclaw config set env.TAVILY_API_KEY "$TAVILY_API_KEY"
|
| 283 |
+
fi
|
| 284 |
+
|
| 285 |
+
log "技能安装流程完成"
|
| 286 |
+
}
|
| 287 |
+
|
| 288 |
+
# 8.网关启动服务OpenClaw
|
| 289 |
start_openclaw() {
|
| 290 |
local PORT="${PORT:-18789}"
|
| 291 |
|
|
|
|
| 334 |
wait $GATEWAY_PID $DASHBOARD_PID
|
| 335 |
}
|
| 336 |
|
| 337 |
+
# 9. 记忆同步函数
|
| 338 |
memory_sync() {
|
| 339 |
log "启动 OpenClaw 记忆同步定时任务..."
|
| 340 |
|
|
|
|
| 358 |
log "后台记忆同步服务已启动 (PID: $MEMORY_SYNC_PID)"
|
| 359 |
}
|
| 360 |
|
| 361 |
+
# 10.main 主函数必须放在最后
|
| 362 |
main() {
|
| 363 |
log "=== 开始 OpenClaw 启动流程 ==="
|
| 364 |
|
|
|
|
| 377 |
|
| 378 |
# 安装 clawhub(技能管理工具)
|
| 379 |
install_clawhub
|
| 380 |
+
|
| 381 |
+
# 安装环境变量skills list中的技能
|
| 382 |
+
install_skills
|
| 383 |
|
| 384 |
# 如果同步脚本存在,启动后台同步服务
|
| 385 |
if [ -f "$SYNC_SCRIPT" ]; then
|