Skip to main content

Standard Pipeline Plugin

The Standard Pipeline is the default generation pipeline for Ever Works. It runs a fixed sequence of 15 steps that combine AI generation, web search, content extraction, and post-processing to build a complete work from a single prompt. The pipeline is engine-orchestrated, meaning the pipeline engine runs each step individually, enabling checkpoint resume and step-level customization.

Source: packages/plugins/standard-pipeline/src/standard-pipeline.plugin.ts

Overview

PropertyValue
Plugin IDstandard-pipeline
Categorypipeline
Capabilitiespipeline, form-schema-provider
Version1.0.0
Auto-enableYes
Built-inYes
System PluginYes
Default Forpipeline capability
Dependencies@langchain/textsplitters, zod, string-similarity-js, stopword

The plugin implements IPipelinePlugin and IFormSchemaProvider.

Architecture

Engine Orchestration

The Standard Pipeline does not run steps itself. Instead, the pipeline engine calls executeStep() for each step individually. This design enables:

  • Checkpoint resume -- progress is saved after each step and can be resumed on failure
  • Step injection -- pipeline-modifier plugins can add new steps
  • Step replacement -- existing steps can be swapped with custom implementations
  • Step disabling -- optional steps can be skipped

The execute() method on this plugin throws an error if called directly, instructing callers to use the engine instead.

Pipeline Phases

The 15 steps are organized into 8 phases:

Phase 1: Initialization

StepIDDescription
1prompt-comparisonCompares the current prompt against the previous generation to determine if regeneration is needed
2prompt-processingExtracts the subject and featured item hints from the user prompt
3domain-detectionAnalyzes the prompt to detect the domain type for specialized handling

Phase 2: AI Generation

StepIDDescription
4ai-first-items-generationGenerates initial items using AI based on the prompt and domain analysis
StepIDDescription
5search-queries-generationGenerates search queries based on the prompt and existing items
6web-searchExecutes search queries to find relevant URLs
7content-retrievalRetrieves web page content from discovered URLs
8content-filteringFilters retrieved content for relevance

Phase 4: Extraction

StepIDDescription
9items-extractionExtracts structured items from filtered web content

Phase 5: Aggregation

StepIDDescription
10deduplication-and-data-aggregationMerges AI and web items, removes duplicates, aggregates data

Phase 6: Categorization

StepIDDescription
11categories-tags-processingProcesses and assigns categories, tags, brands, and collections
12sources-validationValidates source URLs and ensures they are accessible (optional)

Phase 7: Enrichment

StepIDDescription
13badges-processingEvaluates and assigns badges to items (optional)
14image-captureCaptures screenshots or fetches images for items (optional)

Phase 8: Output

StepIDDescription
15markdown-generationGenerates markdown descriptions using source content (optional)

Configuration

Form Fields

The Standard Pipeline exposes a rich set of configuration options through IFormSchemaProvider:

Data Sources Group

FieldTypeDefaultDescription
source_urlstags--URLs to extract items from directly (bypasses search)

Categories and Keywords Group

FieldTypeDefaultDescription
initial_categoriestags--Suggested categories for the work
priority_categoriestags--Categories to prioritize and show first
target_keywordstags--Keywords to guide search and extraction

Generation Features Group

FieldTypeDefaultDescription
ai_first_generation_enabledbooleanfalseGenerate initial items using AI before web search
generate_categoriesbooleantrueAutomatically generate categories from content
generate_tagsbooleantrueAutomatically generate tags for items
generate_collectionsbooleantrueAutomatically generate collections
generate_brandsbooleantrueExtract and categorize brands
capture_screenshotsbooleanfalseTake screenshots for items
badge_evaluation_enabledbooleanfalseEvaluate and assign badges

Search Configuration Group

FieldTypeDefaultDescription
max_search_queriesnumber10Number of search queries to generate (1--100)
max_results_per_querynumber5Results to retrieve per query (1--100)
max_pages_to_processnumber10Maximum web pages to process (1--1000)

Volume Control Group

FieldTypeDefaultDescription
data_volume_modeselect"real"real (production) or sample (testing)
max_itemsnumber--Optional limit on generated items (1--1000)

Advanced Settings Group

FieldTypeDefaultDescription
content_filtering_enabledbooleantrueFilter irrelevant content before extraction
relevance_threshold_contentnumber0.6Minimum relevance score (0--1)
min_content_length_for_extractionnumber100Minimum characters for extraction
prompt_comparison_confidence_thresholdnumber0.5Prompt similarity threshold (0--1)

Selectable Provider Categories

  • ai-provider -- the AI model for generation and extraction
  • search -- the search engine for web research
  • screenshot -- the screenshot service for image capture
  • content-extractor -- the content extraction service

Features

Checkpoint Resume

After each step completes, the pipeline engine saves a checkpoint (context snapshot). If a step fails, the pipeline can resume from the last successful step. The isCheckpointViable() method determines whether a checkpoint has enough data to be worth resuming.

Step Skip Detection

The canSkipStep() method checks whether a step's output data already exists in the context, allowing the engine to skip steps that have already produced their results.

Typed Generation Context

The pipeline maintains a TypedGenerationContext that provides type-safe access to step data. Each step reads its required inputs and writes its outputs to this context.

Data Flow

Steps declare their data dependencies via provides and requires arrays in their step definitions. This ensures the engine can validate the dependency graph before execution.

Getting Started

The Standard Pipeline is enabled by default and requires no additional configuration. To customize it:

  1. Go to the work Generator settings
  2. Adjust search, generation, and extraction options
  3. Enable optional features like badge evaluation or screenshot capture
  4. Trigger generation -- the pipeline engine handles step orchestration automatically

API Reference

Class: StandardPipelinePlugin

class StandardPipelinePlugin implements IPipelinePlugin<BuiltInStepId>, IFormSchemaProvider {
readonly id: 'standard-pipeline';
readonly category: 'pipeline';

executeStep(stepId, context, execContext, options?, onProgress?): Promise<IPipelineContext>;
getStepDefinitions(): PipelineStepDefinition<BuiltInStepId>[];
registerStepExecutor(stepId, executor): void;
createContext(work, request, existing): IPipelineContext;
extractResult(context, meta): PipelineResult;
isCheckpointViable(snapshot, completedSteps): boolean;
canSkipStep(stepId, context): boolean;
getFormFields(): FormFieldDefinition[];
getFormGroups(): FormFieldGroup[];
validateFormInput(values): ValidationResult;
getDefaultValues(): Record<string, unknown>;
}