Registry
Model distribution system
The Registry is Xybrid's model distribution system. It organizes, versions, and serves model bundles to SDKs and applications.
How It Works
// TODO explain instead of diagram
Registry Structure
Bundles are organized by model ID, version, and platform:
~/.xybrid/registry/
├── index.json # Bundle index
├── wav2vec2-base-960h/
│ └── 1.0/
│ ├── macos-arm64/
│ │ └── wav2vec2-base-960h.xyb
│ └── ios-arm64/
│ └── wav2vec2-base-960h.xyb
├── whisper-tiny/
│ └── 1.0/
│ └── macos-arm64/
│ └── whisper-tiny.xyb
└── kokoro-82m/
└── 0.1/
└── macos-arm64/
└── kokoro-82m.xybindex.json
The index tracks all available bundles:
{
"wav2vec2-base-960h/1.0/macos-arm64": {
"model_id": "wav2vec2-base-960h",
"version": "1.0",
"target": "macos-arm64",
"size_bytes": 377654321,
"path": "~/.xybrid/registry/wav2vec2-base-960h/1.0/macos-arm64/wav2vec2-base-960h.xyb"
}
}Platform Detection
The registry automatically detects the current platform:
| Platform | Identifier |
|---|---|
| macOS (Apple Silicon) | macos-arm64 |
| macOS (Intel) | macos-x86_64 |
| iOS | ios-arm64 |
| Android | android-arm64 |
| Linux | linux-x86_64 |
| Windows | windows-x86_64 |
Registry Server
Start Server
just registry::serve-localServes from ~/.xybrid/registry/ on http://localhost:8080.
Endpoints
| Endpoint | Description |
|---|---|
GET /index | List all bundles |
GET /bundles/{id}/{version}/{platform}/{id}.xyb | Download bundle |
GET /health | Health check |
Using in Pipelines
Reference the registry URL in pipeline YAML:
name: "Speech to Text"
registry: "http://localhost:8080"
stages:
- wav2vec2-base-960h@1.0Registry Configuration Options
Simple URL:
registry: "http://localhost:8080"File Path (Local):
registry: "file:///Users/me/.xybrid/registry"Resolution Flow
When a pipeline references whisper-tiny@1.0:
- Parse Reference - Extract model ID and version
- Detect Platform - Determine current platform
- Check Cache - Look in
~/.xybrid/registry/ - Download - Fetch from registry server if not cached
- Extract - Unzip
.xybbundle - Load - TemplateExecutor reads
model_metadata.json
Related
- Bundles - Bundle format and metadata
- Pipeline DSL - Registry configuration
- TemplateExecutor - Bundle execution