From 6c48b08f24560cca6f319f1af43b663b75d72c61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=A5=E6=B2=B3=E6=99=B4?= Date: Mon, 17 Mar 2025 15:15:51 +0900 Subject: [PATCH 01/11] =?UTF-8?q?docs:=20=E6=9B=B4=E6=96=B0CLAUDE.md?= =?UTF-8?q?=EF=BC=8C=E6=B7=BB=E5=8A=A0=E9=A1=B9=E7=9B=AE=E6=9E=B6=E6=9E=84?= =?UTF-8?q?=E5=92=8C=E4=BB=A3=E7=A0=81=E7=B4=A2=E5=BC=95=E6=8C=87=E5=8D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加Mermaid图表展示项目结构和流程 - 创建关键文件索引表格 - 详细描述记忆系统和聊天系统内部结构 - 增加配置系统概览 - 提供模块依赖关系图表 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- CLAUDE.md | 171 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 157 insertions(+), 14 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index d30b0e651..47f3479a0 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,4 +1,4 @@ -# MaiMBot 开发指南 +# MaiMBot 项目架构与索引指南 ## 🛠️ 常用命令 @@ -30,19 +30,162 @@ - **错误处理**: 使用带有具体异常的try/except - **文档**: 为类和公共函数编写docstrings -## 🧩 系统架构 +## 🔍 项目结构概览 -- **框架**: NoneBot2框架与插件架构 -- **数据库**: MongoDB持久化存储 -- **设计模式**: 工厂模式和单例管理器 -- **配置管理**: 使用环境变量和TOML文件 -- **内存系统**: 基于图的记忆结构,支持记忆构建、压缩、检索和遗忘 -- **情绪系统**: 情绪模拟与概率权重 -- **LLM集成**: 支持多个LLM服务提供商(ChatAnywhere, SiliconFlow, DeepSeek) +```mermaid +graph TD + A[入口文件] --> A1[run.py:初始安装与启动] + A --> A2[bot.py:主程序入口] + A2 --> B[核心框架] + B --> B1[NoneBot2框架] + B --> B2[MongoDB数据库] + + A2 --> C[插件系统] + C --> C1[聊天系统] + C --> C2[记忆系统] + C --> C3[情绪系统] + C --> C4[日程系统] + C --> C5[配置系统] + + C1 --> D[LLM集成] + D --> D1[ChatAnywhere] + D --> D2[SiliconFlow] + D --> D3[DeepSeek] +``` -## ⚙️ 环境配置 +## 📁 关键文件索引 -- 使用`template.env`作为环境变量模板 -- 使用`template/bot_config_template.toml`作为机器人配置模板 -- MongoDB配置: 主机、端口、数据库名 -- API密钥配置: 各LLM提供商的API密钥 +| 文件路径 | 功能描述 | +|---------|---------| +| `/bot.py` | 主程序入口,初始化框架和插件加载 | +| `/run.py` | 初始安装脚本,配置MongoDB和启动机器人 | +| `/src/plugins/chat/bot.py` | 聊天核心处理,消息接收与分发 | +| `/src/plugins/chat/llm_generator.py` | LLM交互封装,生成回复内容 | +| `/src/plugins/chat/prompt_builder.py` | 构建提示词,整合上下文和记忆 | +| `/src/plugins/memory_system/memory.py` | 图形记忆系统核心实现 | +| `/src/plugins/moods/moods.py` | 情绪管理系统 | +| `/src/common/database.py` | 数据库连接管理 | +| `/src/plugins/models/utils_model.py` | LLM API请求封装 | +| `/template.env` | 环境变量配置模板 | +| `/template/bot_config_template.toml` | 机器人配置模板 | + +## 🔄 核心流程图 + +### 消息处理流程 + +```mermaid +flowchart LR + A[用户消息] --> B[NoneBot2接收] + B --> C[ChatBot.handle_message] + C --> D{检查回复意愿} + D -->|回复| E[思考状态] + D -->|不回复| Z[结束] + E --> F[构建提示词] + F --> G[选择LLM模型] + G --> H[生成回复] + H --> I[处理回复] + I --> J[消息管理器] + J --> K[发送回复] +``` + +### 记忆系统流程 + +```mermaid +flowchart TD + A[聊天记录] --> B[记忆样本获取] + B --> C[记忆压缩/主题提取] + C --> D[记忆图存储] + D --> E[记忆检索] + D --> F[记忆遗忘] + D --> G[记忆合并] + E --> H[提示词构建] + H --> I[LLM生成] +``` + +## ⚙️ 配置系统概览 + +```mermaid +graph LR + A[配置系统] --> B[环境变量配置] + A --> C[TOML配置文件] + + B --> B1[数据库连接] + B --> B2[LLM API密钥] + B --> B3[服务器设置] + + C --> C1[机器人人格] + C --> C2[消息处理参数] + C --> C3[记忆系统参数] + C --> C4[情绪系统参数] + C --> C5[模型配置] +``` + +## 📊 模块依赖关系 + +```mermaid +graph TD + A[bot.py] --> B[src/plugins] + B --> C[chat] + B --> D[memory_system] + B --> E[moods] + B --> F[models] + + C --> D + C --> E + C --> F + D --> F + C --> G[common/database.py] + D --> G +``` + +## 🧠 记忆系统内部结构 + +- **Memory_graph**: 底层图结构实现 + - 节点 = 主题概念 + - 边 = 主题间关联 + - 属性 = 记忆内容、时间戳 + +- **Hippocampus**: 高级记忆管理 + - 记忆构建: `memory_compress()` + - 记忆检索: `get_relevant_memories()` + - 记忆遗忘: `operation_forget_topic()` + - 记忆合并: `operation_merge_memory()` + +- **LLM集成点**: + - 主题提取 + - 记忆摘要生成 + - 相似度计算 + - 记忆压缩 + +## 💬 聊天系统内部结构 + +- **ChatBot**: 核心控制器 + - 消息处理: `handle_message()` + - 响应生成: `generate_response()` + +- **消息处理链**: + - `MessageRecv` → 消息预处理 + - `willing_manager` → 回复决策 + - `prompt_builder` → 提示词构建 + - `LLM_request` → LLM调用 + - `MessageSending` → 消息发送 + +- **关键组件**: + - 消息管理器: 控制消息流 + - 聊天流管理: 维护会话上下文 + - 关系管理器: 用户关系状态 + - 表情管理器: 表情包处理 + +## 🔧 配置项关键参数 + +### 环境变量 (.env) +- MongoDB连接: `MONGODB_HOST`, `MONGODB_PORT`, `DATABASE_NAME` +- LLM API: `CHAT_ANY_WHERE_KEY`, `SILICONFLOW_KEY`, `DEEP_SEEK_KEY` +- 服务设置: `HOST`, `PORT` + +### 机器人配置 (TOML) +- 版本控制: `[inner].version` +- 人格设置: `[personality]` +- 记忆参数: `[memory]` (构建间隔、压缩率、遗忘周期) +- 情绪参数: `[mood]` (更新间隔、衰减率) +- 模型选择: `[model]` (各功能专用模型配置) \ No newline at end of file From 21ccefaf298189396c8604fd8498037e32909faa Mon Sep 17 00:00:00 2001 From: infinitycat Date: Mon, 31 Mar 2025 23:56:01 +0800 Subject: [PATCH 02/11] =?UTF-8?q?build(docker):=20=E9=87=8D=E6=9E=84=20Doc?= =?UTF-8?q?kerfile=20=E5=B9=B6=E6=B7=BB=E5=8A=A0=20docker-compose=20?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 重构 Dockerfile,使用 python:3.13.2-slim-bookworm 作为基础镜像 - 添加 maim_message目录到镜像中,并使用清华大学镜像源安装依赖 - 新增 docker-compose.yml 文件,定义多服务的 Docker Compose 配置 - 配置包含 adapters、core、mongodb 和 napcat四个服务 - 设置端口映射、环境变量和数据卷 --- Dockerfile | 21 +++++++------- docker-compose.yml | 70 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+), 10 deletions(-) create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile index c4aedc94a..ed4734b8d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,18 +1,19 @@ -FROM nonebot/nb-cli:latest +FROM python:3.13.2-slim-bookworm -# 设置工作目录 +# 工作目录 WORKDIR /MaiMBot -# 先复制依赖列表 +# 复制依赖列表 COPY requirements.txt . +# 同级目录下需要有 maim_message 文 +COPY maim_message /maim_message -# 安装依赖(这层会被缓存直到requirements.txt改变) -RUN pip install --upgrade -r requirements.txt +# 安装依赖 +RUN pip install -e /maim_message -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple +RUN pip install --upgrade -r requirements.txt -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple -# 然后复制项目代码 +# 复制项目代码 COPY . . -VOLUME [ "/MaiMBot/config" ] -VOLUME [ "/MaiMBot/data" ] -EXPOSE 8080 -ENTRYPOINT [ "nb","run" ] \ No newline at end of file +EXPOSE 8000 +ENTRYPOINT [ "python","bot.py" ] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 000000000..c28a13ba8 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,70 @@ +services: + adapters: + container_name: maim-bot-adapters + image: maimbot-adapters:latest + environment: + - TZ=Asia/Shanghai + ports: + - "18002:18002" + volumes: + - ./adapters/plugins:/adapters/src/plugins + - ./adapters/.env:/adapters/.env + - ./data/qq:/app/.config/QQ + restart: always + networks: + - maim_bot + core: + container_name: maim-bot-core + image: maimbot-core:latest + environment: + - TZ=Asia/Shanghai +# - EULA_AGREE=35362b6ea30f12891d46ef545122e84a +# - PRIVACY_AGREE=2402af06e133d2d10d9c6c643fdc9333 + ports: + - "8000:8000" + volumes: + - ./mmc-data:/MaiMBot/data + - ./mmc-config/.env:/MaiMBot/.env + - ./mmc-config/bot_config.toml:/MaiMBot/config/bot_config.toml + - ./data/MaiMBot:/MaiMBot/data + restart: always + networks: + - maim_bot + mongodb: + container_name: mongodb + environment: + - TZ=Asia/Shanghai + ports: + - "27017:27017" + restart: always + volumes: + - mongodb:/data/db + - mongodbCONFIG:/data/configdb + image: mongo:latest + networks: + - maim_bot + napcat: + environment: + - NAPCAT_UID=1000 + - NAPCAT_GID=1000 + - TZ=Asia/Shanghai + ports: + - "3000:3000" + - "3001:3001" + - "6099:6099" + - "8095:8095" + volumes: + - ./config:/app/napcat/config + - ./data/qq:/app/.config/QQ + - ./data/MaiMBot:/MaiMBot/data + container_name: napcat + restart: always + image: mlikiowa/napcat-docker:latest + networks: + - maim_bot +networks: + maim_bot: + driver: bridge +volumes: + mongodb: + mongodbCONFIG: \ No newline at end of file From 765f14269f312d405faad1439bf94db76e7d9684 Mon Sep 17 00:00:00 2001 From: infinitycat Date: Mon, 31 Mar 2025 23:56:01 +0800 Subject: [PATCH 03/11] =?UTF-8?q?build(docker):=20=E9=87=8D=E6=9E=84=20Doc?= =?UTF-8?q?kerfile=20=E5=B9=B6=E6=B7=BB=E5=8A=A0=20docker-compose=20?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 重构 Dockerfile,使用 python:3.13.2-slim-bookworm 作为基础镜像 - 添加 maim_message目录到镜像中,并使用清华大学镜像源安装依赖 - 新增 docker-compose.yml 文件,定义多服务的 Docker Compose 配置 - 配置包含 adapters、core、mongodb 和 napcat四个服务 - 设置端口映射、环境变量和数据卷 --- Dockerfile | 21 +++++++------- docker-compose.yml | 70 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+), 10 deletions(-) create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile index c4aedc94a..ed4734b8d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,18 +1,19 @@ -FROM nonebot/nb-cli:latest +FROM python:3.13.2-slim-bookworm -# 设置工作目录 +# 工作目录 WORKDIR /MaiMBot -# 先复制依赖列表 +# 复制依赖列表 COPY requirements.txt . +# 同级目录下需要有 maim_message 文 +COPY maim_message /maim_message -# 安装依赖(这层会被缓存直到requirements.txt改变) -RUN pip install --upgrade -r requirements.txt +# 安装依赖 +RUN pip install -e /maim_message -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple +RUN pip install --upgrade -r requirements.txt -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple -# 然后复制项目代码 +# 复制项目代码 COPY . . -VOLUME [ "/MaiMBot/config" ] -VOLUME [ "/MaiMBot/data" ] -EXPOSE 8080 -ENTRYPOINT [ "nb","run" ] \ No newline at end of file +EXPOSE 8000 +ENTRYPOINT [ "python","bot.py" ] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 000000000..488d3e722 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,70 @@ +services: + adapters: + container_name: maim-bot-adapters + image: maimbot-adapters:latest + environment: + - TZ=Asia/Shanghai + ports: + - "18002:18002" + volumes: + - ./adapters/plugins:/adapters/src/plugins + - ./adapters/.env:/adapters/.env + - ./data/qq:/app/.config/QQ + restart: always + networks: + - maim_bot + core: + container_name: maim-bot-core + image: maimbot-core:latest + environment: + - TZ=Asia/Shanghai +# - EULA_AGREE=35362b6ea30f12891d46ef545122e84a +# - PRIVACY_AGREE=2402af06e133d2d10d9c6c643fdc9333 + ports: + - "8000:8000" + volumes: + - ./mmc-data:/MaiMBot/data + - ./mmc-config/.env:/MaiMBot/.env + - ./mmc-config/bot_config.toml:/MaiMBot/config/bot_config.toml + - ./data/MaiMBot:/MaiMBot/data + restart: always + networks: + - maim_bot + mongodb: + container_name: maim-bot-mongo + environment: + - TZ=Asia/Shanghai + ports: + - "27017:27017" + restart: always + volumes: + - mongodb:/data/db + - mongodbCONFIG:/data/configdb + image: mongo:latest + networks: + - maim_bot + napcat: + environment: + - NAPCAT_UID=1000 + - NAPCAT_GID=1000 + - TZ=Asia/Shanghai + ports: + - "3000:3000" + - "3001:3001" + - "6099:6099" + - "8095:8095" + volumes: + - ./napcat-config:/app/napcat/config + - ./data/qq:/app/.config/QQ + - ./data/MaiMBot:/MaiMBot/data + container_name: maim-bot-napcat + restart: always + image: mlikiowa/napcat-docker:latest + networks: + - maim_bot +networks: + maim_bot: + driver: bridge +volumes: + mongodb: + mongodbCONFIG: \ No newline at end of file From 8fdd690542539d3c39c44dc09e40aa6b6c3e9130 Mon Sep 17 00:00:00 2001 From: infinitycat Date: Tue, 1 Apr 2025 00:17:28 +0800 Subject: [PATCH 04/11] =?UTF-8?q?build(docker):=20=E9=87=8D=E6=9E=84=20Doc?= =?UTF-8?q?kerfile=20=E5=B9=B6=E6=B7=BB=E5=8A=A0=20docker-compose=20?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 重构 Dockerfile,使用 python:3.13.2-slim-bookworm 作为基础镜像 - 添加 maim_message目录到镜像中,并使用清华大学镜像源安装依赖 - 新增 docker-compose.yml 文件,定义多服务的 Docker Compose 配置 - 配置包含 adapters、core、mongodb 和 napcat四个服务 - 设置端口映射、环境变量和数据卷 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index ed4734b8d..37e6e1ad4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,7 @@ WORKDIR /MaiMBot # 复制依赖列表 COPY requirements.txt . -# 同级目录下需要有 maim_message 文 +# 同级目录下需要有 maim_message COPY maim_message /maim_message # 安装依赖 From 1bff4d83de8480a2056746db027fdf1016d019fa Mon Sep 17 00:00:00 2001 From: infinitycat Date: Tue, 1 Apr 2025 00:41:19 +0800 Subject: [PATCH 05/11] =?UTF-8?q?build(docker):=20=E9=87=8D=E6=9E=84=20Doc?= =?UTF-8?q?kerfile=20=E5=B9=B6=E6=B7=BB=E5=8A=A0=20docker-compose=20?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 重构 Dockerfile,使用 python:3.13.2-slim-bookworm 作为基础镜像 - 添加 maim_message目录到镜像中,并使用清华大学镜像源安装依赖 - 新增 docker-compose.yml 文件,定义多服务的 Docker Compose 配置 - 配置包含 adapters、core、mongodb 和 napcat四个服务 - 设置端口映射、环境变量和数据卷 --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 37e6e1ad4..483892006 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,8 +9,8 @@ COPY requirements.txt . COPY maim_message /maim_message # 安装依赖 -RUN pip install -e /maim_message -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple -RUN pip install --upgrade -r requirements.txt -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple +RUN pip install -e /maim_message +RUN pip install --upgrade -r requirements.txt # 复制项目代码 COPY . . From 63921b775e9247748fe9ae6ac38f5b959d03b719 Mon Sep 17 00:00:00 2001 From: infinitycat Date: Tue, 1 Apr 2025 10:21:18 +0800 Subject: [PATCH 06/11] =?UTF-8?q?ci:=20=E6=B7=BB=E5=8A=A0=20fork=20?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=20workflow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 .github/workflows/refactor.yml 文件 - 配置定时任务,每 30 分钟同步一次上游仓库的 refactor 分支 - 使用 tgymnich/fork-sync 动作进行同步 - 设置同步的上游仓库用户为 SengokuCola- 指定同步的上游分支为 refactor,本地分支也为 refactor --- .github/workflows/refactor.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .github/workflows/refactor.yml diff --git a/.github/workflows/refactor.yml b/.github/workflows/refactor.yml new file mode 100644 index 000000000..ac2a4b5e9 --- /dev/null +++ b/.github/workflows/refactor.yml @@ -0,0 +1,17 @@ +# .github/workflows/sync.yml +name: Sync Fork + +on: + push: # push 时触发, 主要是为了测试配置有没有问题 + schedule: + - cron: '*/30 * * * *' # every 30 minutes +jobs: + repo-sync: + runs-on: ubuntu-latest + steps: + - uses: tgymnich/fork-sync@v2.0.10 + with: + token: ${{ secrets.PERSONAL_TOKEN }} + owner: SengokuCola # fork 的上游仓库 user + head: refactor # fork 的上游仓库 branch + base: refactor # 本地仓库 branch From cb48497df43bd8e6e26623ac8a092f4abb149ada Mon Sep 17 00:00:00 2001 From: infinitycat Date: Tue, 1 Apr 2025 10:33:45 +0800 Subject: [PATCH 07/11] =?UTF-8?q?ci:=20=E6=B7=BB=E5=8A=A0=20fork=20?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=20workflow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 .github/workflows/refactor.yml 文件 - 配置定时任务,每 30 分钟同步一次上游仓库的 refactor 分支 - 使用 tgymnich/fork-sync 动作进行同步 - 设置同步的上游仓库用户为 SengokuCola- 指定同步的上游分支为 refactor,本地分支也为 refactor --- .github/workflows/refactor.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/refactor.yml b/.github/workflows/refactor.yml index ac2a4b5e9..0bd019f1f 100644 --- a/.github/workflows/refactor.yml +++ b/.github/workflows/refactor.yml @@ -9,9 +9,9 @@ jobs: repo-sync: runs-on: ubuntu-latest steps: - - uses: tgymnich/fork-sync@v2.0.10 + - uses: TG908/fork-sync@v2.0.10 with: - token: ${{ secrets.PERSONAL_TOKEN }} + github_token: ${{ secrets.PERSONAL_TOKEN }} owner: SengokuCola # fork 的上游仓库 user head: refactor # fork 的上游仓库 branch base: refactor # 本地仓库 branch From 211a932352a79811e46d99f4f26af7fa5687c9e0 Mon Sep 17 00:00:00 2001 From: infinitycat Date: Tue, 1 Apr 2025 10:35:21 +0800 Subject: [PATCH 08/11] =?UTF-8?q?ci:=20=E6=B7=BB=E5=8A=A0=20fork=20?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=20workflow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 .github/workflows/refactor.yml 文件 - 配置定时任务,每 30 分钟同步一次上游仓库的 refactor 分支 - 使用 tgymnich/fork-sync 动作进行同步 - 设置同步的上游仓库用户为 SengokuCola- 指定同步的上游分支为 refactor,本地分支也为 refactor --- .github/workflows/refactor.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/refactor.yml b/.github/workflows/refactor.yml index 0bd019f1f..049f6c328 100644 --- a/.github/workflows/refactor.yml +++ b/.github/workflows/refactor.yml @@ -9,9 +9,9 @@ jobs: repo-sync: runs-on: ubuntu-latest steps: - - uses: TG908/fork-sync@v2.0.10 + - uses: tgymnich/fork-sync@v2.0.10 with: - github_token: ${{ secrets.PERSONAL_TOKEN }} + token: ${{ secrets.GITHUB_TOKEN }} owner: SengokuCola # fork 的上游仓库 user head: refactor # fork 的上游仓库 branch base: refactor # 本地仓库 branch From b178911cd1f6978ced384a19e195f7e78b31e019 Mon Sep 17 00:00:00 2001 From: infinitycat Date: Tue, 1 Apr 2025 10:46:59 +0800 Subject: [PATCH 09/11] =?UTF-8?q?ci:=20=E6=B7=BB=E5=8A=A0=20fork=20?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=20workflow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 .github/workflows/refactor.yml 文件 - 配置定时任务,每 30 分钟同步一次上游仓库的 refactor 分支 - 使用 tgymnich/fork-sync 动作进行同步 - 设置同步的上游仓库用户为 SengokuCola- 指定同步的上游分支为 refactor,本地分支也为 refactor --- .github/workflows/refactor.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/refactor.yml b/.github/workflows/refactor.yml index 049f6c328..69a28c897 100644 --- a/.github/workflows/refactor.yml +++ b/.github/workflows/refactor.yml @@ -9,9 +9,9 @@ jobs: repo-sync: runs-on: ubuntu-latest steps: - - uses: tgymnich/fork-sync@v2.0.10 + - uses: TG908/fork-sync@v2.0.10 with: - token: ${{ secrets.GITHUB_TOKEN }} + github_token: ${{ secrets.GITHUB_TOKEN }} owner: SengokuCola # fork 的上游仓库 user head: refactor # fork 的上游仓库 branch base: refactor # 本地仓库 branch From d91c25d7c5f19b4e1b0e5931d69f86d7ff1fa59e Mon Sep 17 00:00:00 2001 From: infinitycat Date: Tue, 1 Apr 2025 11:12:48 +0800 Subject: [PATCH 10/11] =?UTF-8?q?=E6=80=8E=E4=B9=88=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E5=88=B0pr=E5=8E=BB=E4=BA=86=E6=B7=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/refactor.yml | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 .github/workflows/refactor.yml diff --git a/.github/workflows/refactor.yml b/.github/workflows/refactor.yml deleted file mode 100644 index 69a28c897..000000000 --- a/.github/workflows/refactor.yml +++ /dev/null @@ -1,17 +0,0 @@ -# .github/workflows/sync.yml -name: Sync Fork - -on: - push: # push 时触发, 主要是为了测试配置有没有问题 - schedule: - - cron: '*/30 * * * *' # every 30 minutes -jobs: - repo-sync: - runs-on: ubuntu-latest - steps: - - uses: TG908/fork-sync@v2.0.10 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - owner: SengokuCola # fork 的上游仓库 user - head: refactor # fork 的上游仓库 branch - base: refactor # 本地仓库 branch From 648047b4ceca4bcab3f2748a65521e682919dee5 Mon Sep 17 00:00:00 2001 From: infinitycat Date: Tue, 1 Apr 2025 11:30:11 +0800 Subject: [PATCH 11/11] =?UTF-8?q?=E5=8A=A0=E4=BA=86=E7=82=B9=E6=B3=A8?= =?UTF-8?q?=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yml | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 488d3e722..3ad94e067 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,9 +7,9 @@ services: ports: - "18002:18002" volumes: - - ./adapters/plugins:/adapters/src/plugins - - ./adapters/.env:/adapters/.env - - ./data/qq:/app/.config/QQ + - ./adapters/plugins:/adapters/src/plugins # 持久化adapters插件 + - ./adapters/.env:/adapters/.env # 持久化adapters配置文件 + - ./data/qq:/app/.config/QQ # 持久化QQ本体并同步qq表情和图片到adapters restart: always networks: - maim_bot @@ -18,15 +18,15 @@ services: image: maimbot-core:latest environment: - TZ=Asia/Shanghai -# - EULA_AGREE=35362b6ea30f12891d46ef545122e84a -# - PRIVACY_AGREE=2402af06e133d2d10d9c6c643fdc9333 +# - EULA_AGREE=35362b6ea30f12891d46ef545122e84a # 同意EULA +# - PRIVACY_AGREE=2402af06e133d2d10d9c6c643fdc9333 # 同意EULA ports: - "8000:8000" volumes: - ./mmc-data:/MaiMBot/data - - ./mmc-config/.env:/MaiMBot/.env - - ./mmc-config/bot_config.toml:/MaiMBot/config/bot_config.toml - - ./data/MaiMBot:/MaiMBot/data + - ./mmc-config/.env:/MaiMBot/.env # 持久化bot配置文件 + - ./mmc-config/bot_config.toml:/MaiMBot/config/bot_config.toml # 持久化bot配置文件 + - ./data/MaiMBot:/MaiMBot/data # NapCat 和 NoneBot 共享此卷,否则发送图片会有问题 restart: always networks: - maim_bot @@ -34,12 +34,14 @@ services: container_name: maim-bot-mongo environment: - TZ=Asia/Shanghai +# - MONGO_INITDB_ROOT_USERNAME=your_username # 此处配置mongo用户 +# - MONGO_INITDB_ROOT_PASSWORD=your_password # 此处配置mongo密码 ports: - "27017:27017" restart: always volumes: - - mongodb:/data/db - - mongodbCONFIG:/data/configdb + - mongodb:/data/db # 持久化mongodb数据 + - mongodbCONFIG:/data/configdb # 持久化mongodb配置文件 image: mongo:latest networks: - maim_bot @@ -54,9 +56,9 @@ services: - "6099:6099" - "8095:8095" volumes: - - ./napcat-config:/app/napcat/config - - ./data/qq:/app/.config/QQ - - ./data/MaiMBot:/MaiMBot/data + - ./napcat-config:/app/napcat/config # 持久化napcat配置文件 + - ./data/qq:/app/.config/QQ # 持久化QQ本体并同步qq表情和图片到adapters + - ./data/MaiMBot:/MaiMBot/data # NapCat 和 NoneBot 共享此卷,否则发送图片会有问题 container_name: maim-bot-napcat restart: always image: mlikiowa/napcat-docker:latest