docs: 补充脚本部署细节,明确clone路径和占位符验证
- Step 6 拆分为6.1-6.5子步骤 - 6.1 新增:在目标服务器上克隆仓库(git clone + 拷贝两种方式说明) - 6.2 新增:完整脚本清单表(26个脚本分5组,含用途说明) - 6.3 新增:Skills引用说明(YOUR_WORKSPACE_PATH/scripts/ 路径映射关系) - 6.4 拆分脚本替换和Skills替换为两个独立代码块 - 6.5 新增:完整性验证命令(数量检查 + 占位符残留检查)
This commit is contained in:
92
README.md
92
README.md
@ -318,28 +318,80 @@ mkdir -p "${AGENT_WORKSPACE}/files"
|
||||
|
||||
---
|
||||
|
||||
### 第6步:部署脚本和 Skills 到新 agent 的 workspace
|
||||
### 第6步:获取源码并部署到 agent 的 workspace
|
||||
|
||||
**复制脚本:**
|
||||
> agent 需要在目标服务器上获取 chatrebot_aireply_plug 的 `scripts/`(26 个脚本)和 `skills/`(8 个 skill)目录。
|
||||
|
||||
#### 6.1 在目标服务器上克隆仓库
|
||||
|
||||
```bash
|
||||
cp -r /path/to/chatrebot_aireply_plug/scripts/* "${AGENT_WORKSPACE}/scripts/"
|
||||
# 方案 A:git clone
|
||||
git clone https://jianfgit.xyz/jianf/chatrebot_aireply_plug.git /opt/chatrebot_aireply_plug
|
||||
|
||||
# 方案 B:本机已有 repo,直接复制
|
||||
# cp -r /home/program/pm-workspace /opt/chatrebot_aireply_plug
|
||||
```
|
||||
|
||||
**复制 Skills:**
|
||||
后续步骤假设源码解压到 `/opt/chatrebot_aireply_plug`。
|
||||
|
||||
#### 6.2 复制脚本
|
||||
|
||||
```bash
|
||||
cp -r /opt/chatrebot_aireply_plug/scripts/* "${AGENT_WORKSPACE}/scripts/"
|
||||
```
|
||||
|
||||
脚本清单(26 个),按功能分组:
|
||||
|
||||
| 分组 | 脚本 | 用途 |
|
||||
|---|---|---|
|
||||
| **QQ 消息** | `qq_send_msg.py` | 发送文本消息 |
|
||||
| | `qq_send_file.py` | 发送文件/图片 |
|
||||
| | `qq_upload_group_file.py` | base64 直接上传群文件 |
|
||||
| | `qq_send_like.py` | 点赞 |
|
||||
| | `qq_ocr_image.py` | 图片 OCR 识别 |
|
||||
| **QQ 查询** | `qq_get_groups.py` | 获取群列表 |
|
||||
| | `qq_get_friends.py` | 获取好友列表 |
|
||||
| | `qq_get_group_files.py` | 获取群文件列表 |
|
||||
| | `qq_get_file.py` | 下载文件 |
|
||||
| | `qq_get_history.py` | 拉取历史消息 |
|
||||
| | `qq_resolve_name.py` | QQ号/群号 ↔ 可读名称 |
|
||||
| **QQ 管理** | `qq_group_action.py` | 退群、接受/拒绝群邀请 |
|
||||
| | `qq_group_manage.py` | 群成员管理(踢/禁言等) |
|
||||
| | `qq_friend_action.py` | 删好友、同意/拒绝好友请求 |
|
||||
| **MC 服务器** | `mc_query.py` | 服务器状态查询 |
|
||||
| | `mc_status.py` | 状态(简化版) |
|
||||
| | `mc_players.py` | 玩家信息 |
|
||||
| | `mc_world.py` | 世界详情 |
|
||||
| | `mc_rcon.py` | 远程执行 RCON 命令 |
|
||||
| | `mc_clear_items.py` | 清理掉落物 |
|
||||
| | `mc_config.py` | 服务器配置管理 |
|
||||
| **工具** | `browse.py` | 网页浏览/截图 |
|
||||
| | `file_store_api.py` | 文件存储 API |
|
||||
| | `ask_nix.py` | 向 ops-manager 求助 |
|
||||
| | `qq_video_download.py` | 视频下载 |
|
||||
| | `__init__.py` | 包初始化 |
|
||||
|
||||
#### 6.3 复制 Skills
|
||||
|
||||
Skills 是 agent 的能力描述文件(`SKILL.md`),每个 skill 一个子目录,agent 启动时会加载:
|
||||
|
||||
```bash
|
||||
for SKILL in qq-messenger qq-management qq-resolver qq-napcat-extras mc-query nix-helper browser file-process; do
|
||||
cp -r "/path/to/chatrebot_aireply_plug/skills/${SKILL}" "${AGENT_WORKSPACE}/skills/"
|
||||
cp -r "/opt/chatrebot_aireply_plug/skills/${SKILL}" "${AGENT_WORKSPACE}/skills/"
|
||||
done
|
||||
```
|
||||
|
||||
**替换占位符(关键!必须执行):**
|
||||
> Skills 中的 SKILL.md 通过 `YOUR_WORKSPACE_PATH/scripts/xxx.py` 引用脚本路径。
|
||||
> agent 执行 `subprocess.run` 时,实际调用的是 `${AGENT_WORKSPACE}/scripts/` 下的脚本。
|
||||
|
||||
#### 6.4 替换占位符(关键!必须执行)
|
||||
|
||||
**替换脚本占位符:**
|
||||
|
||||
```bash
|
||||
cd "${AGENT_WORKSPACE}/scripts"
|
||||
|
||||
# NapCat HTTP API 地址(端口 6099,非 25570)
|
||||
# NapCat HTTP API 地址(端口 6099)
|
||||
sed -i "s|YOUR_NAP CAT_HOST:25570|${NAP CAT_HOST}:6099|g" *.py
|
||||
sed -i "s|YOUR_NAP CAT_HOST|${NAP CAT_HOST}:6099|g" *.py
|
||||
sed -i "s|YOUR_NAPCAT_HOST:25570|${NAP CAT_HOST}:6099|g" *.py
|
||||
@ -358,7 +410,31 @@ sed -i "s|YOUR_WORKSPACE_PATH|${AGENT_WORKSPACE}|g" *.py
|
||||
sed -i "s|YOUR_SHARED_DIR|${SHARED_DIR}|g" *.py
|
||||
```
|
||||
|
||||
同样处理 `skills/` 目录下的 SKILL.md 文件。
|
||||
**替换 Skills 占位符:**
|
||||
|
||||
```bash
|
||||
cd "${AGENT_WORKSPACE}/skills"
|
||||
|
||||
for f in */SKILL.md; do
|
||||
sed -i "s|YOUR_WORKSPACE_PATH|${AGENT_WORKSPACE}|g" "$f"
|
||||
sed -i "s|YOUR_ADMIN_QQ|${ADMIN_QQ}|g" "$f"
|
||||
done
|
||||
```
|
||||
|
||||
> ⚠️ Skills 的替换很关键:如果漏掉,agent 调脚本时会指向不存在的旧路径。
|
||||
|
||||
#### 6.5 验证完整性
|
||||
|
||||
```bash
|
||||
# 脚本数量
|
||||
echo "scripts: $(ls "${AGENT_WORKSPACE}/scripts/" | wc -l) 个"
|
||||
# 确认无残留占位符
|
||||
if grep -r "YOUR_ADMIN_QQ\|YOUR_WORKSPACE_PATH" "${AGENT_WORKSPACE}/"; then
|
||||
echo "⚠️ 还有未替换的占位符!"
|
||||
else
|
||||
echo "✅ 占位符全部替换完毕"
|
||||
fi
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user