docs: 添加升级脚本和升级说明文档
This commit is contained in:
24
README.md
24
README.md
@@ -114,6 +114,28 @@ clawdbot onboard
|
|||||||
3. **群消息**:需要在群内 @机器人 才能触发回复
|
3. **群消息**:需要在群内 @机器人 才能触发回复
|
||||||
4. **沙箱模式**:新创建的机器人默认在沙箱模式,需要添加测试用户
|
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
|
```bash
|
||||||
@@ -141,6 +163,8 @@ qqbot/
|
|||||||
│ ├── outbound.ts # 出站消息处理
|
│ ├── outbound.ts # 出站消息处理
|
||||||
│ ├── runtime.ts # 运行时状态
|
│ ├── runtime.ts # 运行时状态
|
||||||
│ └── types.ts # 类型定义
|
│ └── types.ts # 类型定义
|
||||||
|
├── scripts/
|
||||||
|
│ └── upgrade.sh # 升级脚本
|
||||||
├── package.json
|
├── package.json
|
||||||
└── tsconfig.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