SeedOmni development guidance for Open-VeOmni. Use when adding or modifying `veomni/models/seed_omni/`, Omni modules, module mixins, CPU preprocessors, conversation carrier handling, training or generation graph YAML, SeedOmni split-checkpoint scripts, per-module accelerators, distributed/eager Omni inference, or SeedOmni validation. Triggers include: new OmniModule, modify SeedOmni module, wire graph, update `training_graph` or `generation_graph`, split SeedOmni checkpoint, add Preprocessor, change conversation_list flow, configure per-module FSDP2/DDP/emb/ep, or debug SeedOmni train/infer graph behavior.
88%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
Use this file as a routing entrypoint and load the references matching the task from the routing table below.
veomni/models/seed_omni/.configs/seed_omni/.conversation_list preprocessing.fake_model, Janus, and Qwen modules as implementation maps.| Task | Read |
|---|---|
| Understand SeedOmni architecture, runtime hierarchy, and hard constraints | .agents/knowledge/veomni-seed-omni.md, references/source-of-truth.md |
Change data flow, conversation_list, CPU preprocessing, dummy items, or raw request preprocessing | references/data-flow.md |
| Add or modify a module mixin/model/config/processor | references/module-contract.md |
| Edit training graph or generation FSM YAML | references/graph-runtime.md, then the matching templates/*.yaml |
| Add a new model config layout | references/graph-runtime.md, templates/base.template.yaml, templates/modules_train.template.yaml |
| Add distributed/eager inference module config | references/per-module-parallel.md, templates/modules_infer_eager.template.yaml, templates/modules_infer_fsdp.template.yaml |
| Update split-checkpoint conversion | references/checkpoint-splitting.md |
| Validate a SeedOmni change | references/validation.md |
{"conversation_list": [...]}. seedomni_transform
runs ordered module CPU preprocessors (OmniProcessor) per sample in the
Dataset stage, and SeedOmniCollator groups preprocessed samples into a
micro-batch before GPU forward.ModulePreprocessorBase is a core data-flow contract, shared by training and
inference. Training runs it inside data_transform (seedomni_transform);
inference runs it once before the FSM.conversation_list
carrier.module[.method] endpoints.
to: end is the virtual sink. Execution order is derived by topo sort.done is framework-injected; use module_signal and default transitions.Templates under templates/ are skeletons, not authoritative examples. Use them
to start a new config file, then compare against the live configs listed in
references/module-contract.md.
veomni-new-model first when adding a new HuggingFace model family under
veomni/models/transformers/.veomni-develop for unrelated framework work outside SeedOmni.ByteDance-Seed/VeOmni
eba362d
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.