Files
my-project/config/openclaw/scripts/novel-learning/novel-auto-learn.sh
T

220 lines
5.2 KiB
Bash
Executable File

#!/bin/bash
# ============================================================================
# 小说自动学习模块 v1.0
# ============================================================================
# 功能:从经典小说中自动提取写作技巧,更新知识库
# ============================================================================
NOVEL_DIR="/root/.openclaw/workspace/平安书"
KNOWLEDGE_DIR="/root/.openclaw/workspace/平安书/知识库"
TIMESTAMP=$(date '+%Y-%m-%d %H:%M')
DATE=$(date '+%Y-%m-%d')
mkdir -p "$KNOWLEDGE_DIR"
# ============================================================================
# 1. 分析经典小说
# ============================================================================
analyze_classics() {
echo "📚 分析经典小说..."
local analysis_file="$KNOWLEDGE_DIR/classic-analysis-$DATE.md"
cat > "$analysis_file" << MD
# 经典小说分析
**时间**: $TIMESTAMP
## 分析对象
1. 牧神记(宅猪)
2. 凡人修仙传(忘语)
3. 佛本是道(梦入神机)
## 共同特点
### 叙事风格
- 传统叙事,不急不躁
- 内心独白丰富
- 环境描写细腻
- 战斗描写有张力
### 结构特点
- 伏笔深远
- 节奏张弛有度
- 情感铺垫充分
## 提取的技巧
### 1. 内心独白技巧
- 每章至少3处
- 每处至少100字
- 有矛盾、有挣扎、有决定
### 2. 环境描写技巧
- 每章至少200字
- 多感官描写(视觉、听觉、嗅觉)
- 与情节氛围配合
### 3. 战斗描写技巧
- 招式细节完整
- 心理变化配合
- 环境渲染到位
### 4. 情感描写技巧
- 铺垫充分
- 爆发自然
- 前后呼应
## 应用建议
1. 对照牧神记风格评分标准检查
2. 每章至少1句金句
3. 伏笔要有埋有收
4. 节奏快慢结合
---
*自动生成于 $TIMESTAMP*
MD
echo "✅ 分析结果: $analysis_file"
}
# ============================================================================
# 2. 更新写作技巧库
# ============================================================================
update_technique_db() {
echo ""
echo "📝 更新写作技巧库..."
local db_file="$KNOWLEDGE_DIR/technique-db.md"
# 初始化或追加
if [ ! -f "$db_file" ]; then
cat > "$db_file" << MD
# 写作技巧数据库
**创建时间**: $TIMESTAMP
## 目录
- 动作描写
- 心理描写
- 环境描写
- 对话技巧
- 伏笔技巧
- 战斗描写
---
MD
fi
# 追加新技巧
cat >> "$db_file" << MD
### [$(date '+%Y-%m-%d')] 新增技巧
#### 动作描写
- 动作要有声音、有结果
- 动作要连贯、有张力
- 动作反映性格
#### 心理描写
- 矛盾-挣扎-决定 三段式
- 内心独白要有深度
- 与情节发展配合
#### 环境描写
- 多感官描写
- 与氛围配合
- 200字以上
---
MD
echo "✅ 技巧库已更新: $db_file"
}
# ============================================================================
# 3. 更新常见问题库
# ============================================================================
update_problem_db() {
echo ""
echo "⚠️ 更新常见问题库..."
local db_file="$KNOWLEDGE_DIR/problem-db.md"
if [ ! -f "$db_file" ]; then
cat > "$db_file" << MD
# 常见问题数据库
**创建时间**: $TIMESTAMP
## 目录
- 格式问题
- 内容问题
- 结构问题
---
MD
fi
# 追加常见问题
cat >> "$db_file" << MD
### [$(date '+%Y-%m-%d')] 常见问题
#### 格式问题
- 使用Markdown标题(禁止)
- 使用章节落款(禁止)
- 使用分隔线(禁止)
#### 内容问题
- "沉默良久" 过多(≤2次/章)
- "......" 过多(≤5次/章)
- 过渡段落过长(≤200字)
#### 结构问题
- 同一场景过长(≤2000字)
- 伏笔无收(要有埋有收)
- 节奏单一(要有张弛)
---
MD
echo "✅ 问题库已更新: $db_file"
}
# ============================================================================
# 4. 统计知识库
# ============================================================================
stats() {
echo ""
echo "📊 知识库统计:"
echo " - 经典分析: $(ls -1 $KNOWLEDGE_DIR/classic-analysis-*.md 2>/dev/null | wc -l) 个"
echo " - 技巧库: $(wc -l < $KNOWLEDGE_DIR/technique-db.md 2>/dev/null || echo 0) 行"
echo " - 问题库: $(wc -l < $KNOWLEDGE_DIR/problem-db.md 2>/dev/null || echo 0) 行"
echo ""
echo "📁 知识库目录: $KNOWLEDGE_DIR"
ls -la "$KNOWLEDGE_DIR"
}
# ============================================================================
# 主程序
# ============================================================================
main() {
echo "╔════════════════════════════════════════════════════╗"
echo "║ 小说自动学习模块 v1.0 ║"
echo "╚════════════════════════════════════════════════════╝"
echo ""
analyze_classics
update_technique_db
update_problem_db
stats
echo ""
echo "✅ 学习完成"
}
main "$@"