返回 Skill 列表
extension
分类: 开发与工程无需 API Key

synapse-config-yaml-guide

解释如何编写Synapse插件的config.yaml文件。当用户询问关于“config.yaml”、“插件配置”、“动作定义”、“执行方法”、“运行时环境”,或需要帮助设置Synapse插件时使用。

person作者: 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: