Skip to content

HassTech-LLC/ht-studio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

75 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

HT Studio

HT Studio Logo Icon

The local AI runtime control plane

HT Studio turns a workstation into a governed local model operating layer: model library, native runtime, OpenAI-compatible API, routing, MoA, evals, traces, lifecycle proof, SDK, CLI, and Studio UI in one repo.

Runtime Boundary Models MoA Tests

One app-facing surface for local AI. Backends stay behind HT Studio; consumers use HT Studio APIs.

HT Studio is a standalone local runtime orchestrator for developers, agents, and desktop AI systems. It is not a launcher skin. It owns the operating layer around local inference: model discovery and import, native llama.cpp serving, OpenAI-compatible endpoints, benchmark-aware routing, MoA/council orchestration, eval-fed admission, redacted traces, runtime lifecycle proof, and approval-gated mutations.

HT Studio is local-first, not network-silent. Prompts, completions, local inventory, and model weights stay on the workstation by default. Explicit catalog, model-card, package, and runtime-install actions may call public registries, and optional high-performance backends such as vLLM, SGLang, TensorRT-LLM, and TabbyAPI stay hidden behind HT Studio's adapter and proof contracts.

For apps Stable `/v1/*` and `/api/*` contracts instead of direct coupling to Ollama, LM Studio, vLLM, or ad hoc servers.
For local models HT Studio-owned model library, import provenance, admission state, fit planning, warm/unload controls, and health-aware routing.
For agents Approval boundaries, tool-call non-execution, route metadata, traces, MoA confidence, and agent-runtime metadata.
For operators Runtime supervisor, diagnostics bundles, eval suites, lifecycle proof, CLI smoke, package smoke, and release gates.

HT Studio Workbench UI Dark Mode Mockup


Footprint And Terminal Proof

HT Studio is intentionally small because this repo is the runtime control plane, not a bundled model-weight payload. Local models, node_modules, build outputs, and generated proof captures are machine-local payloads.

Current captured footprint after the standalone trim:

Scope Size
Core code/docs/config, excluding media, deps, dist, and output 1.02 MB
Tracked repo payload with docs media and terminal proof assets 4.84 MB
Runtime packages source only: SDK + daemon + CLI 474.84 KB
Studio app source only 101.01 KB
Full local workspace on disk, including deps/build/output 896.48 MB
node_modules local dependency payload 858.10 MB
dist build outputs 18.75 MB
Ignored local output evidence payload 3.40 MB

Publishable dry-run tarballs from the latest terminal proof:

Package Packed Unpacked
@ht-studio/sdk 11.60 KB 55.50 KB
@ht-studio/daemon 132.72 KB 676.04 KB
@ht-studio/cli 8.37 KB 29.34 KB

The terminal proof video and screenshots are tracked in this repo under docs/images/terminal-proof. The full proof write-up is in docs/terminal-proof.md.

FDE-oriented proof docs:

Watch the terminal demo video

HT Studio terminal size summary

CLI smoke and package proof

HT Studio CLI smoke proof

CLI help and runtime profile

HT Studio CLI help and profile proof

Live daemon status and readiness endpoint

HT Studio live daemon status proof

What HT Studio Does

HT Studio is built around one principle: consumer apps should have one stable local AI surface, while HT Studio owns the messy runtime work behind it.

Capability What it gives you
OpenAI-compatible API /v1/models, /v1/chat/completions, /v1/responses, and /v1/embeddings for standard client compatibility.
Universal runtime contract /api/status, /api/runtime/contracts, /api/models/catalog, /api/routing/standard, /api/evals/*, /api/traces/*, and /api/runtime/performance/plan.
HT Studio model library Owned/imported GGUF model inventory with provenance, trust level, admission state, route eligibility, MoA eligibility, health, and fit data.
Native runtime independence Managed llama-server/llama.cpp path so HT Studio can run owned/imported GGUFs without requiring a live Ollama or LM Studio server.
Proof-gated adapter lanes vLLM, SGLang, TensorRT-LLM, TabbyAPI, LocalAI, and generic OpenAI-compatible lanes stay behind HT Studio until loopback smoke, evals, and benchmarks prove them.
Smart routing Route modes for fast single-model use, best-quality local routing, long-context, structured output, tool-calling, low-memory, throughput batch, and MoA/council.
MoA / council orchestration Advisor calls, judge/synthesizer metadata, confidence, candidate status, fallback reason, and traceable local orchestration through HT Studio APIs.
Runtime supervisor Managed process state, warm/unload actions, crash/failure metadata, recovery endpoint, and stable degradation reasons.
Eval and scorecard loop Runtime-contract, coding, reasoning, JSON, long-context, tool-call, MoA, latency, concurrency, admission, failure-recovery, and safety eval suites.
Observability Redacted traces, trace bundles, telemetry ids on API responses, queue state, adapter health, GPU diagnostics, and diagnostics export.
Install/lifecycle proof Autostart, config migration, portable backup/restore, rollback/apply, installer package smoke, diagnostics bundle, and clean uninstall guardrails.
Approval and privacy boundary Privileged runtime mutations require x-ht-studio-confirm: privileged-action; HT Studio generates or passes tool calls but never executes tools.

Why It Is Different

Launcher-style tools usually help start a model. HT Studio is designed to be the operating layer around local inference.

Instead of... HT Studio provides...
App-specific model wiring One canonical runtime surface for any app, agent, CLI, or SDK consumer.
Raw backend coupling Adapter contracts that hide backend-specific ports, commands, and quirks.
"Installed means ready" claims Measured admission, evals, traces, health checks, and live proof before route eligibility.
Manual model juggling Owned/imported model library, fit planning, warm/unload controls, and route explanations.
Silent fallback behavior Deterministic fallback reasons, degraded-state reporting, trace ids, and redacted bundles.
Tool execution inside model server Approval-safe tool-call generation only; the consumer agent decides whether to execute.

Network Boundary

Surface Network behavior Trigger
Local daemon, CLI, SDK, Studio app Loopback HTTP only by default Normal status, chat, inventory, readiness, and local model execution
Hugging Face catalog and downloads Calls huggingface.co APIs and model file URLs Search, model-card/license review, dry run, or pull
Ollama registry resolution Calls registry.ollama.ai and ollama.com metadata URLs Resolving an Ollama library ref for download
Managed llama-server installer Calls GitHub release APIs and trusted release asset URLs Explicit engine/server install action
npm/package checks Calls npm registry during install/audit npm ci, npm install, or audit commands

No hosted AI provider receives prompts by default. If you configure an OpenAI-compatible upstream, that endpoint is outside the default local boundary and should be treated as an explicit integration.


Model Discovery, Import, And Runtime Ownership

HT Studio can see useful model files in common local caches, but visibility is not the same thing as automatic trust. External cache discoveries are import sources until they are copied or admitted into HT Studio's model library.

  • Ambient discovery: Scans standard workstation locations such as LM Studio, Ollama, Jan, AnythingLLM, Hugging Face Hub, and configured GGUF folders.
  • Import-first routing: Ollama and LM Studio cache files can be imported into the HT Studio-owned model library, then routed through HT Studio's native runtime path.
  • Stable aliases: Apps can use ht-studio-standard, ht-studio-fast, ht-studio-coder, ht-studio-reasoning, ht-studio-structured, and ht-studio-moa instead of hardcoding backend model paths.
  • Backend-agnostic execution: Managed llama.cpp is the self-sufficient default. Optional backends can be detected, probed, and benchmarked, but consumers still call HT Studio.
  • Live proof command: npm run smoke:live-backends reports daemon freshness, optional backend package state, loopback ports, and whether a throughput claim is actually proven.
  • Custom runtime targets: Home lab, LAN, cloud, and generic OpenAI-compatible endpoints can be configured, but local-only policy blocks unsafe egress from automatic routing.

Ambient scanner and source discovery

HT Studio Auto-Discovery UI

Custom server hosts and connection tuning

HT Studio Custom Host Settings

πŸ“‚ Monorepo Architecture & Workspace

HT Studio is organized as a structured npm monorepo workspaces project:

Path Purpose
apps/studio Vite + React SPA HT Studio workbench interface.
packages/daemon HTTP daemon, GGUF parser, VRAM scanner, downloads, hot-pool, and adapters.
packages/cli Lifecycle commands (htstudio), daemon launchers, and environment helpers.
packages/sdk Typed client, resolver, and unified public typescript schemas.
config/studio.autorun.json Discovery policies, auto-pull policies, and auto-warm configurations.
docs/auto-runtime.md App integration specifications and auto-warm protocols.
docs/runtime-api.md Canonical runtime brain, OpenAI-compatible, MoA, telemetry, and approval-gated API contract.

πŸš€ Quick Start

To launch the HT Studio daemon, React console, and auto-discovered models:

# 1. Install dependencies
npm install

# 2. Dry-run auto-discover & warm local models
npm run studio:auto-runtime

# 3. Spin up concurrent daemon and studio UI
npm run dev

To automatically apply configured HT Studio runtime pulls and warmup hooks:

npm run studio:auto-runtime:execute

πŸ› οΈ Configuration & Port Tuning

HT Studio stores data and active models under HT_STUDIO_HOME, defaulting to: C:\Users\Owner\AppData\Local\HT Studio

Customize endpoints and security policies by specifying environment variables before execution:

$env:HT_STUDIO_PORT = "3001"
$env:HT_STUDIO_ALLOWED_ORIGINS = "http://127.0.0.1:3000,http://localhost:3000"
# Optional compatibility discovery only; core routing uses HT Studio's runtime contract.
$env:OLLAMA_HOST = "http://127.0.0.1:11434"
$env:LM_STUDIO_HOST = "http://127.0.0.1:1234"

Check the active compatibility scorecard proof via curl or browser:

Invoke-RestMethod http://127.0.0.1:3001/api/compatibility/scorecard

Check the canonical runtime brain contract:

Invoke-RestMethod http://127.0.0.1:3001/api/runtime/brain

Check live optional backend proof without promoting anything:

npm run smoke:live-backends

This writes output/live-backend-proof.json and reports whether the current daemon is fresh, whether vLLM/SGLang/TensorRT-style lanes are installed and listening on loopback, and whether HT Studio can honestly make any measured throughput claim.


🎯 Use It Anywhere

1. Terminal CLI

npm run build
node packages/cli/dist/index.js status
node packages/cli/dist/index.js performance
node packages/cli/dist/index.js profile terminal-agent

2. OpenAI-Compatible Integration

$env:OPENAI_BASE_URL = "http://127.0.0.1:3001/v1"
$env:OPENAI_API_KEY = "local-not-needed"

Use model=ht-studio-standard for the current trusted standard route, or model=ht-studio-moa for local MoA/council orchestration.

3. JavaScript / TypeScript

const response = await fetch("http://127.0.0.1:3001/v1/chat/completions", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({
    model: "ht-studio-standard",
    messages: [{ role: "user", content: "hi" }]
  })
});

console.log(await response.json());

Verification And Proof

HT Studio's public claims are backed by repeatable local and CI gates:

# Run the complete compiler, test, build, and package validation checks
npm run release:check

# Probe the actual local machine for optional throughput lanes
npm run smoke:live-backends
  • Type safety: tsc verification across packages.
  • Unit and integration tests: 287 Vitest tests on the current main branch.
  • API smoke: fresh daemon boot, public HTTP checks, lifecycle proof actions, eval trace lookup, and OpenAI-compatible endpoints.
  • Studio smoke: Playwright checks against the runtime control-room UI.
  • Package smoke: dry-run and installed tarball import/CLI checks for SDK, daemon, and CLI.
  • Live backend proof: local machine check for daemon freshness, WSL/NVIDIA/Docker availability, optional backend packages, and loopback candidate ports.
  • Release gate: GitHub Actions runs the release check on Ubuntu and Windows.

Recent live proof on Hassan's workstation shows the managed llama.cpp lane is ready to benchmark, while vLLM, SGLang, TensorRT-LLM, and TabbyAPI remain blocked until installed and exposed through loopback OpenAI-compatible adapters. HT Studio does not claim throughput superiority until those lanes pass smoke, eval, and benchmark proof.

About

Universal local AI runtime control plane with OpenAI-compatible APIs, model library, MoA, evals, traces, CLI, SDK, and proof-gated backend adapters.

Topics

Resources

License

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors