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>;
}