Local weights
Hugging Face GGUF and safetensors live under ~/.ysk-omni/models/. Pull first, then Load before you chat.
Keep the SDKs, curl, and Open WebUI you already use. The models stay on your machine. The gateway does not launch an external coding CLI.
Client (OpenAI SDK / curl / Open WebUI)
│ Authorization: Bearer omni_live_…
▼
Express gateway :3850
· auth · rate limit · safe/agent · queue · Admin
│
├─ GGUF text → llama-server
├─ safetensors → vLLM
├─ echo → built-in protocol test
├─ image → OMNI_IMAGE_URL
├─ TTS / STT → OMNI_TTS_URL / OMNI_STT_URL
└─ video → OMNI_VIDEO_URL (or a short H.264 sample)
Hugging Face GGUF and safetensors live under ~/.ysk-omni/models/. Pull first, then Load before you chat.
Chat Completions, Responses, Anthropic Messages — existing SDKs can point at the local gateway.
Hub search, download queue, Load / Unload. GGUF uses llama-server; safetensors use vLLM.
Conversations are stored with AES-256-GCM in SQLite. Admin opens with a one-time code, not a live key in the browser.
| Feature | Detail |
|---|---|
| OpenAI API | POST /v1/chat/completions, POST /v1/responses, GET /v1/models |
| Anthropic API | POST /v1/messages (Bearer or x-api-key) |
| Media | Image generate / edit, video, /v1/audio/speech, /v1/audio/transcriptions |
| Catalog | Hub search, download queue, local models, Pull / Load / Unload / delete |
| Runtimes | Install / uninstall llama-server, ffmpeg, and so on per OS |
| Keys | omni_live_…; roles admin / client; modes safe / agent; allowed models |
| Encryption | AES-256-GCM chats under ~/.ysk-omni |
| Admin | OTP login; dashboard, playground, catalog, media, queue, DDoS, PM2 |
| Queue | Pause / drain, jobs, priority, dead-letter purge |
| DDoS | Rate limits, auto-ban, blacklist, reverse-proxy IP source |
| CLI | Lifecycle, keys, catalog, queue, abuse controls, doctor, self-update |
| Ops | SQLite, PM2, Node.js 20+, default port 3850 |
Endpoints, media workers, error codes, and how this differs from the Grok CLI Gateway.
http://127.0.0.1:3850; auth Authorization: Bearer omni_live_…GET /health; GET /ready database + text engine (llama-server on PATH)GET /v1/models lists ids this key may use, with modality and runtimePOST /v1/chat/completions (optional stream: true); POST /v1/responses text subsetPOST /v1/messages Anthropic style, also accepts x-api-keyomni.sessionId, omni.asset_ids. OpenAI SDKs ignore unknown fields/v1/documents and related OpenAI-shaped routes (feature flags)POST /v1/images/generations, POST /v1/images/editsPOST /v1/videos, GET /v1/videos/:id, GET /v1/videos/:id/contentPOST /v1/audio/speech, POST /v1/audio/transcriptionsOMNI_IMAGE_URL / OMNI_TTS_URL / OMNI_STT_URL / OMNI_VIDEO_URL at OpenAI-shaped workersengine_unconfiguredpng / jpeg / mp3 / wav / mp4; ffmpeg can convert{ "error": { "message", "type", "code" } }unauthorized 401 · forbidden 403 · model_not_allowed 403feature_disabled 403/501 · engine_unconfigured 501 · engine_timeout 504rate_limit_exceeded 429 · queue_full 429 · queue_draining 503grok -p), default port 3847Ops panel after OTP login. UI languages: English and Hong Kong written Chinese. URL http://127.0.0.1:3850/admin/.
ysk-omni admin otp: five minutes, single useysk-omni admin off disables the panel; only admin on turns it back onPull does not start until you press Pull on that row, or run ysk-omni pull.
echo, piper/lessac-high, tts-1, whisper-1ysk-omni runtimes: host OS, installed / missing, install plansruntimes install <id>: Homebrew / pip / winget / Docker (llamacpp, ffmpeg, mlx, …)Encryption, keys, queue, DDoS, and operational notes.
~/.ysk-omni/data/gateway.dbmodels/; .env holds ENCRYPTION_KEY, port, worker URLsomni_live_…; roles admin / client; modes safe (public) / agent (full media and tools)model_not_allowedysk-omni key create|list|show|update|revoke|activateysk-omni queue …) share the same operationsddos ban / unban / blacklist.env; do not leak OTP or admin keysysk-omni / ysko (not yo). Global flags: --home, --port, --json.
-f / --pm2), stop, restart, status, doctor, migrate, seed, open, version, update-r -m --models), list, show, update, revoke, activateapi features get|set; presets open / locked / dev/admin/; API /v1~/.ysk-omni (--home)ysk-omni doctor: Node, env, loaded models, VRAM, build, runtimes, port clashesstart --pm2; update --check for self-updateThese are product concept stills, not admin screenshots. Open /admin/ after install for the real UI.

Hub search, download queue, local models. Concept art.

GGUF via llama-server; safetensors via vLLM. Concept art.

One-time login, not a live key. Concept art.

Image, speech, transcription, video on separate paths. Concept art.

Pause, drain, priority, dead letters. Concept art.

Weights and gateway stay on your machine. Concept art.
npm install -g ysk-omni
ysk-omni setup
ysk-omni admin otp
ysk-omni start
# http://127.0.0.1:3850/admin/
Need install, media workers, or a custom build? See Business — no prices on this page.
YSK Omni is MIT-licensed. The gateway and weights sit on your machine. YSK Limited can install it, attach media workers, or custom-build on ysk-omni — no fee for open-source use; custom work is quoted in writing.
For self-hosting, internal trials, and open-source work.
For production, workers, white-label, or a private network.
Weights stay on disk. Point your existing OpenAI SDK at the gateway.
curl, SDKs, Open WebUI → private GGUF / safetensors.
Wire image, speech, transcription, and video workers to OMNI_*_URL.
Key policy, DDoS, admin on localhost only — executed to a written scope.
| Custom scope | Detail |
|---|---|
| Install | Node.js 20+, ysk-omni setup, OTP, first catalog Pull / Load, PM2 |
| Media workers | OMNI_IMAGE_URL / TTS / STT / VIDEO; ffmpeg; unset routes still 501 or a short sample |
| White-label | Admin name, logo, default locale |
| Keys and defence | Role / mode, allowed models, rate, IP allow-list, DDoS presets |
| Integrations | Existing OpenAI-shaped clients, gctoac, internal accounts, CLI / agent scripts |
| Private network | Admin on localhost or VPN; weights stay on your disk |
| Runtimes | llama-server, vLLM, ffmpeg install plans per OS |
| After delivery | Docs, remote training, warranty window. Small changes can use the outsourcing monthly tech tickets |
Every step has a written scope. Open-source download and install / custom are billed separately.
/admin/ logs in, docs, trainingHonest limits: YSK Omni is not multi-tenant SaaS. YSK does not turn your GPU into a YSK cloud. Unconfigured media workers still return 501 or a short H.264 sample — custom work does not rebrand that sample as a full video engine. We do not apply for Hugging Face or cloud accounts on your behalf.
Yes. MIT licensed. YSK does not charge for that use. Install, workers, and custom builds are quoted by scope.
A single-host install and a worker + white-label + private-network build differ a lot. Quotes are written. Small changes can use the outsourcing monthly tech tickets; large work is a project.
No. It stays a local gateway. You own the host and the weights, or the contract names them. YSK does not run a multi-tenant SaaS edition of YSK Omni.
Direct answer: Yes. MIT licensed. Install, workers, or a custom build: see Business — no prices on this page.
Direct answer: gctoac wraps the local Grok CLI. YSK Omni runs local Hugging Face weights through llama-server or vLLM.
Direct answer: Port 3850. The CLI is ysk-omni, short name ysko. Admin opens with a one-time code.
Direct answer: Image, speech, and transcription return 501 engine_unconfigured. Without a video worker you may only get a short H.264 sample, not a generated video.
Direct answer: AES-256-GCM in SQLite under ~/.ysk-omni. Back up ENCRYPTION_KEY.
Direct answer: Node.js 20 or newer. Install ysk-omni globally with npm.