Skip to content

About

Self-hosted OSS-model AI stack: Open WebUI fork, spockify-auto router, LiteLLM, SearXNG, Ollama, editor extension + CLI.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

agentHub (Spockify)

Self-hosted coding stack for open-weight models. One kernel. Your GPUs.

Chat, IDE, and CLI on LiteLLM. Default harness is Spockify. Wichy-class tool loops and OpenHands-class SWE sandboxes are optional backends — not the product.

Quality is model × harness × slice. More GPUs add chat replicas and eval sessions. They do not raise pass@1.

Pools

Three pools. SWE and canary never share the chat ingress.

Pool Runs Hard rule
Chat Chat UI, router, small and mid chat tags No SWE, no multi-day benches
Coding sessions One runHarness process per session One worker slot per session
Eval Canary, Lite slices, plugin tests Never the chat ingress

Workstation (Compose, or the IDE plus your API) is the first way to run this. It is not the product name.

Site

Live: apex splash at /, chat login at /chat, IDE at /ide. Source: site/ (published via k8s/ide-site/www/). Details: docs/SITE.md.

Get Started

Local compose, desktop IDE, and CLI. Workstation first.

1. Chat (Docker Compose)

Ubuntu / Fedora:

cp .env.example .env    # change secrets
make up                 # GHCR pull, no local Vite; or ./docker/run.sh

Uses Podman if compose works, else Docker (only if the daemon is up). Fedora: sudo dnf install -y podman podman-compose and systemctl --user enable --now podman.socket. ./docker/run.sh uses podman-compose (not hyphenated docker-compose) and chowns Postgres data for rootless UID 70. Force Docker with SPOCKIFY_CONTAINER_ENGINE=docker.

Open http://localhost:3080 — first account is admin.

GPU: make gpu or ./docker/run.sh --gpu (Docker: gpus=all; Fedora Podman: /dev/nvidia* unless CDI verifies). run.sh verifies nvidia-smi inside ollama after up.

Authorized security demo (scoped pentest/AD/hardening with permission — not unfiltered/jailbreak): make demo-gpu or ./docker/run.sh --gpu --demo security.

make clean stops compose leftovers (frees ports 3080/4000/4100); make clean CLEAN_DATA=1 or ./docker/clean.sh --data also wipes local data. Does not touch k8s/PVCs.

Details: docker/README.md (Use with spockify-auto vs Use as UI default under Adding models). Fedora: do not --build Open WebUI; make up pulls GHCR.

2. Spockify IDE

Desktop IDE in a container. Fedora: prefer this or Distrobox, not a host AppImage.

./docker/ide/run.sh --build   # first time: downloads the published AppImage
make ide                      # ./docker/ide/run.sh

--build fetches the AppImage from https://spockify.eu/downloads/ unless you drop one in docker/ide/payload/. Needs a graphical session.

Details: docker/ide/README.md. Linux packaging: make release.

3. CLI

make build-cli
spockify login          # browser approve → virtual key

See packages/spockify-cli/README.md.

Later hosts

Compose above is the workstation path. Do not point SWE or canary at this chat stack.

Production profile (single-tenant compose, not managed hosting): set SPOCKIFY_PRODUCTION=1, loopback binds, ENABLE_SIGNUP=false, SPOCKIFY_ISOLATED_RUNNER=bwrap (or podman), and digest-pin images with ./docker/record-image-digests.sh. Rehearse restore with ./docker/restore-drill.sh --synthetic (throwaway Postgres, not the live compose volume). Details: docs/RUNBOOKS.md. Gate tracker: docs/PRODUCTION_READINESS.md.

Self-host with Docker

Chat UI, router (spockify-auto), LiteLLM, Ollama, SearXNG, Postgres.

cp .env.example .env    # change secrets
./docker/run.sh         # or ./docker-run.sh — Podman if compose works, else Docker if the API is up

Open http://localhost:3080 and create the first account (admin).

NVIDIA GPU: make gpu or ./docker/run.sh --gpu (Podman also gets CDI). Authorized security demo: make demo-gpu (not unfiltered). See docker/README.md.

Open WebUI

Vendored at services/openwebui/upstream/ — v0.9.6 + Spockify edits.

New features: prefer routers/spockify.py, /spockify/* routes, Spockify*.svelte, and the router service — not deep stock file edits when avoidable. Do not refactor existing stock patches into modules unless explicitly asked.

Spockify Desktop IDE

Catalog under apps/spockify-ide/ (WS-A shell + Remote SSH). AI extension: extensions/spockify/ (WS-B/C/D). Shared packages: packages/spockify-*.

Local run: make ide — docker/ide/README.md.

Spockify CLI

Claude Code–style terminal agent: packages/spockify-cli/ — device link+code login, tool loop (read/edit/grep/shell).

make build-cli
spockify login          # browser approve → virtual key
spockify "fix the bug"

See packages/spockify-cli/README.md. Device routes live in OpenWebUI (/api/v1/spockify/cli/...); redeploy OWUI to enable login.

MVP (~9k+ LOC) on code-oss — Cursor-like surfaces thickening overnight; see phase scorecard.

About

Self-hosted OSS-model AI stack: Open WebUI fork, spockify-auto router, LiteLLM, SearXNG, Ollama, editor extension + CLI.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages