explaingit

stanford-oval/storm

28,162PythonAudience · researcherComplexity · 3/5QuietLicenseSetup · moderate

TLDR

AI research assistant that automatically gathers sources and writes Wikipedia-style articles with citations on any topic.

Mindmap

mindmap
  root((STORM))
    What it does
      Researches topics
      Writes cited articles
      Simulates expert conversations
    How it works
      Searches internet
      Builds outlines
      Multi-perspective questions
    Versions
      STORM automated
      Co-STORM collaborative
      Mind map visualization
    Use cases
      Research summaries
      Academic exploration
      Due diligence
    Tech stack
      Python
      Language models
      Search engines

Things people build with this

USE CASE 1

Generate comprehensive research summaries on unfamiliar topics with proper citations.

USE CASE 2

Conduct academic exploration by automatically gathering and organizing sources into structured outlines.

USE CASE 3

Perform business due diligence by quickly synthesizing information from multiple perspectives into a single report.

Tech stack

PythonLanguage modelsSearch enginespip

Getting it running

Difficulty · moderate Time to first run · 30min

Requires API keys for language models and search engines to function.

Use freely for any purpose including commercial, as long as you keep the copyright notice.

In plain English

STORM is a research assistant built around large language models, the kind of AI that powers chatbots. You give it a topic and it produces a long, Wikipedia-style article on that topic, complete with citations to the web pages it drew from. The README describes it as a knowledge curation system that writes articles from scratch based on Internet search. The project breaks the job into two stages. First comes a pre-writing stage where the system researches the topic on the Internet, collects references, and produces an outline. Then comes a writing stage where it uses that outline and those references to generate the full article with inline citations. The team observed that simply asking a language model to research a topic produces shallow questions, so STORM uses two tricks: it surveys articles on similar topics to discover different perspectives and asks questions from each one, and it simulates a conversation between a writer and a topic expert grounded in Internet sources so the model can refine its understanding and ask follow-up questions. A companion system called Co-STORM adds a human collaborator and a moderator agent into that conversation, and maintains a hierarchical mind map of what has been discovered. Both are built on a modular framework called dspy and can plug into many language model and search providers via litellm. This is useful for pre-writing research, for getting a structured overview of an unfamiliar topic, or as a starting draft that a human editor then polishes. The README is explicit that the output is not publication-ready. It is a Python library installable via pip as knowledge-storm. The full README is longer than what was provided.

Copy-paste prompts

Prompt 1
Use STORM to research and write a Wikipedia-style article about [topic], then show me how to customize the language model and search engine it uses.
Prompt 2
I need to understand [complex topic] fast. How do I run STORM to generate a cited article, and how can I use Co-STORM to guide the research myself?
Prompt 3
Show me how to install knowledge-storm via pip and generate an article with a mind map visualization for [topic].
Prompt 4
How do I modify STORM's multi-perspective question generation to focus on specific angles when researching [topic]?
Open on GitHub → Explain another repo

Generated 2026-05-21 · Model: sonnet-4-6 · Verify against the repo before relying on details.