InfoSeek performs comprehensive web research on any subject (person, organization, product) across multiple search engines, deduplicates results, extracts clean content, and archives everything with full metadata in organized folders.
Before executing a search task, verify these skills are installed:
python
import os
from pathlib import Path
workspace = os.environ.get('OPENCLAW_WORKSPACE')
skills_dir = Path(workspace) / 'skills'
required = ['baidu-search', 'tavily', 'Multi-Search-Engine', 'agent-browser-clawdbot-0.1.0']
missing = [s for s in required if not (skills_dir / s).exists()]
If any are missing, instruct the user to install them:
bash
openclaw skills install baidu-search
openclaw skills install tavily-search
openclaw skills install multi-search-engine
Confirm the search subject — name, organization, or product
Collect optional context — background info, time range, output format (default: .md), special requirements
Check dependencies — run the prerequisite check above
Create archive folder — run: bash
python scripts/infoseek_helper.py create-folder "<subject_name>"
Execute searches across all available engines. Each engine runs independently.
Use the baidu-search skill:
"<subject> <background_context>"Use tavily_search tool:
text
query: "<subject> <background_context>"
search_depth: advanced
max_results: 50
Use the multi-search-engine skill across multiple engines simultaneously.
For discovered URLs, use the browser tool to:
Run URL deduplication on all collected results:
bash
python scripts/infoseek_helper.py deduplicate "<temp_results_file>"
The script normalizes URLs (remove www, tracking params, unify http/https, remove trailing slashes) and checks against the SQLite database to skip duplicates.
For each unique URL:
Extract content using the browser tool — get title, body, metadata
Filter content — remove ads, sidebars, navigation, comments, related articles, footers
Generate filename: bash
python scripts/infoseek_helper.py generate-filename \
--date "<YYYYMMDD>" --title "<title>" --website "<site>" --format "<ext>"
Format: YYYYMMDD-title-website.ext
Save the file: bash
python scripts/infoseek_helper.py save-content \
--folder "<archive_path>" --filename "<name>" --url "<url>" \
--website "<site>" --source "<source>" --date "<date>" \
--title "<title>" --author "<author>" --editor "<editor>" \
--content "<body>" --task "<subject>"
Record in database: bash
python scripts/infoseek_helper.py add-url \
--url "<normalized_url>" --task "<subject>" --filename "<name>"
Output a summary when complete:
text
InfoSeek Task Report
====================
Subject: {query}
Engines used: {engines}
Total found: {total} | Duplicates skipped: {dupes} | New archived: {new}
Files saved: {count}
Location: {path}
Database records: {db_total}
Format: YYYYMMDD-title-website.ext
<>:"/\|?*)If filename exists, append 8-char hash to prevent overwrites.
All formats include full metadata (URL, website, source, date, title, author, editor) plus body content.
text
{workspace}/
├── infoseek-archives/
│ ├── <subject_1>/
│ │ ├── 20260404-title-website.md
│ │ └── ...
│ └── <subject_2>/
└── infoseek/
├── infoseek.db # SQLite dedup database
├── infoseek.log # Operation log
└── backups/
Strict data retention — no permanent deletes without confirmation.
OperationConfirmationMethodBulk folder deleteRequiredMove to recycle binSingle file deleteRequiredMove to recycle binDedup skipAutomaticSkip only, no deleteDatabase cleanupRequiredMark as deleted
Process:
Never:
Override defaults in task instructions:
{workspace}/infoseek-archives/, specify custom pathProblemSolutionMissing search skillopenclaw skills install <name>Date extraction failsCheck page metadata; use 00000000 for unknownEncoding errorsEnsure UTF-8; on Windows enable Unicode UTF-8 in region settingsDatabase corruptionpython scripts/infoseek_helper.py restore-backup
VersionDateNotes2.0.02026-04-07Full rewrite: SQLite dedup, URL normalization, HTML parsing, multi-engine integration1.0.02026-04-06Initial version (deprecated)