refactor: 支持兼容 openclaw 安装环境

This commit is contained in:
yuehuali
2026-01-30 22:40:59 +08:00
parent 453478980a
commit 35cb5ec1d6

View File

@@ -1,15 +1,33 @@
#!/bin/bash #!/bin/bash
# QQBot 插件升级脚本 # QQBot 插件升级脚本
# 用于清理旧版本插件并重新安装 # 用于清理旧版本插件并重新安装
# 兼容 clawdbot 和 openclaw 两种安装
set -e set -e
CLAWDBOT_DIR="$HOME/.clawdbot"
CONFIG_FILE="$CLAWDBOT_DIR/clawdbot.json"
EXTENSION_DIR="$CLAWDBOT_DIR/extensions/qqbot"
echo "=== QQBot 插件升级脚本 ===" echo "=== QQBot 插件升级脚本 ==="
# 检测使用的是 clawdbot 还是 openclaw
detect_installation() {
if [ -d "$HOME/.clawdbot" ]; then
echo "clawdbot"
elif [ -d "$HOME/.openclaw" ]; then
echo "openclaw"
else
echo ""
fi
}
# 清理指定目录的函数
cleanup_installation() {
local APP_NAME="$1"
local APP_DIR="$HOME/.$APP_NAME"
local CONFIG_FILE="$APP_DIR/$APP_NAME.json"
local EXTENSION_DIR="$APP_DIR/extensions/qqbot"
echo ""
echo ">>> 处理 $APP_NAME 安装..."
# 1. 删除旧的扩展目录 # 1. 删除旧的扩展目录
if [ -d "$EXTENSION_DIR" ]; then if [ -d "$EXTENSION_DIR" ]; then
echo "删除旧版本插件: $EXTENSION_DIR" echo "删除旧版本插件: $EXTENSION_DIR"
@@ -51,12 +69,38 @@ if [ -f "$CONFIG_FILE" ]; then
else else
echo "未找到配置文件: $CONFIG_FILE" echo "未找到配置文件: $CONFIG_FILE"
fi fi
}
# 检测并处理所有可能的安装
FOUND_INSTALLATION=""
# 检查 clawdbot
if [ -d "$HOME/.clawdbot" ]; then
cleanup_installation "clawdbot"
FOUND_INSTALLATION="clawdbot"
fi
# 检查 openclaw
if [ -d "$HOME/.openclaw" ]; then
cleanup_installation "openclaw"
FOUND_INSTALLATION="openclaw"
fi
# 如果都没找到
if [ -z "$FOUND_INSTALLATION" ]; then
echo "未找到 clawdbot 或 openclaw 安装目录"
echo "请确认已安装 clawdbot 或 openclaw"
exit 1
fi
# 使用检测到的安装类型作为命令
CMD="$FOUND_INSTALLATION"
echo "" echo ""
echo "=== 清理完成 ===" echo "=== 清理完成 ==="
echo "" echo ""
echo "接下来请执行以下命令重新安装插件:" echo "接下来请执行以下命令重新安装插件:"
echo " cd /path/to/qqbot" echo " cd /path/to/qqbot"
echo " clawdbot plugins install ." echo " $CMD plugins install ."
echo " clawdbot channels add --channel qqbot --token \"AppID:AppSecret\"" echo " $CMD channels add --channel qqbot --token \"AppID:AppSecret\""
echo " clawdbot gateway restart" echo " $CMD gateway restart"