每日备份 2026-06-10 12:57:13
This commit is contained in:
1 parent
fda2ccb8c2
commit
3d2e638c6a
244 files changed
+58890
-3
No files matched your search
Executable
+212
@@ -0,0 +1,212 @@
|
||||
#!/bin/bash
|
||||
# 1号机学习工作流 v3.0
|
||||
# 完整流程: 搜索 → 学习 → 分析 → 总结 → 内化
|
||||
|
||||
LEARNING_DIR="/root/.openclaw/workspace/memory"
|
||||
BRAVE_API_KEY="BSAPuOacSUCIDGzg53VSPTcMQI_p0_G"
|
||||
DATE=$(date '+%Y-%m-%d %H:%M:%S')
|
||||
|
||||
echo "=== 1号机学习任务开始 ==="
|
||||
echo "时间: $DATE"
|
||||
echo ""
|
||||
|
||||
# ========================
|
||||
# Brave 搜索函数
|
||||
# ========================
|
||||
brave_search() {
|
||||
local query="$1"
|
||||
local count="${2:-5}"
|
||||
|
||||
echo "🔍 搜索: $query"
|
||||
|
||||
local response
|
||||
response=$(curl -s -H "X-Subscription-Token: $BRAVE_API_KEY" \
|
||||
"https://api.search.brave.com/res/v1/web/search?q=$(echo "$query" | tr ' ' '+')&count=$count")
|
||||
|
||||
if [ -z "$response" ]; then
|
||||
echo " ✗ 搜索失败"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# 提取 URL
|
||||
local urls
|
||||
urls=$(echo "$response" | grep -oE '"url":"[^"]+"' | sed 's/"url":"//;s/"$//' | head -"$count")
|
||||
|
||||
if [ -z "$urls" ]; then
|
||||
echo " ✗ 未找到结果"
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo " ✓ 找到 $(echo "$urls" | wc -l) 个结果"
|
||||
echo "$urls"
|
||||
}
|
||||
|
||||
# ========================
|
||||
# 学习 + 分析函数
|
||||
# ========================
|
||||
learn_and_analyze() {
|
||||
local topic="$1"
|
||||
local category="$2" # article / novel / stock
|
||||
local url="$3"
|
||||
local output_dir="$LEARNING_DIR/$category"
|
||||
|
||||
echo " 📚 学习: $url"
|
||||
|
||||
mkdir -p "$output_dir/completed"
|
||||
|
||||
# 获取内容
|
||||
local content
|
||||
content=$(curl -s "$url" 2>/dev/null)
|
||||
|
||||
if [ -z "$content" ]; then
|
||||
echo " ✗ 获取失败"
|
||||
return 1
|
||||
fi
|
||||
|
||||
local output_file="$output_dir/completed/$(echo "$url" | md5sum | cut -d' ' -f1).md"
|
||||
|
||||
# 生成分析报告
|
||||
{
|
||||
echo "# $url"
|
||||
echo "主题: $topic"
|
||||
echo "分类: $category"
|
||||
echo "学习时间: $DATE"
|
||||
echo ""
|
||||
echo "---"
|
||||
echo ""
|
||||
echo "## 📝 原文内容"
|
||||
echo ""
|
||||
echo "$content"
|
||||
echo ""
|
||||
echo "---"
|
||||
echo ""
|
||||
echo "## 🧠 分析总结"
|
||||
echo ""
|
||||
echo "### 核心观点"
|
||||
echo "- "
|
||||
echo ""
|
||||
echo "### 关键要点"
|
||||
echo "- "
|
||||
echo ""
|
||||
echo "### 启发思考"
|
||||
echo "- "
|
||||
echo ""
|
||||
echo "### 与已有知识的关联"
|
||||
echo "- "
|
||||
echo ""
|
||||
echo "### 可应用场景"
|
||||
echo "- "
|
||||
echo ""
|
||||
echo "## 📚 内化笔记"
|
||||
echo ""
|
||||
echo "用自己的话复述:"
|
||||
echo ""
|
||||
echo "---"
|
||||
echo "学习完成: $DATE"
|
||||
} >> "$output_file"
|
||||
|
||||
echo " ✓ 完成: $(basename "$output_file")"
|
||||
}
|
||||
|
||||
# ========================
|
||||
# 股票特殊处理
|
||||
# ========================
|
||||
analyze_stock() {
|
||||
local symbol="$1"
|
||||
local output_dir="$LEARNING_DIR/stocks"
|
||||
|
||||
mkdir -p "$output_dir/completed"
|
||||
|
||||
echo " 📈 分析: $symbol"
|
||||
|
||||
# 获取股票数据
|
||||
local api_data
|
||||
api_data=$(curl -s "https://query1.finance.yahoo.com/v8/finance/chart/$symbol?interval=1d&range=1mo" 2>/dev/null)
|
||||
|
||||
local close_price
|
||||
close_price=$(echo "$api_data" | grep -oE '"close":\[[0-9.]+\]' | grep -oE '[0-9.]+' | tail -1)
|
||||
|
||||
local output_file="$output_dir/completed/${symbol}_$(date '+%Y%m%d').md"
|
||||
|
||||
{
|
||||
echo "# 股票分析: $symbol"
|
||||
echo "分析时间: $DATE"
|
||||
echo ""
|
||||
echo "## 📊 数据概览"
|
||||
echo "- 当前价格: ${close_price:-N/A}"
|
||||
echo ""
|
||||
echo "## 🧠 技术分析"
|
||||
echo ""
|
||||
echo "### 趋势判断"
|
||||
echo "- 短期: 待分析"
|
||||
echo "- 中期: 待分析"
|
||||
echo ""
|
||||
echo "### 核心要点"
|
||||
echo "- 行业:"
|
||||
echo "- 财务:"
|
||||
echo ""
|
||||
echo "### 操作建议"
|
||||
echo "- 买入:"
|
||||
echo "- 卖出:"
|
||||
echo ""
|
||||
echo "---"
|
||||
echo "分析完成: $DATE"
|
||||
} >> "$output_file"
|
||||
|
||||
echo " ✓ 完成: $output_file"
|
||||
}
|
||||
|
||||
# ========================
|
||||
# 主流程
|
||||
# ========================
|
||||
main() {
|
||||
local topic="$1"
|
||||
local category="$2" # article / novel / stock
|
||||
local count="${3:-5}"
|
||||
|
||||
if [ -z "$topic" ]; then
|
||||
echo "用法: $0 <主题> <类型> [数量]"
|
||||
echo " 类型: article(文章) / novel(小说) / stock(股票)"
|
||||
echo " 示例: $0 '机器学习' article 5"
|
||||
echo " 示例: $0 'AAPL' stock 1"
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "🎯 目标: $topic"
|
||||
echo "📂 类型: $category}"
|
||||
echo ""
|
||||
|
||||
# 执行搜索
|
||||
local urls
|
||||
urls=$(brave_search "$topic" "$count")
|
||||
|
||||
if [ -z "$urls" ]; then
|
||||
echo "✗ 搜索失败,退出"
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=== 开始学习 ==="
|
||||
|
||||
# 学习每个结果
|
||||
local success=0
|
||||
local total=0
|
||||
while IFS= read -r url; do
|
||||
if [ -n "$url" ]; then
|
||||
total=$((total + 1))
|
||||
if [ "$category" = "stock" ]; then
|
||||
analyze_stock "$topic"
|
||||
else
|
||||
learn_and_analyze "$topic" "$category" "$url"
|
||||
fi
|
||||
success=$((success + 1))
|
||||
fi
|
||||
done <<< "$urls"
|
||||
|
||||
echo ""
|
||||
echo "=== 学习完成 ==="
|
||||
echo "成功: $success/$total"
|
||||
echo "结果: $LEARNING_DIR/$category/completed/"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Reference in new issue
Block a user