diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
new file mode 100644
index 000000000..19a587960
--- /dev/null
+++ b/.github/pull_request_template.md
@@ -0,0 +1,17 @@
+
+- 🔴**当前项目处于重构阶段(2025.3.14-)**
+- ✅ 接受:与main直接相关的Bug修复:提交到main-fix分支
+- ⚠️ 冻结:所有新功能开发和非紧急重构
+
+# 请填写以下内容
+(删除掉中括号内的空格,并替换为**小写的x**)
+1. - [ ] `main` 分支 **禁止修改**,请确认本次提交的分支 **不是 `main` 分支**
+2. - [ ] 本次更新 **包含破坏性变更**(如数据库结构变更、配置文件修改等)
+3. - [ ] 本次更新是否经过测试
+4. - [ ] 请**不要**在数据库中添加group_id字段,这会影响本项目对其他平台的兼容
+5. 请填写破坏性更新的具体内容(如有):
+6. 请简要说明本次更新的内容和目的:
+# 其他信息
+- **关联 Issue**:Close #
+- **截图/GIF**:
+- **附加信息**:
diff --git a/.github/workflows/precheck.yml b/.github/workflows/precheck.yml
new file mode 100644
index 000000000..a7524ccb3
--- /dev/null
+++ b/.github/workflows/precheck.yml
@@ -0,0 +1,29 @@
+# .github/workflows/precheck.yml
+name: PR Precheck
+on: [pull_request]
+
+jobs:
+ conflict-check:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - name: Check Conflicts
+ run: |
+ git fetch origin main
+ if git diff --name-only --diff-filter=U origin/main...HEAD | grep .; then
+ echo "CONFLICT=true" >> $GITHUB_ENV
+ fi
+ labeler:
+ runs-on: ubuntu-latest
+ needs: conflict-check
+ steps:
+ - uses: actions/github-script@v6
+ if: env.CONFLICT == 'true'
+ with:
+ script: |
+ github.rest.issues.addLabels({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ issue_number: context.issue.number,
+ labels: ['🚫冲突需处理']
+ })
diff --git a/.github/workflows/ruff.yml b/.github/workflows/ruff.yml
index 0d1e50c5a..697c47759 100644
--- a/.github/workflows/ruff.yml
+++ b/.github/workflows/ruff.yml
@@ -5,4 +5,5 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- - uses: astral-sh/ruff-action@v3
\ No newline at end of file
+ - uses: astral-sh/ruff-action@v3
+
diff --git a/MaiLauncher.bat b/MaiLauncher.bat
index 7d33946b3..7b876bd37 100644
--- a/MaiLauncher.bat
+++ b/MaiLauncher.bat
@@ -2,12 +2,12 @@
@setlocal enabledelayedexpansion
@chcp 936
-@REM 设置版本号
+@REM ð汾
set "VERSION=1.0"
-title 麦麦Bot控制台 v%VERSION%
+title Bot̨ v%VERSION%
-@REM 设置Python和Git环境变量
+@REM PythonGit
set "_root=%~dp0"
set "_root=%_root:~0,-1%"
cd "%_root%"
@@ -21,14 +21,14 @@ if exist "%_root%\python" (
call "%_root%\venv\Scripts\activate.bat"
set "PYTHON_HOME=%_root%\venv\Scripts"
) else (
- echo 正在自动查找Python解释器...
+ echo ԶPython...
where python >nul 2>&1
if %errorlevel% equ 0 (
for /f "delims=" %%i in ('where python') do (
echo %%i | findstr /i /c:"!LocalAppData!\Microsoft\WindowsApps\python.exe" >nul
if errorlevel 1 (
- echo 找到Python解释器:%%i
+ echo ҵPython%%i
set "py_path=%%i"
goto :validate_python
)
@@ -41,46 +41,46 @@ if exist "%_root%\python" (
goto :validate_python
)
)
- echo 没有找到Python解释器,要安装吗?
- set /p pyinstall_confirm="继续?(Y/n): "
+ echo ûҵPython,Ҫװ?
+ set /p pyinstall_confirm="(Y/n): "
if /i "!pyinstall_confirm!"=="Y" (
cls
- echo 正在安装Python...
+ echo ڰװPython...
winget install --id Python.Python.3.13 -e --accept-package-agreements --accept-source-agreements
if %errorlevel% neq 0 (
- echo 安装失败,请手动安装Python
+ echo װʧܣֶװPython
start https://www.python.org/downloads/
exit /b
)
- echo 安装完成,正在验证Python...
+ echo װɣ֤Python...
goto search_python
) else (
- echo 取消安装Python,按任意键退出...
+ echo ȡװPython˳...
pause >nul
exit /b
)
- echo 错误:未找到可用的Python解释器!
+ echo δҵõPython
exit /b 1
:validate_python
"!py_path!" --version >nul 2>&1
if %errorlevel% neq 0 (
- echo 无效的Python解释器:%py_path%
+ echo ЧPython%py_path%
exit /b 1
)
- :: 提取安装目录
+ :: ȡװĿ¼
for %%i in ("%py_path%") do set "PYTHON_HOME=%%~dpi"
set "PYTHON_HOME=%PYTHON_HOME:~0,-1%"
)
if not exist "%PYTHON_HOME%\python.exe" (
- echo Python路径验证失败:%PYTHON_HOME%
- echo 请检查Python安装路径中是否有python.exe文件
+ echo Python·֤ʧܣ%PYTHON_HOME%
+ echo Pythonװ·Ƿpython.exeļ
exit /b 1
)
-echo 成功设置Python路径:%PYTHON_HOME%
+echo ɹPython·%PYTHON_HOME%
@@ -89,7 +89,7 @@ cls
if exist "%_root%\tools\git\bin" (
set "GIT_HOME=%_root%\tools\git\bin"
) else (
- echo 正在自动查找Git...
+ echo ԶGit...
where git >nul 2>&1
if %errorlevel% equ 0 (
@@ -98,7 +98,7 @@ if exist "%_root%\tools\git\bin" (
goto :validate_git
)
)
- echo 正在扫描常见安装路径...
+ echo ɨ賣װ·...
set "search_paths=!ProgramFiles!\Git\cmd"
for /f "tokens=*" %%d in ("!search_paths!") do (
if exist "%%d\git.exe" (
@@ -106,31 +106,31 @@ if exist "%_root%\tools\git\bin" (
goto :validate_git
)
)
- echo 没有找到Git,要安装吗?
- set /p confirm="继续?(Y/N): "
+ echo ûҵGitҪװ
+ set /p confirm="(Y/N): "
if /i "!confirm!"=="Y" (
cls
- echo 正在安装Git...
+ echo ڰװGit...
set "custom_url=https://ghfast.top/https://github.com/git-for-windows/git/releases/download/v2.48.1.windows.1/Git-2.48.1-64-bit.exe"
set "download_path=%TEMP%\Git-Installer.exe"
- echo 正在下载Git安装包...
+ echo Gitװ...
curl -L -o "!download_path!" "!custom_url!"
if exist "!download_path!" (
- echo 下载成功,开始安装Git...
+ echo سɹʼװGit...
start /wait "" "!download_path!" /SILENT /NORESTART
) else (
- echo 下载失败,请手动安装Git
+ echo ʧܣֶװGit
start https://git-scm.com/download/win
exit /b
)
del "!download_path!"
- echo 临时文件已清理。
+ echo ʱļ
- echo 安装完成,正在验证Git...
+ echo װɣ֤Git...
where git >nul 2>&1
if %errorlevel% equ 0 (
for /f "delims=" %%i in ('where git') do (
@@ -140,28 +140,28 @@ if exist "%_root%\tools\git\bin" (
goto :search_git
) else (
- echo 安装完成,但未找到Git,请手动安装Git
+ echo װɣδҵGitֶװGit
start https://git-scm.com/download/win
exit /b
)
) else (
- echo 取消安装Git,按任意键退出...
+ echo ȡװGit˳...
pause >nul
exit /b
)
- echo 错误:未找到可用的Git!
+ echo δҵõGit
exit /b 1
:validate_git
"%git_path%" --version >nul 2>&1
if %errorlevel% neq 0 (
- echo 无效的Git:%git_path%
+ echo ЧGit%git_path%
exit /b 1
)
- :: 提取安装目录
+ :: ȡװĿ¼
for %%i in ("%git_path%") do set "GIT_HOME=%%~dpi"
set "GIT_HOME=%GIT_HOME:~0,-1%"
)
@@ -170,40 +170,40 @@ if exist "%_root%\tools\git\bin" (
cls
sc query | findstr /i "MongoDB" >nul
if !errorlevel! neq 0 (
- echo MongoDB服务未运行,是否尝试运行服务?
- set /p confirm="是否启动?(Y/N): "
+ echo MongoDBδУǷз
+ set /p confirm="Ƿ(Y/N): "
if /i "!confirm!"=="Y" (
- echo 正在尝试启动MongoDB服务...
+ echo ڳMongoDB...
powershell -Command "Start-Process -Verb RunAs cmd -ArgumentList '/c net start MongoDB'"
- echo 正在等待MongoDB服务启动...
- echo 按下任意键跳过等待...
+ echo ڵȴMongoDB...
+ echo ȴ...
timeout /t 30 >nul
sc query | findstr /i "MongoDB" >nul
if !errorlevel! neq 0 (
- echo MongoDB服务启动失败,可能是没有安装,要安装吗?
- set /p install_confirm="继续安装?(Y/N): "
+ echo MongoDBʧܣûаװҪװ
+ set /p install_confirm="װ(Y/N): "
if /i "!install_confirm!"=="Y" (
- echo 正在安装MongoDB...
+ echo ڰװMongoDB...
winget install --id MongoDB.Server -e --accept-package-agreements --accept-source-agreements
- echo 安装完成,正在启动MongoDB服务...
+ echo װɣMongoDB...
net start MongoDB
if !errorlevel! neq 0 (
- echo 启动MongoDB服务失败,请手动启动
+ echo MongoDBʧܣֶ
exit /b
) else (
- echo MongoDB服务已成功启动
+ echo MongoDBѳɹ
)
) else (
- echo 取消安装MongoDB,按任意键退出...
+ echo ȡװMongoDB˳...
pause >nul
exit /b
)
)
) else (
- echo "警告:MongoDB服务未运行,将导致MaiMBot无法访问数据库!"
+ echo "棺MongoDBδУMaiMBotݿ⣡"
)
) else (
- echo MongoDB服务已运行
+ echo MongoDB
)
@REM set "GIT_HOME=%_root%\tools\git\bin"
@@ -212,47 +212,47 @@ set "PATH=%PYTHON_HOME%;%GIT_HOME%;%PATH%"
:install_maim
if not exist "!_root!\bot.py" (
cls
- echo 你似乎没有安装麦麦Bot,要安装在当前目录吗?
- set /p confirm="继续?(Y/N): "
+ echo ƺûаװBotҪװڵǰĿ¼
+ set /p confirm="(Y/N): "
if /i "!confirm!"=="Y" (
- echo 要使用Git代理下载吗?
- set /p proxy_confirm="继续?(Y/N): "
+ echo ҪʹGit
+ set /p proxy_confirm="(Y/N): "
if /i "!proxy_confirm!"=="Y" (
- echo 正在安装麦麦Bot...
+ echo ڰװBot...
git clone https://ghfast.top/https://github.com/SengokuCola/MaiMBot
) else (
- echo 正在安装麦麦Bot...
+ echo ڰװBot...
git clone https://github.com/SengokuCola/MaiMBot
)
xcopy /E /H /I MaiMBot . >nul 2>&1
rmdir /s /q MaiMBot
git checkout main-fix
- echo 安装完成,正在安装依赖...
+ echo װɣڰװ...
python -m pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
python -m pip install virtualenv
python -m virtualenv venv
call venv\Scripts\activate.bat
python -m pip install -r requirements.txt
- echo 安装完成,要编辑配置文件吗?
- set /p edit_confirm="继续?(Y/N): "
+ echo װɣҪ༭ļ
+ set /p edit_confirm="(Y/N): "
if /i "!edit_confirm!"=="Y" (
goto config_menu
) else (
- echo 取消编辑配置文件,按任意键返回主菜单...
+ echo ȡ༭ļ˵...
)
)
)
-@REM git获取当前分支名并保存在变量里
+@REM gitȡǰ֧ڱ
for /f "delims=" %%b in ('git symbolic-ref --short HEAD 2^>nul') do (
set "BRANCH=%%b"
)
-@REM 根据不同分支名给分支名字符串使用不同颜色
-echo 分支名: %BRANCH%
+@REM ݲַ֧֧ͬʹòͬɫ
+echo ֧: %BRANCH%
if "!BRANCH!"=="main" (
set "BRANCH_COLOR=[92m"
) else if "!BRANCH!"=="main-fix" (
@@ -266,78 +266,78 @@ if "!BRANCH!"=="main" (
@REM endlocal & set "BRANCH_COLOR=%BRANCH_COLOR%"
:check_is_venv
-echo 正在检查虚拟环境状态...
+echo ڼ״̬...
if exist "%_root%\config\no_venv" (
- echo 检测到no_venv,跳过虚拟环境检查
+ echo no_venv,
goto menu
)
-:: 环境检测
+::
if defined VIRTUAL_ENV (
goto menu
)
echo =====================================
-echo 虚拟环境检测警告:
-echo 当前使用系统Python路径:!PYTHON_HOME!
-echo 未检测到激活的虚拟环境!
+echo ⾯棺
+echo ǰʹϵͳPython·!PYTHON_HOME!
+echo δ
:env_interaction
echo =====================================
-echo 请选择操作:
-echo 1 - 创建并激活Venv虚拟环境
-echo 2 - 创建/激活Conda虚拟环境
-echo 3 - 临时跳过本次检查
-echo 4 - 永久跳过虚拟环境检查
-set /p choice="请输入选项(1-4): "
+echo ѡ
+echo 1 - Venv
+echo 2 - /Conda
+echo 3 - ʱμ
+echo 4 -
+set /p choice="ѡ(1-4): "
-if "!choice!" = "4" (
- echo 要永久跳过虚拟环境检查吗?
- set /p no_venv_confirm="继续?(Y/N): ....."
+if "!choice!"=="4" (
+ echo Ҫ
+ set /p no_venv_confirm="(Y/N): ....."
if /i "!no_venv_confirm!"=="Y" (
echo 1 > "%_root%\config\no_venv"
- echo 已创建no_venv文件
+ echo Ѵno_venvļ
pause >nul
goto menu
) else (
- echo 取消跳过虚拟环境检查,按任意键返回...
+ echo ȡ飬...
pause >nul
goto env_interaction
)
)
-if "!choice!" = "3"(
- echo 警告:使用系统环境可能导致依赖冲突!
+if "!choice!"=="3" (
+ echo 棺ʹϵͳܵͻ
timeout /t 2 >nul
goto menu
)
-if "!choice!" = "2" goto handle_conda
-if "!choice!" = "1" goto handle_venv
+if "!choice!"=="2" goto handle_conda
+if "!choice!"=="1" goto handle_venv
-echo 无效的输入,请输入1-4之间的数字
+echo Ч룬1-4֮
timeout /t 2 >nul
goto env_interaction
:handle_venv
python -m pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
-echo 正在初始化Venv环境...
+echo ڳʼVenv...
python -m pip install virtualenv || (
- echo 安装环境失败,错误码:!errorlevel!
+ echo װʧܣ룺!errorlevel!
pause
goto env_interaction
)
-echo 创建虚拟环境到:venv
+echo venv
python -m virtualenv venv || (
- echo 环境创建失败,错误码:!errorlevel!
+ echo ʧܣ룺!errorlevel!
pause
goto env_interaction
)
call venv\Scripts\activate.bat
-echo 已激活Venv环境
-echo 要安装依赖吗?
-set /p install_confirm="继续?(Y/N): "
+echo ѼVenv
+echo Ҫװ
+set /p install_confirm="(Y/N): "
if /i "!install_confirm!"=="Y" (
goto update_dependencies
)
@@ -345,66 +345,70 @@ goto menu
:handle_conda
where conda >nul 2>&1 || (
- echo 未检测到conda,可能原因:
- echo 1. 未安装Miniconda
- echo 2. conda配置异常
+ echo δcondaԭ
+ echo 1. δװMiniconda
+ echo 2. conda쳣
timeout /t 10 >nul
goto env_interaction
)
:conda_menu
-echo 请选择Conda操作:
-echo 1 - 创建新环境
-echo 2 - 激活已有环境
-echo 3 - 返回上级菜单
-set /p choice="请输入选项(1-3): "
+echo ѡConda
+echo 1 - »
+echo 2 - л
+echo 3 - ϼ˵
+set /p choice="ѡ(1-3): "
if "!choice!"=="3" goto env_interaction
if "!choice!"=="2" goto activate_conda
if "!choice!"=="1" goto create_conda
+echo Ч룬1-3֮
+timeout /t 2 >nul
+goto conda_menu
+
:create_conda
-set /p "CONDA_ENV=请输入新环境名称:"
+set /p "CONDA_ENV=»ƣ"
if "!CONDA_ENV!"=="" (
- echo 环境名称不能为空!
+ echo ƲΪգ
goto create_conda
)
conda create -n !CONDA_ENV! python=3.13 -y || (
- echo 环境创建失败,错误码:!errorlevel!
- pause
+ echo ʧܣ룺!errorlevel!
+ timeout /t 10 >nul
goto conda_menu
)
goto activate_conda
:activate_conda
-set /p "CONDA_ENV=请输入要激活的环境名称:"
-conda activate !CONDA_ENV! || (
- echo 激活失败,可能原因:
- echo 1. 环境不存在
- echo 2. conda配置异常
+set /p "CONDA_ENV=ҪĻƣ"
+call conda activate !CONDA_ENV! || (
+ echo ʧܣԭ
+ echo 1.
+ echo 2. conda쳣
pause
goto conda_menu
)
-echo 成功激活conda环境:!CONDA_ENV!
-echo 要安装依赖吗?
-set /p install_confirm="继续?(Y/N): "
+echo ɹconda!CONDA_ENV!
+echo Ҫװ
+set /p install_confirm="(Y/N): "
if /i "!install_confirm!"=="Y" (
goto update_dependencies
)
:menu
@chcp 936
cls
-echo 麦麦Bot控制台 v%VERSION% 当前分支: %BRANCH_COLOR%%BRANCH%[0m
-echo 当前Python环境: [96m!PYTHON_HOME![0m
+echo Bot̨ v%VERSION% ǰ֧: %BRANCH_COLOR%%BRANCH%[0m
+echo ǰPython: [96m!PYTHON_HOME![0m
echo ======================
-echo 1. 更新并启动麦麦Bot (默认)
-echo 2. 直接启动麦麦Bot
-echo 3. 启动麦麦配置界面
-echo 4. 打开麦麦神奇工具箱
-echo 5. 退出
+echo 1. ²Bot (Ĭ)
+echo 2. ֱBot
+echo 3. ý
+echo 4. 湤
+echo 5. ˳
echo ======================
-set /p choice="请输入选项数字 (1-5)并按下回车以选择: "
+set /p choice="ѡ (1-5)»سѡ: "
if "!choice!"=="" set choice=1
@@ -414,7 +418,7 @@ if "!choice!"=="3" goto config_menu
if "!choice!"=="4" goto tools_menu
if "!choice!"=="5" exit /b
-echo 无效的输入,请输入1-5之间的数字
+echo Ч룬1-5֮
timeout /t 2 >nul
goto menu
@@ -437,18 +441,18 @@ goto menu
:tools_menu
@chcp 936
cls
-echo 麦麦时尚工具箱 当前分支: %BRANCH_COLOR%%BRANCH%[0m
+echo ʱй ǰ֧: %BRANCH_COLOR%%BRANCH%[0m
echo ======================
-echo 1. 更新依赖
-echo 2. 切换分支
-echo 3. 重置当前分支
-echo 4. 更新配置文件
-echo 5. 学习新的知识库
-echo 6. 打开知识库文件夹
-echo 7. 返回主菜单
+echo 1.
+echo 2. л֧
+echo 3. õǰ֧
+echo 4. ļ
+echo 5. ѧϰµ֪ʶ
+echo 6. ֪ʶļ
+echo 7. ˵
echo ======================
-set /p choice="请输入选项数字: "
+set /p choice="ѡ: "
if "!choice!"=="1" goto update_dependencies
if "!choice!"=="2" goto switch_branch
if "!choice!"=="3" goto reset_branch
@@ -457,29 +461,29 @@ if "!choice!"=="5" goto learn_new_knowledge
if "!choice!"=="6" goto open_knowledge_folder
if "!choice!"=="7" goto menu
-echo 无效的输入,请输入1-6之间的数字
+echo Ч룬1-6֮
timeout /t 2 >nul
goto tools_menu
:update_dependencies
cls
-echo 正在更新依赖...
+echo ڸ...
python -m pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
python.exe -m pip install -r requirements.txt
-echo 依赖更新完成,按任意键返回工具箱菜单...
+echo ɣع˵...
pause
goto tools_menu
:switch_branch
cls
-echo 正在切换分支...
-echo 当前分支: %BRANCH%
-@REM echo 可用分支: main, debug, stable-dev
-echo 1. 切换到[92mmain[0m
-echo 2. 切换到[91mmain-fix[0m
-echo 请输入要切换到的分支:
-set /p branch_name="分支名: "
+echo л֧...
+echo ǰ֧: %BRANCH%
+@REM echo ÷֧: main, debug, stable-dev
+echo 1. л[92mmain[0m
+echo 2. л[91mmain-fix[0m
+echo Ҫлķ֧:
+set /p branch_name="֧: "
if "%branch_name%"=="" set branch_name=main
if "%branch_name%"=="main" (
set "BRANCH_COLOR=[92m"
@@ -494,32 +498,32 @@ if "%branch_name%"=="main" (
set "BRANCH_COLOR=[91m"
set "branch_name=main-fix"
) else (
- echo 无效的分支名, 请重新输入
+ echo Чķ֧,
timeout /t 2 >nul
goto switch_branch
)
-echo 正在切换到分支 %branch_name%...
+echo л֧ %branch_name%...
git checkout %branch_name%
-echo 分支切换完成,当前分支: %BRANCH_COLOR%%branch_name%[0m
+echo ֧лɣǰ֧: %BRANCH_COLOR%%branch_name%[0m
set "BRANCH=%branch_name%"
-echo 按任意键返回工具箱菜单...
+echo ع˵...
pause >nul
goto tools_menu
:reset_branch
cls
-echo 正在重置当前分支...
-echo 当前分支: !BRANCH!
-echo 确认要重置当前分支吗?
-set /p confirm="继续?(Y/N): "
+echo õǰ֧...
+echo ǰ֧: !BRANCH!
+echo ȷҪõǰ֧
+set /p confirm="(Y/N): "
if /i "!confirm!"=="Y" (
- echo 正在重置当前分支...
+ echo õǰ֧...
git reset --hard !BRANCH!
- echo 分支重置完成,按任意键返回工具箱菜单...
+ echo ֧ɣع˵...
) else (
- echo 取消重置当前分支,按任意键返回工具箱菜单...
+ echo ȡõǰ֧ع˵...
)
pause >nul
goto tools_menu
@@ -527,44 +531,44 @@ goto tools_menu
:update_config
cls
-echo 正在更新配置文件...
-echo 请确保已备份重要数据,继续将修改当前配置文件。
-echo 继续请按Y,取消请按任意键...
-set /p confirm="继续?(Y/N): "
+echo ڸļ...
+echo ȷѱҪݣĵǰļ
+echo 밴Yȡ밴...
+set /p confirm="(Y/N): "
if /i "!confirm!"=="Y" (
- echo 正在更新配置文件...
+ echo ڸļ...
python.exe config\auto_update.py
- echo 配置文件更新完成,按任意键返回工具箱菜单...
+ echo ļɣع˵...
) else (
- echo 取消更新配置文件,按任意键返回工具箱菜单...
+ echo ȡļع˵...
)
pause >nul
goto tools_menu
:learn_new_knowledge
cls
-echo 正在学习新的知识库...
-echo 请确保已备份重要数据,继续将修改当前知识库。
-echo 继续请按Y,取消请按任意键...
-set /p confirm="继续?(Y/N): "
+echo ѧϰµ֪ʶ...
+echo ȷѱҪݣĵǰ֪ʶ⡣
+echo 밴Yȡ밴...
+set /p confirm="(Y/N): "
if /i "!confirm!"=="Y" (
- echo 正在学习新的知识库...
+ echo ѧϰµ֪ʶ...
python.exe src\plugins\zhishi\knowledge_library.py
- echo 学习完成,按任意键返回工具箱菜单...
+ echo ѧϰɣع˵...
) else (
- echo 取消学习新的知识库,按任意键返回工具箱菜单...
+ echo ȡѧϰµ֪ʶ⣬ع˵...
)
pause >nul
goto tools_menu
:open_knowledge_folder
cls
-echo 正在打开知识库文件夹...
+echo ڴ֪ʶļ...
if exist data\raw_info (
start explorer data\raw_info
) else (
- echo 知识库文件夹不存在!
- echo 正在创建文件夹...
+ echo ֪ʶļвڣ
+ echo ڴļ...
mkdir data\raw_info
timeout /t 2 >nul
)
@@ -577,18 +581,18 @@ cls
git pull > temp.log 2>&1
findstr /C:"detected dubious ownership" temp.log >nul
if %errorlevel% equ 0 (
- echo 检测到仓库权限问题,正在自动修复...
+ echo ֿȨ⣬Զ...
git config --global --add safe.directory "%cd%"
- echo 已添加例外,正在重试git pull...
+ echo ⣬git pull...
del temp.log
goto retry_git_pull
)
del temp.log
-echo 正在更新依赖...
+echo ڸ...
python -m pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
python -m pip install -r requirements.txt && cls
-echo 当前代理设置:
+echo ǰ:
echo HTTP_PROXY=%HTTP_PROXY%
echo HTTPS_PROXY=%HTTPS_PROXY%
@@ -600,17 +604,17 @@ set no_proxy=0.0.0.0/32
REM chcp 65001
python bot.py
echo.
-echo Bot已停止运行,按任意键返回主菜单...
+echo BotֹͣУ˵...
pause >nul
goto menu
:start_bot
cls
-echo 正在更新依赖...
+echo ڸ...
python -m pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
python -m pip install -r requirements.txt && cls
-echo 当前代理设置:
+echo ǰ:
echo HTTP_PROXY=%HTTP_PROXY%
echo HTTPS_PROXY=%HTTPS_PROXY%
@@ -622,7 +626,7 @@ set no_proxy=0.0.0.0/32
REM chcp 65001
python bot.py
echo.
-echo Bot已停止运行,按任意键返回主菜单...
+echo BotֹͣУ˵...
pause >nul
goto menu
diff --git a/README.md b/README.md
index 6794b5e19..5f8f75627 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,81 @@
+# 关于项目分支调整与贡献指南的重要通知
+
+ - 📂 致所有为麦麦提交过贡献,以及想要为麦麦提交贡献的朋友们!
+
+---
+
+**📢 关于项目分支调整与贡献指南的重要通知**
+**致所有关注MaiMBot的开发者与贡献者:**
+
+首先,我们由衷感谢大家近期的热情参与!感谢大家对MaiMBot的喜欢,项目突然受到广泛关注让我们倍感惊喜,也深深感受到开源社区的温暖力量。为了保障项目长期健康发展,我们不得不对开发流程做出重要调整,恳请理解与支持。
+
+---
+
+### **📌 本次调整的核心原因**
+
+1. **维护团队精力有限**
+ 核心成员(包括我本人)均为在校学生/在职开发者,近期涌入的大量PR和意见已远超我们的处理能力。为确保本职工作与项目质量,我们必须优化协作流程。
+
+2. **重构核心架构的紧迫性**
+ 当前我们正与核心团队全力重构项目底层逻辑,这是为未来扩展性、性能提升打下的必要基础,需要高度专注。
+
+3. **保障现有用户的稳定性**
+ 我们深知许多用户已依赖当前版本,因此必须划分清晰的维护边界,确保生产环境可用性。
+
+---
+
+### **🌿 全新分支策略与贡献指南**
+
+为平衡上述目标,即日起启用以下分支结构:
+
+| 分支 | 定位 | 接受PR类型 | 提交对象 |
+| ---------- | ---------------------------- | --------------------------------------------- | ---------------- |
+| `main` | **稳定版**(供下载使用) | 仅接受来自`main-fix`的合并 | 维护团队直接管理 |
+| `main-fix` | 生产环境紧急修复 | 明确的功能缺陷修复(需附带复现步骤/测试用例) | 所有开发者 |
+| `refactor` | 重构版(**不兼容当前main**) | 仅重构与相关Bug修复 | 重构小组维护 |
+
+---
+
+### **⚠️ 对现有PR的处理说明**
+
+由于分支结构调整,**GitHub已自动关闭所有未合并的PR**,这并非否定您的贡献价值!如果您认为自己的PR符合以下条件:
+
+- 属于`main-fix`明确的**功能性缺陷修复**(非功能增强) ,包括非预期行为和严重报错,需要发布issue讨论确定。
+- 属于`refactor`分支的**重构适配性修复**
+
+**欢迎您重新提交到对应分支**,并在PR描述中标注`[Re-submit from closed PR]`,我们将优先审查。其他类型PR暂缓受理,但您的创意我们已记录在案,未来重构完成后将重新评估。
+
+---
+
+### **🙏 致谢与协作倡议**
+
+- 感谢每一位提交Issue、PR、参与讨论的开发者!您的每一行代码都是maim吃的
+- 特别致敬在交流群中积极答疑的社区成员,你们自发维护的氛围令人感动❤️ ,maim哭了
+- **重构期间的非代码贡献同样珍贵**:文档改进、测试用例补充、用户反馈整理等,欢迎通过Issue认领任务!
+
+---
+
+### **📬 高效协作小贴士**
+
+1. **提交前请先讨论**:创建Issue描述问题,确认是否符合`main-fix`修复范围
+2. **对重构提出您的想法**:如果您对重构版有自己的想法,欢迎提交讨论issue亟需测试伙伴,欢迎邮件联系`team@xxx.org`报名
+3. **部分main-fix的功能在issue讨论后,经过严格讨论,一致决定可以添加功能改动或修复的,可以提交pr**
+
+---
+
+**谢谢大家谢谢大家谢谢大家谢谢大家谢谢大家谢谢大家!**
+虽然此刻不得不放缓脚步,但这一切都是为了跳得更高。期待在重构完成后与各位共建更强大的版本!
+
+千石可乐 敬上
+2025年3月14日
+
+