> ## Documentation Index
> Fetch the complete documentation index at: https://hastekit.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> HasteKit — The end-to-end platform for building LLM-powered agents and workflows

**HasteKit LLM Gateway** is a high-performance, open-source gateway written in Golang that provides a unified interface to interact with large language models from various providers. It sits between your application and LLM providers, offering access control via virtual keys, centralized configuration, and deep observability through OpenTelemetry traces.

## Why HasteKit

* **No-Code Agent Builder**: Compose agents with model parameters, system prompts, MCP tools, skills, and structured output schemas—without writing code
* **Multi-Agent Orchestration**: Invoke sub-agents as tools or hand off conversations mid-flight to specialist agents instead of overloading a single monolithic prompt
* **Durable Execution**: Run agents on Temporal or Restate where every step is checkpointed and every retry is automatic—or call them in-process for low-latency workloads
* **Versioning & Aliases**: Ship immutable agent snapshots with production aliases so you can iterate safely and roll back instantly
* **Unified LLM Gateway**: Drop-in replacement for OpenAI, Anthropic, and Gemini SDKs with virtual keys, rate limits, and full request/response logging
* **Deep Observability**: Every agent run, tool call, and LLM request emits OpenTelemetry traces with token usage, latency, and cost attribution

## LLM Gateway

Underneath the Agent Builder, HasteKit ships a production LLM gateway that any application can use directly. Point any OpenAI, Anthropic, or Gemini SDK at the gateway and unlock virtual keys, rate limiting, and request logging without code changes.

<CardGroup cols={2}>
  <Card title="Virtual Keys" icon="shield-check">
    Protect provider API keys. Issue virtual keys with per-project rate limits and revoke them instantly.
  </Card>

  <Card title="Drop-in Replacement" icon="plug">
    Point your existing OpenAI, Anthropic, or Gemini client at the gateway—just change the base URL.
  </Card>

  <Card title="Cost Tracking" icon="chart-line">
    Token usage, latency, and cost tracked per virtual key, per project, and per provider via ClickHouse-powered analytics.
  </Card>

  <Card title="Request Logging" icon="list">
    Every LLM call is logged with full request/response details for debugging and compliance.
  </Card>
</CardGroup>

### Drop-in SDK Replacement

Update the base URL and use your virtual key—no other changes required:

**Go:**

```go theme={null}
client := openai.NewClient(
    option.WithBaseURL("http://localhost:6060/api/gateway/openai"),
    option.WithAPIKey("your-virtual-key"),
)
```

**Python:**

```python theme={null}
client = OpenAI(
    base_url="http://localhost:6060/api/gateway/openai",
    api_key="your-virtual-key",
)
```

**TypeScript:**

```typescript theme={null}
const client = new OpenAI({
    baseURL: "http://localhost:6060/api/gateway/openai",
    apiKey: "your-virtual-key",
});
```

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/hastekit/images/llm-gateway.png" alt="HasteKit Gateway Dashboard" />
</Frame>

## Supported Providers

| Provider      | Text | Image | Tool Calls | Reasoning |
| :------------ | :--: | :---: | :--------: | :-------: |
| **OpenAI**    |   ✅  |   ✅   |      ✅     |     ✅     |
| **Anthropic** |   ✅  |   ❌   |      ✅     |     ✅     |
| **Gemini**    |   ✅  |   ✅   |      ✅     |     ✅     |

Support for additional providers is on the roadmap.

***

## Next Steps

<CardGroup cols={2}>
  <Card title="LLM Gateway" icon="route" href="/docs/gateway/llm/providers">
    Connect providers, issue virtual keys, and route SDK calls through the gateway.
  </Card>

  <Card title="SDK Modes" icon="code" href="/docs/gateway/sdk/gateway-mode-vs-direct-mode">
    Understand the difference between Gateway and Direct modes.
  </Card>
</CardGroup>
