docs: 添加升级脚本和升级说明文档
This commit is contained in:
24
README.md
24
README.md
@@ -114,6 +114,28 @@ clawdbot onboard
|
||||
3. **群消息**:需要在群内 @机器人 才能触发回复
|
||||
4. **沙箱模式**:新创建的机器人默认在沙箱模式,需要添加测试用户
|
||||
|
||||
## 升级
|
||||
|
||||
如果需要升级插件,先运行升级脚本清理旧版本:
|
||||
|
||||
```bash
|
||||
# 运行升级脚本(清理旧版本和配置)
|
||||
./scripts/upgrade.sh
|
||||
|
||||
# 重新安装插件
|
||||
clawdbot plugins install .
|
||||
|
||||
# 重新配置
|
||||
clawdbot channels add --channel qqbot --token "AppID:AppSecret"
|
||||
|
||||
# 重启网关
|
||||
clawdbot gateway restart
|
||||
```
|
||||
|
||||
升级脚本会自动:
|
||||
- 删除 `~/.clawdbot/extensions/qqbot` 目录
|
||||
- 清理 `clawdbot.json` 中的 qqbot 相关配置
|
||||
|
||||
## 开发
|
||||
|
||||
```bash
|
||||
@@ -141,6 +163,8 @@ qqbot/
|
||||
│ ├── outbound.ts # 出站消息处理
|
||||
│ ├── runtime.ts # 运行时状态
|
||||
│ └── types.ts # 类型定义
|
||||
├── scripts/
|
||||
│ └── upgrade.sh # 升级脚本
|
||||
├── package.json
|
||||
└── tsconfig.json
|
||||
```
|
||||
|
||||
62
scripts/upgrade.sh
Executable file
62
scripts/upgrade.sh
Executable file
@@ -0,0 +1,62 @@
|
||||
#!/bin/bash
|
||||
# QQBot 插件升级脚本
|
||||
# 用于清理旧版本插件并重新安装
|
||||
|
||||
set -e
|
||||
|
||||
CLAWDBOT_DIR="$HOME/.clawdbot"
|
||||
CONFIG_FILE="$CLAWDBOT_DIR/clawdbot.json"
|
||||
EXTENSION_DIR="$CLAWDBOT_DIR/extensions/qqbot"
|
||||
|
||||
echo "=== QQBot 插件升级脚本 ==="
|
||||
|
||||
# 1. 删除旧的扩展目录
|
||||
if [ -d "$EXTENSION_DIR" ]; then
|
||||
echo "删除旧版本插件: $EXTENSION_DIR"
|
||||
rm -rf "$EXTENSION_DIR"
|
||||
else
|
||||
echo "未找到旧版本插件目录,跳过删除"
|
||||
fi
|
||||
|
||||
# 2. 清理配置文件中的 qqbot 相关字段
|
||||
if [ -f "$CONFIG_FILE" ]; then
|
||||
echo "清理配置文件中的 qqbot 字段..."
|
||||
|
||||
# 使用 node 处理 JSON(比 jq 更可靠处理复杂结构)
|
||||
node -e "
|
||||
const fs = require('fs');
|
||||
const config = JSON.parse(fs.readFileSync('$CONFIG_FILE', 'utf8'));
|
||||
|
||||
// 删除 channels.qqbot
|
||||
if (config.channels && config.channels.qqbot) {
|
||||
delete config.channels.qqbot;
|
||||
console.log(' - 已删除 channels.qqbot');
|
||||
}
|
||||
|
||||
// 删除 plugins.entries.qqbot
|
||||
if (config.plugins && config.plugins.entries && config.plugins.entries.qqbot) {
|
||||
delete config.plugins.entries.qqbot;
|
||||
console.log(' - 已删除 plugins.entries.qqbot');
|
||||
}
|
||||
|
||||
// 删除 plugins.installs.qqbot
|
||||
if (config.plugins && config.plugins.installs && config.plugins.installs.qqbot) {
|
||||
delete config.plugins.installs.qqbot;
|
||||
console.log(' - 已删除 plugins.installs.qqbot');
|
||||
}
|
||||
|
||||
fs.writeFileSync('$CONFIG_FILE', JSON.stringify(config, null, 2));
|
||||
console.log('配置文件已更新');
|
||||
"
|
||||
else
|
||||
echo "未找到配置文件: $CONFIG_FILE"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=== 清理完成 ==="
|
||||
echo ""
|
||||
echo "接下来请执行以下命令重新安装插件:"
|
||||
echo " cd /path/to/qqbot"
|
||||
echo " clawdbot plugins install ."
|
||||
echo " clawdbot channels add --channel qqbot --token \"AppID:AppSecret\""
|
||||
echo " clawdbot gateway restart"
|
||||
Reference in New Issue
Block a user