Back to skills
extension
Category: Development & EngineeringNo API key required

synapse-config-yaml-guide

Explains how to write Synapse plugin config.yaml files. Use when the user asks about "config.yaml", "plugin configuration", "action definition", "execution method", "runtime environment", or needs help with synapse plugin settings.

personAuthor: jakexiaohubgithub

Synapse Plugin config.yaml Guide

The config.yaml file (or synapse.yaml) defines your plugin's metadata, actions, and runtime configuration.

Minimal Example

name: "My Plugin"
code: my-plugin
version: 1.0.0
category: custom

actions:
  train:
    entrypoint: plugin.train:TrainAction
    method: job
    description: "Train a model"

Complete Structure

# Basic metadata
name: "YOLOv8 Object Detection"
code: yolov8
version: 1.0.0
category: neural_net
description: "Train and run YOLOv8 models"
readme: README.md

# Package management
package_manager: pip  # or 'uv'
package_manager_options: []
wheels_dir: wheels

# Environment variables
env:
  DEBUG: "false"
  BATCH_SIZE: "32"

# Runtime environment (Ray)
runtime_env: {}

# Data type configuration
data_type: image
tasks:
  - image.object_detection
  - image.segmentation

# Actions
actions:
  train:
    entrypoint: plugin.train:TrainAction
    method: job
    description: "Train YOLO model"
  inference:
    entrypoint: plugin.inference:run
    method: task
    description: "Run inference"

Action Configuration

| Field | Required | Description | |-------|----------|-------------| | entrypoint | Yes | Module path (module.path:ClassName or module.path.function) | | method | No | Execution method: job, task, or serve (default: task) | | description | No | Human-readable description |

Config Sync (Recommended)

Sync entrypoints, input/output types, and hyperparameters from code:

synapse plugin update-config

Execution Methods

| Method | Use Case | Characteristics | |--------|----------|-----------------| | job | Training, batch processing | Async, isolated, long-running (100s+) | | task | Interactive operations | Sync, fast startup (<1s), serial per actor | | serve | Model serving, inference | REST API endpoint, auto-scaling |

Entrypoint Formats

Both formats are supported:

  • Colon notation: plugin.train:TrainAction
  • Dot notation: plugin.train.TrainAction

Additional Resources

For detailed configuration options: