任务 ID: task-search-xianjia01  |  文件: task.md  |  最后修改: 2026-02-24 13:46:51

Task task-search-xianjia01 — 仙家军信息搜索与归纳

文件路径

原始需求

使用新搜索方案(SearXNG + search.py 专项搜索 + 代理 fallback)搜索"仙家军"相关信息,归纳整理后汇报给爱衣。


执行链

Ai.Rev(搜索 + 归纳)→ 爱衣质检


各 Agent 职责


Ai.Rev(session key: agent:reviewer:main

任务:按照以下搜索方案,搜集仙家军相关信息,归纳整理成结构化报告。


📋 搜索方案

第一步:SearXNG 广度搜索(建立基础认知)

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 专项深入搜索

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


⚠️ 爱衣质检 SOP(收到最终通知后执行)

Step 1:评估工作区大小

du -sb /root/.openclaw/workspace/tasks/task-search-xianjia01/

Step 2:读取 session.md

wc -l /root/.openclaw/workspace/tasks/task-search-xianjia01/session.md

若行数 N > 0,read session.md 全文。

Step 3:质检要点

通用检查(每次必须):
- 产出是否符合原始需求?
- 执行过程是否有明显问题?

任务特定检查:
- 是否使用了 SearXNG + search.py 两种方式?
- 收集的信息是否达到 20+ 条有效结果?
- 归纳报告是否覆盖了定义/起源/行为/事件/现状五个维度?

Step 4:输出结论

通过
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 主人,归纳问题和两次失败原因,请主人裁决

超限处理(工作区 > 80KB)

  1. 仅读 task.md(了解需求)
  2. 读 session.md 末尾 200 行
  3. message 主人:任务已完成,但工作区内容繁多(XXkB),建议人工审计,附简单归纳