Skip to main content
Version: Next

Quick Start

Prerequisites

  • Python 3.10+ (3.11 or 3.12 recommended)
  • macOS, Linux, or WSL on Windows
  • One LLM provider credential:
    • AWS Bedrock — AWS credentials (profile, env vars, or IAM role)
    • Anthropic APIANTHROPIC_API_KEY
    • OpenAI API (or compatible) — OPENAI_API_KEY
  • (Optional) a SeaTunnel installation for engine-level validation and job execution

Install

The shell wrapper installs Python dependencies automatically on first run:

# First run — installs dependencies, launches interactive setup
bin/seatunnel-ai.sh --init

# After init, launch directly
bin/seatunnel-ai.sh

SEATUNNEL_HOME is set automatically to the distribution root.

From source

cd seatunnel-cli
bash setup.sh # installs all providers + dev tools
seatunnel --init # interactive provider setup

Configure a Provider

# Option A: AWS Bedrock (default)
export AI_PROVIDER=bedrock
export AWS_REGION=us-east-1

# Option A2: OpenAI-family Bedrock models (Responses-API-only, e.g. gpt-5.6-terra)
export AI_PROVIDER=bedrock-mantle
export OPENAI_MODEL='openai.gpt-5.6-terra'

# Option B: Anthropic API
export AI_PROVIDER=anthropic
export ANTHROPIC_API_KEY=sk-ant-...

# Option C: OpenAI or compatible
export AI_PROVIDER=openai
export OPENAI_API_KEY=sk-...
# export OPENAI_BASE_URL=https://... # Azure OpenAI, DeepSeek, local vLLM, ...

API keys are read from environment variables only — they are never written to config files.

Generate Your First Pipeline

Single-shot mode

seatunnel "Sync MySQL users table to S3 Parquet"
seatunnel "从 Kafka 读取订单数据写入 ClickHouse" -o my_job.conf

Interactive mode

seatunnel
🐬 SeaTunnel > Sync PostgreSQL orders to Doris

📋 Generated SeaTunnel Config
Config saved to: .data/last_job.conf

🐬 SeaTunnel > Add a filter to only include orders where amount > 100

📋 Generated SeaTunnel Config (updated)

🐬 SeaTunnel > /check
[1] Local validation: PASS
[2] Engine --check: PASS
Dry-run PASSED — Config is ready to execute.

🐬 SeaTunnel > /run
Job submitted: 1234567890 (orders-sync)
Status: FINISHED

Useful commands

CommandDescription
/checkValidate the last config; auto-diagnoses and fixes on failure
/runExecute via REST API or seatunnel.sh; auto-repairs on failure
/connectorsList available sources, sinks, and transforms
/remember <text>Save a non-sensitive fact (hosts, ports, database names)
/sessions, /resumeList and resume previous conversations

Tips for Good Results

  • Include connection details in the prompt (host, port, database, table): the config comes back runnable instead of full of placeholders.
  • State batch vs real-time intent explicitly ("one-off full copy" vs "capture changes continuously") — this drives BATCH/STREAMING and CDC-connector selection.
  • Credentials are placeholdered by design: generated configs reference ${MYSQL_PASSWORD}-style variables; export them before /run.
  • For scenarios the models are measurably weak at (conditional routing, PostgreSQL-CDC prerequisites, Doris/StarRocks options — see the benchmark), review the generated config before running it in production.