#!/bin/bash # 配置部分 - 可以根据需要修改 FOLDERS_TO_COPY=(".claude") # 要复制的文件夹列表 FILES_TO_COPY=("CLAUDE.md" "clone_project.sh") # 要复制的具体文件列表 FILE_EXTENSIONS=("pdf") # 要复制的文件后缀列表 # Python 依赖包配置 PYTHON_REQUIREMENTS=( "langgraph" "langchain-openai" "langchain-google-genai" ) # 获取当前文件夹名称 CURRENT_FOLDER=$(basename "$(pwd)") # 获取当前日期(格式:MMDD_HHMM) DATE=$(date +"%m%d_%H%M") # 组合新文件夹名称 NEW_FOLDER="${CURRENT_FOLDER}_${DATE}" # 在父目录中创建新文件夹的完整路径 NEW_FOLDER_PATH="../${NEW_FOLDER}" echo "当前文件夹: $CURRENT_FOLDER" echo "新文件夹名称: $NEW_FOLDER" echo "新文件夹路径: $NEW_FOLDER_PATH" # 检查新文件夹是否已存在 if [ -d "$NEW_FOLDER_PATH" ]; then echo "错误: 文件夹 '$NEW_FOLDER_PATH' 已存在" exit 1 fi # 在父目录中创建新文件夹 echo "在父目录中创建文件夹: $NEW_FOLDER" mkdir -p "$NEW_FOLDER_PATH" # 复制指定的文件夹 echo "正在复制指定文件夹..." for folder in "${FOLDERS_TO_COPY[@]}"; do if [ -d "$folder" ]; then echo "复制文件夹: $folder 到 $NEW_FOLDER" cp -r "$folder" "$NEW_FOLDER_PATH/" else echo "警告: 文件夹 '$folder' 不存在,跳过复制" fi done # 复制指定的文件 echo "正在复制指定文件..." for file in "${FILES_TO_COPY[@]}"; do if [ -f "$file" ]; then echo "复制文件: $file 到 $NEW_FOLDER" cp "$file" "$NEW_FOLDER_PATH/" else echo "警告: 文件 '$file' 不存在,跳过复制" fi done # 复制指定后缀的文件 echo "正在复制指定后缀的文件..." for ext in "${FILE_EXTENSIONS[@]}"; do FILES_FOUND=$(find . -maxdepth 1 -name "*.${ext}" -type f) if [ -n "$FILES_FOUND" ]; then echo "复制 *.${ext} 文件到 $NEW_FOLDER" cp *.${ext} "$NEW_FOLDER_PATH/" 2>/dev/null echo "已复制的 *.${ext} 文件:" ls -1 "$NEW_FOLDER_PATH"/*.${ext} 2>/dev/null | sed 's/.*\// - /' else echo "警告: 当前目录下没有找到 *.${ext} 文件" fi done # 创建 requirements.txt 文件 echo "正在创建 requirements.txt 文件..." REQUIREMENTS_FILE="$NEW_FOLDER_PATH/requirements.txt" > "$REQUIREMENTS_FILE" # 清空文件 for package in "${PYTHON_REQUIREMENTS[@]}"; do echo "$package" >> "$REQUIREMENTS_FILE" done echo "requirements.txt 文件已创建,包含以下依赖包:" cat "$REQUIREMENTS_FILE" | sed 's/^/ - /' echo "操作完成!" echo "新文件夹 '$NEW_FOLDER' 已创建,并已复制相关文件。" # 检查 conda 是否可用 if ! command -v conda &> /dev/null; then echo "错误: conda 未找到,请确保已安装 conda 并添加到 PATH" exit 1 fi # 初始化 conda(确保在当前 shell 中生效) eval "$(conda shell.bash hook)" echo "正在创建 conda 环境: ${NEW_FOLDER}" conda create -n "${NEW_FOLDER}" python=3.10 -y echo "正在激活环境并安装依赖包..." conda run -n "${NEW_FOLDER}" pip install -r "${NEW_FOLDER_PATH}/requirements.txt" echo "✅ 环境创建完成!" echo "📋 使用以下命令激活环境:" echo " conda activate ${NEW_FOLDER}" echo "" echo "📦 已安装的包:" conda run -n "${NEW_FOLDER}" pip list | grep -E "(langgraph|langchain)" echo "新工程路径:" echo " $(cd .. && pwd)/$NEW_FOLDER" #删除 conda env remove -n env_name