Search the web for a topic and produce a structured summary with key findings, sources, and actionable takeaways. Best for quick research briefs, competitive landscape scans, and topic overviews.
Memory
research-assistant
Try itKnowledge builder that extracts entities, relationships, and key facts from web pages, documents, and files. Builds a searchable knowledge base with entity r...
What it does
Knowledge builder that extracts entities, relationships, and key facts from web pages, documents, and files. Builds a searchable knowledge base with entity resolution and auto-summarization. Integrates with memory-router.
The skill document
Research Assistant ⚡
Turn everything you read into a searchable knowledge base.
The Problem
Agents read web pages, docs, and files — but the knowledge disappears after the session. No persistent knowledge base, no entity tracking, no relationship mapping.
Research Assistant fixes this with one tool.
⚠️ Important Warnings
Read this section before using. Research Assistant makes outbound HTTP requests to user-supplied URLs and writes all extracted content (entities, summaries, relations) to persistent local files under
memory/research/. These are not optional behaviors and they cannot be disabled. Do not point this tool at confidential documents, internal network endpoints, or sources containing PII.
Outbound Network Access
--extract makes an unauthenticated HTTP/HTTPS request to any user-supplied URL (10-second timeout). No URL allowlist, rate limit, or proxy is applied. The target server will see your real IP address. There is no SSRF protection — internal/private network URLs (10.x, 192.168.x, localhost, etc.) are NOT blocked. Treat this as remote code-execution-grade network exposure: only point it at URLs you would type into a browser.
Persistent Local Storage
All extracted entities, summaries, text content, and relationships are written to memory/research/ and persist indefinitely:
knowledge-base.json— every entry ever extractedindex.json— searchable entity indexrelations.json— relationship graph
These files grow unbounded with every extraction. There is no retention limit, automatic redaction, or built-in deletion command. PII or sensitive content ingested from URLs and files is stored forever. Monitor with --status and manually clean the memory/research/ directory if needed.
PII in Extracted Data
Entity extraction captures proper nouns, URLs, numbers, and dates. Email address extraction is intentionally disabled — the extractEntities() function does not match email patterns (see line 90 of research-assistant.js: // NOTE: Email addresses are intentionally NOT extracted to avoid PII leakage). However, email addresses may still appear inside the summary text field (first 200 chars of source) or inside HTML content fetched from URLs. Do not rely on the email-extraction disablement as a complete PII filter — review the stored knowledge base before exporting or sharing it.
Quick Start
Extract from a file
node skills/research-assistant/research-assistant.js --extract /path/to/file.md
Extracts entities (proper nouns, numbers, URLs) and relationships, and creates a summary. Email address extraction is disabled — see "PII in Extracted Data" above.
Extract from a URL
node skills/research-assistant/research-assistant.js --extract https://example.com/article
Fetches the page via HTTP/HTTPS (no auth, no proxy, 10s timeout), strips HTML, extracts entities and relationships, and persists everything to memory/research/. The fetched content is stored in full. See the "Outbound Network Access" warning above.
Extract from an entire directory
node skills/research-assistant/research-assistant.js --extract --all /path/to/docs
Processes all .md, .txt, and .json files in a directory.
Search the knowledge base
node skills/research-assistant/research-assistant.js --search "machine learning"
Searches all indexed sources by entities and content.
Auto-summarize on a topic
node skills/research-assistant/research-assistant.js --summarize "climate change"
Collects all relevant entities and sources, generates a summary with key findings.
View knowledge graph
node skills/research-assistant/research-assistant.js --graph
Shows entities grouped by type and their relationships.
Status
node skills/research-assistant/research-assistant.js
Overview of indexed sources, unique entities, relations, and entity type breakdown.
How It Works
Entity Extraction
- Proper nouns — Capitalized phrases (companies, people, places)
- Numbers/dates — Dates, years, quantities
- URLs — Links found in content
Emails— Email address extraction is intentionally disabled- Relationships — "X is Y", "X works at Y" patterns
Knowledge Base
- Sources are indexed with entities and relationships
- Entity index enables fast lookups
- Relations are deduplicated and tracked
- Auto-summarization pulls from all relevant sources
Integration with Memory Router
Research Assistant builds on the same entity resolution system as MemoryRouter. Entities extracted from research can be linked to MEMORY.md sections for persistent memory.
Configuration
No config needed. Knowledge base is stored in memory/research/.
Override data directory:
--dir /path/to/data
Agent Protocol
When reading new content:
- Extract entities:
--extract - Search existing:
--searchbefore reading new content - Summarize findings:
--summarizeafter extraction - Link to memory: Update MEMORY.md with key findings
Performance
- File extraction: <10ms per file
- URL extraction: <10s (network dependent)
- Entity index: instant lookup
- KB search: linear scan (optimized for <1000 sources)
Comparison
| Approach | Knowledge Retention | Setup | Maintenance |
|---|---|---|---|
| No knowledge base | 0% | None | None |
| Manual notes | 30-50% | High | High |
| Research Assistant | 80-95% | None | Automated |
| Vector DB | 80-95% | Very High | High |
Research Assistant gives you 80-95% knowledge retention with zero setup.
Design Principles
- Zero setup — Works immediately, no config needed
- No dependencies — Pure Node.js, no npm packages
- Entity-first — Knowledge is structured around entities, not just text
- Transparent — Everything it extracts is reported
- Scalable — Handles 1000+ sources with entity index
- Integrates — Works with MemoryRouter for persistent memory
Related skills
Summarize any web page by URL or by pasting text. Returns a concise structured summary with key points, entities, and action items. Use when the user wants a quick digest of an article, documentation page, or any web content without reading the full source.
Convert articles or Markdown/TXT files into 5-8 structured knowledge cards for review and self-testing.
Give AI agents Everything you read becomes knowledge. using BlueColumn persistent memory. Use when an agent researches and needs to keep findings; when the user wants to store, recall, or search research memory context. Requires a BlueColumn API key (bc_live_*).
Produce a focused literature/knowledge review using only selected Research KB contents.
Import documents and run hybrid vector-plus-keyword search across WeKnora knowledge bases via the REST API.