a8926764 commited on
Commit
0d720cc
·
verified ·
1 Parent(s): 9ca7472

Update start-openclaw.sh

Browse files
Files changed (1) hide show
  1. start-openclaw.sh +45 -3
start-openclaw.sh CHANGED
@@ -246,7 +246,46 @@ install_clawhub() {
246
  fi
247
  }
248
 
249
- # 7.网关启动服务OpenClaw
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
250
  start_openclaw() {
251
  local PORT="${PORT:-18789}"
252
 
@@ -295,7 +334,7 @@ start_openclaw() {
295
  wait $GATEWAY_PID $DASHBOARD_PID
296
  }
297
 
298
- # 8. 记忆同步函数
299
  memory_sync() {
300
  log "启动 OpenClaw 记忆同步定时任务..."
301
 
@@ -319,7 +358,7 @@ memory_sync() {
319
  log "后台记忆同步服务已启动 (PID: $MEMORY_SYNC_PID)"
320
  }
321
 
322
- # 9.main 主函数必须放在最后
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