โ† Back to Blog

How to Run an AI Web Search & Research Agent with OE Runtime

Automate competitive research, market analysis, and topic summaries. OE Runtime lets you run a Perplexity-powered research agent locally โ€” searches the web, synthesises findings, and delivers structured reports automatically.

๐Ÿ”
Step 1
Search
Run multiple targeted web searches and collect top results with titles, sources, and summaries.
Step 2
Synthesise Findings
Identify themes across sources, flag conflicting data, and select the most credible citations.
Step 3
Report
Produce a structured report with key findings, trends, cited sources, and actionable recommendations.

What You Need


Create the Project Folder

Create a folder called web-search/ and add these two files:

web-search/
├── SKILL.md         # the portable skill (agentskills.io)
├── agent.yaml       # wires SKILL.md to your connector
└── oe-config.json  # LLM key + connector credentials

The Skill Files

Create SKILL.md inside a web-search/ directory. This is the portable skill โ€” it follows the agentskills.io format and runs unchanged on Claude, Cursor, Windsurf, or OE Runtime:

---
name: web-search
description: Search the web and summarise findings with citations
license: Apache-2.0
metadata:
  author: Open Enthrium
  version: "1.0"
---

You are a research agent. Use the Perplexity connector to search the web for current, accurate information.
Always cite your sources and provide concise, well-structured summaries.
Complete all steps fully before writing your report.

## Step 1: Search
Run 3 separate searches using the Perplexity connector. For each search,
POST /chat/completions with body:
{
  "model": "sonar",
  "messages": [{ "role": "user", "content": "<search query>" }]
}

Search queries:
1. "Latest AI agent frameworks released in 2025"
2. "Enterprise AI automation adoption trends 2025"
3. "Top open-source LLM tools for business automation"

For each result, extract: key findings, sources cited, and URLs.

## Step 2: Synthesize Findings
From the 3 search results gathered:
- Identify the top 5 themes that appear across multiple results
- Note any conflicting information or differing perspectives
- Select the 5 most credible and relevant sources to cite in the final report

## Step 3: Report
Produce a structured research summary:

## Key Findings
[3-5 bullet points covering the main insights]

## Trends
[Top themes identified across sources]

## Sources
[Numbered list: title, publication, URL for each cited source]

## Recommendations
[2-3 actionable recommendations based on the research]

Create agent.yaml in the same directory to wire the skill to your connector:

name: Research Agent
description: Search the web and summarise findings with citations
connectors:
  - connection_name: Perplexity
    connection_type: perplexity-search
skills:
  - path: ./
    trigger_type: auto

The Config File

Create oe-config.json in the same directory:

{
  "llm": {
    "provider": "openai",
    "model": "gpt-4o",
    "apiKey": "YOUR_OPENAI_API_KEY"
  },
  "server": {
    "enabled": false,
    "port": 3333,
    "apiKey": "your-secret-api-key"
  },
  "connectors": [
    {
      "connection_name": "Perplexity",
      "connection_type": "perplexity-search",
      "bearerToken": "YOUR_PERPLEXITY_API_KEY",
      "baseUrl": "https://api.perplexity.ai"
    }
  ]
}

Get your Perplexity API key from perplexity.ai/settings/api. The agent uses Perplexity for real-time web search and your LLM for synthesis and report writing.

Download OE Runtime

OE Runtime โ€” Direct Downloads

Run the Agent

From the parent folder containing your skill directory:

MethodBest forDownload
1 npx recommended No install needed — always runs the latest version —
2 Windows .exe Download once, run offline on Windows ⊞ Windows (.exe)
3 macOS binary Download once, run offline on Mac  macOS
4 Linux binary Server deployments, cron jobs, Docker 🐧 Linux
5 API Server integration Call from any app, webhook, or automation pipeline 📮 Postman Collection

1 npx recommended

npx -y @openenthrium/oe-runtime@latest ./web-search

2 Windows

oe-runtime-win.exe ./web-search

3 macOS

chmod +x oe-runtime-macos
./oe-runtime-macos ./web-search

First run blocked? System Settings → Privacy & Security → Allow Anyway.

4 Linux

chmod +x oe-runtime-linux
./oe-runtime-linux ./web-search

5 API Server integration

Add a "server" block to oe-config.json, then start with --serve:

{
  "llm": { ... },
  "server": { "enabled": true, "port": 3333, "apiKey": "your-secret-key" },
  "connectors": [ ... ]
}
npx -y @openenthrium/oe-runtime@latest --serve --config oe-config.json

Run with inline YAML:

curl -X POST http://localhost:3333/run \
  -H "Content-Type: application/json" \
  -H "X-API-Key: your-secret-key" \
  -d '{"yaml": "...", "params": {}}'

Or run from a file on the server:

curl -X POST http://localhost:3333/run-file \
  -H "Content-Type: application/json" \
  -H "X-API-Key: your-secret-key" \
  -d '{"file": "/path/to/agent.yaml", "params": {}}'

Use Cases

Build your own agents with OE Runtime

Download OE Runtime and run any AI agent locally or as a server โ€” no cloud required.

Get OE Runtime โ†’
Series OE Runtime Agent Guides — 21 Connectors
Series overview →