Skip to main content
The research command enables automated deep research with real-time streaming, web search, and structured citations using OpenAI or Gemini Deep Research APIs.

Quick Start

Deep research example

Usage

Basic Research

Expected Output:

With Query Rewrite

With Custom Tools

Which Tool Names Work?

--tools accepts any name resolved by the full resolve_tool() chain:
Any name shown by praisonai tools list is accepted by --tools. The same resolver chain is used by --rewrite-tools and --expand-tools.

Empty-Segment Behaviour

A trailing or doubled comma no longer emits a spurious warning:

Class-Based Tools

Tools from praisonai-tools that are BaseTool subclasses are instantiated automatically — no user action required.

Save Output

Combine Options

Supported Models

How It Works

  1. Query Processing: Optionally rewrites query for better results
  2. Context Gathering: Uses tools to gather relevant context
  3. Deep Research: Executes multi-step research with web search
  4. Synthesis: Combines findings into structured report
  5. Citations: Includes source URLs and references

Features

Multi-Provider

Support for OpenAI, Gemini, and LiteLLM providers

Real-time Streaming

Live progress updates with reasoning summaries

Structured Citations

Automatic citation extraction with URLs

Built-in Tools

Web search, code interpreter, MCP, file search

Programmatic Usage

Best Practices

Use --query-rewrite for complex or ambiguous queries to improve research quality.
Deep research uses multiple API calls and can consume significant tokens. Use --metrics to monitor costs.