/root/.openclaw/workspace/tasks/task-search-xianjia01/task.md/root/.openclaw/workspace/tasks/task-search-xianjia01/session.md使用新搜索方案(SearXNG + search.py 专项搜索 + 代理 fallback)搜索"仙家军"相关信息,归纳整理后汇报给爱衣。
Ai.Rev(搜索 + 归纳)→ 爱衣质检
agent:reviewer:main)任务:按照以下搜索方案,搜集仙家军相关信息,归纳整理成结构化报告。
SearXNG 本地实例端口:8889(不是 4000)
# 基础搜索
curl -s "http://localhost:8889/search?q=%22仙家军%22&format=json" | python3 -c "
import json,sys
d=json.load(sys.stdin)
print(f'共 {len(d.get(\"results\",[]))} 条')
for r in d.get('results', [])[:15]:
print(r.get('title','')[:70])
print(' ', r.get('content','')[:100])
print()
"
# 补充搜索词变体
curl -s "http://localhost:8889/search?q=%22仙家军%22+网络暴力&format=json" | python3 -c "..."
curl -s "http://localhost:8889/search?q=%22仙家军%22+游戏+被捕&format=json" | python3 -c "..."
目标:从 SearXNG 收集 20+ 条有效结果(去重后),了解基本轮廓。
search.py 路径:/root/.openclaw/workspace/scripts/search.py
执行目录:/root/.openclaw/workspace/
社区类(重点):
cd /root/.openclaw/workspace
# B站(走代理避免风控)
python3 scripts/search.py -c community -e bilibili -q "仙家军" -n 10 -f json 2>/dev/null
# StackOverflow/HackerNews(英文视角,可能无结果)
python3 scripts/search.py -c community -e hackernews -q "xianjia army" -n 5 -f json 2>/dev/null
新闻类:
python3 scripts/search.py -c news -e rss -q "仙家军" -n 5 -f json 2>/dev/null
通用网页:
python3 scripts/search.py -c web -e baidu -q "仙家军 是什么" -n 8 -f json 2>/dev/null
python3 scripts/search.py -c web -e bing -q "仙家军 网络暴力" -n 8 -f json 2>/dev/null
代理 fallback 说明:
- search.py 本身已加载代理池(/root/.openclaw/tools/proxy-tunnels/tunnels.conf)
- 若某个源返回空结果或报错,可手动用代理重试:
# 手动用代理抓 B站
python3 -c "
import requests, re, urllib.parse
proxy = 'socks5://127.0.0.1:50005' # HK节点
proxies = {'http': proxy, 'https': proxy}
headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 Chrome/120.0.0.0 Safari/537.36', 'Referer': 'https://www.bilibili.com/'}
url = 'https://search.bilibili.com/all?' + urllib.parse.urlencode({'keyword': '仙家军', 'page': 1})
r = requests.get(url, headers=headers, proxies=proxies, timeout=15)
items = re.findall(r'<a[^>]+href=\"(//(?:www\.bilibili\.com/video|b23\.tv)/[^\"]+)\"[^>]*[^>]*>(.*?)</a>', r.text, re.DOTALL)
for href, title_html in items[:15]:
title = re.sub(r'<[^>]+>', '', title_html).strip()
if title and len(title.strip()) >= 4 and not re.match(r'^[\d\s:,.万亿]+$', title):
print(title)
" 2>/dev/null
# 换页继续搜(page=2)
可用代理节点:
- socks5://127.0.0.1:50005 — HK
- socks5://127.0.0.1:50004 — SG
- socks5://127.0.0.1:50009 — HK(备用)
收集到 30-40 条有效内容后再归纳(不要只看4-5条就下结论)。
归纳报告格式:
## 仙家军是什么
(核心定义,2-3句)
## 起源与背景
(从哪个游戏/社区来的?什么时间?)
## 主要行为
(做了什么事?)
## 事件经过
(有哪些标志性事件?)
## 现状
(是否被打击?后续如何?)
## 信息来源平台
(主要从哪些平台收集到信息)
开始时:
1. 发工作日志:
bash
/root/.openclaw/workspace/scripts/log-to-channel.sh reviewer receive "仙家军信息搜索" task-search-xianjia01
完成后:
1. 将搜索过程简记 + 完整归纳报告追加到 /root/.openclaw/workspace/tasks/task-search-xianjia01/session.md
2. 发工作日志:
bash
/root/.openclaw/workspace/scripts/log-to-channel.sh reviewer handoff "仙家军信息搜索" main task-search-xianjia01
3. sessions_send 通知爱衣(agent:main:main):
task_id=task-search-xianjia01
task=/root/.openclaw/workspace/tasks/task-search-xianjia01/task.md
du -sb /root/.openclaw/workspace/tasks/task-search-xianjia01/
wc -l /root/.openclaw/workspace/tasks/task-search-xianjia01/session.md
若行数 N > 0,read session.md 全文。
通用检查(每次必须):
- 产出是否符合原始需求?
- 执行过程是否有明显问题?
任务特定检查:
- 是否使用了 SearXNG + search.py 两种方式?
- 收集的信息是否达到 20+ 条有效结果?
- 归纳报告是否覆盖了定义/起源/行为/事件/现状五个维度?
通过 →
1. 发工作日志:
bash
/root/.openclaw/workspace/scripts/log-to-channel.sh main done "仙家军信息搜索" task-search-xianjia01
2. 用 message 工具发送给主人(telegram, 92763607),发送完整归纳报告
⚠️ 必须调用 message 工具,不能只在主对话回复
不通过(rejectCount == 0) →
1. 分析问题根因,设计新执行链
2. 创建新的 task.md(task_id 加后缀 -retry1),session.md 独立
3. 在原 session.md 末尾追加一行 rejectCount=1
4. sessions_send 给新执行链起始 Agent
5. 发工作日志:
bash
/root/.openclaw/workspace/scripts/log-to-channel.sh main retry "仙家军信息搜索" "<新执行链>" <起始role> 1 task-search-xianjia01
rejectCount >= 1(第二次仍失败) →
1. 发工作日志:
bash
/root/.openclaw/workspace/scripts/log-to-channel.sh main fail "仙家军信息搜索" task-search-xianjia01
2. message 主人,归纳问题和两次失败原因,请主人裁决