#!/bin/bash # 小说项目创建工具 # 用法: ./create_novel_project.sh 项目名称 "小说名称" 类型 if [ $# -lt 3 ]; then echo "用法: $0 项目目录名 小说名称 类型" echo "示例: $0 末日重生_囤货 \"末日重生-开局囤货十亿物资\" 末世重生" exit 1 fi PROJECT_DIR="$1" NOVEL_NAME="$2" NOVEL_TYPE="$3" PROJECTS_ROOT="/root/.openclaw/workspace/projects" TARGET_DIR="$PROJECTS_ROOT/$PROJECT_DIR" # 检查是否已存在 if [ -d "$TARGET_DIR" ]; then echo "错误: 项目目录 '$PROJECT_DIR' 已存在" exit 1 fi # 创建项目目录 echo "创建项目: $NOVEL_NAME" mkdir -p "$TARGET_DIR" cd "$TARGET_DIR" # 初始化Git仓库 git init git config user.name "唐天洛" git config user.email "563415956@qq.com" # 创建基础目录结构 mkdir -p chapters outlines assets/characters assets/settings assets/plots tools sync progress # 创建PROJECT.md cat > PROJECT.md << EOF # 《$NOVEL_NAME》项目 ## 项目信息 - **书名**: $NOVEL_NAME - **类型**: $NOVEL_TYPE - **状态**: 新项目 - **目标平台**: 番茄小说 - **作者**: 唐天洛 - **创建时间**: $(date '+%Y年%m月%d日') ## 项目结构 \`\`\` $PROJECT_DIR/ ├── PROJECT.md # 项目说明(本文件) ├── README.md # 项目详细介绍 ├── chapters/ # 章节文件 ├── outlines/ # 大纲和规划 ├── assets/ # 资源文件 │ ├── characters/ # 人物资料 │ ├── settings/ # 世界观设定 │ └── plots/ # 情节设计 ├── tools/ # 项目工具 ├── sync/ # 同步配置 └── progress/ # 进度跟踪 \`\`\` ## 当前进度 - **章节**: 0章 - **字数**: 0字 - **状态**: 规划阶段 ## 平台要求 - **番茄黄金三章**: 待完成 - **章节结构**: 承接→推进→高潮→钩子 - **字数要求**: 每章2500-3500字 - **更新要求**: 日更4000字(全勤奖最低要求) ## 创作计划 1. **第一阶段**: 人物设定和世界观构建 2. **第二阶段**: 大纲规划和爽点设计 3. **第三阶段**: 黄金三章创作 4. **第四阶段**: 持续更新 EOF # 创建README.md cat > README.md << EOF # 《$NOVEL_NAME》 ## 项目简介 $NOVEL_TYPE题材小说,$NOVEL_NAME ## 项目状态 - 🟡 规划阶段 - 📅 创建时间: $(date '+%Y-%m-%d') - ✍️ 作者: 唐天洛 ## 快速开始 1. 在 \`outlines/\` 目录下规划大纲 2. 在 \`assets/\` 目录下创建人物和设定 3. 在 \`chapters/\` 目录下创作章节 4. 使用 \`tools/\` 中的工具进行管理 ## 目录说明 - \`chapters/\` - 章节文件 (.md格式) - \`outlines/\` - 大纲文件 - \`assets/characters/\` - 人物设定 - \`assets/settings/\` - 世界观设定 - \`assets/plots/\` - 情节设计 - \`tools/\` - 管理工具 - \`sync/\` - 同步配置 - \`progress/\` - 进度跟踪 ## 更新日志 - $(date '+%Y-%m-%d'): 项目创建 EOF # 创建.gitignore cat > .gitignore << EOF # 临时文件 *.tmp *.log *.bak # 系统文件 .DS_Store Thumbs.db # 编辑器文件 .vscode/ .idea/ *.swp # 配置文件(包含敏感信息) config.json *.key *.pem .env # 大文件 *.zip *.rar *.7z EOF # 创建基础工具 cat > tools/章节统计.sh << 'EOF' #!/bin/bash # 章节统计工具 echo "=== 章节统计 ===" echo "项目: 《'$NOVEL_NAME'》" echo "统计时间: $(date '+%Y-%m-%d %H:%M:%S')" echo "" # 统计章节数量 if [ -d "chapters" ]; then CHAPTER_COUNT=$(find chapters -name "*.md" | wc -l) echo "章节数量: $CHAPTER_COUNT" # 统计总字数 TOTAL_WORDS=0 for file in chapters/*.md; do if [ -f "$file" ]; then WORDS=$(wc -w < "$file" 2>/dev/null || echo 0) TOTAL_WORDS=$((TOTAL_WORDS + WORDS)) fi done echo "总字数: $TOTAL_WORDS" # 显示最近章节 echo "最近章节:" find chapters -name "*.md" -exec ls -lt {} + | head -5 | awk '{print $9}' else echo "chapters目录不存在" fi echo "" echo "=== 统计完成 ===" EOF chmod +x tools/章节统计.sh # 创建进度跟踪文件 cat > progress/更新日志.md << EOF # 更新日志 ## $(date '+%Y年%m月') ### $(date '+%Y-%m-%d') - [x] 项目创建 - [ ] 人物设定完成 - [ ] 大纲规划完成 - [ ] 第一章完成 EOF # 初始化提交 git add . git commit -m "项目初始化: $NOVEL_NAME" echo "" echo "✅ 项目创建完成: $TARGET_DIR" echo "📖 小说: $NOVEL_NAME" echo "📁 目录结构已创建" echo "🔧 Git仓库已初始化" echo "" echo "下一步:" echo "1. 在 outlines/ 目录下规划大纲" echo "2. 在 assets/ 目录下创建人物设定" echo "3. 开始创作第一章"