220 lines
5.2 KiB
Bash
Executable File
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 "$@"
|