From 0efe9970f5cdb860b69fa475a3859092fb46a677 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 4 May 2026 19:09:18 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E8=A1=A5=E5=85=85=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E9=83=A8=E7=BD=B2=E7=BB=86=E8=8A=82=EF=BC=8C=E6=98=8E=E7=A1=AE?= =?UTF-8?q?clone=E8=B7=AF=E5=BE=84=E5=92=8C=E5=8D=A0=E4=BD=8D=E7=AC=A6?= =?UTF-8?q?=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 新增:完整性验证命令(数量检查 + 占位符残留检查) --- README.md | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 84 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 3a94151..18e663c 100644 --- a/README.md +++ b/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 +``` ---