Connect to llama-server and Strata

Ports on this site: llama-server 127.0.0.1:8080(/v1), Strata :8083, vLLM:8000. Model placeholderqwen — replace it with the id fromGET /v1/models. API key placeholderlocal-not-a-secret when the client refuses an empty field.

llama-server :8080

Base for most OpenAI-compatible clients: http://127.0.0.1:8080/v1. Daily driver stack: Qwen3.6-35B-A3B on llama.cpp Vulkan.

Prove llama-server :8080 before you debug the harness
curl -s http://127.0.0.1:8080/v1/models
curl -s http://127.0.0.1:8080/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer local-not-a-secret' \
  -d '{"model":"qwen","messages":[{"role":"user","content":"Reply with the single word READY and nothing else."}],"max_tokens":8}'

llama-server default in llama.cpp docs is 8080. Exact daily-driver flags stay TODO.

Strata :8083

Base for most OpenAI-compatible clients: http://127.0.0.1:8083/v1. Fast-agent stack: Qwen 3.8 Flash on Strata.

Prove Strata :8083 before you debug the harness
curl -s http://127.0.0.1:8083/v1/models
curl -s http://127.0.0.1:8083/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer local-not-a-secret' \
  -d '{"model":"qwen","messages":[{"role":"user","content":"Reply with the single word READY and nothing else."}],"max_tokens":8}'

Strata port 8083 is this site’s convention for the fast-agent stack. Exact serve flags stay TODO.

Agent harnesses

Hermes Agent

Dedicated agent CLI/desktop on top of local Qwen — not a dozen chat bridges.

Hermes Agent → llama-server :8080hermes config (custom provider)
# Hermes custom / OpenAI-compatible provider.
# Default probe is :8080. For Strata, set this URL or add detect_ports: [8080].
# Re-check field names on the live providers + local-models pages if a key 404s.
model:
  default: qwen   # must match llama-server --alias / GET /v1/models id
providers:
  custom:
    base_url: http://127.0.0.1:8080/v1
    # api_key is optional on custom; OPENAI_API_KEY is only for provider openai-api
# local_runtime.backend: auto | cuda | metal | vulkan | hip | cpu
# auto prefers Vulkan on AMD. Do not take the CUDA managed download on a Radeon.
# Docs require context ≥ 65536 or Hermes rejects the model at startup.

Exact llama-server flags for our daily driver stay TODO in stacks.yaml. This is the port only. 64K context minimum is documented.

Hermes Agent → Strata :8083hermes config (custom provider)
# Hermes custom / OpenAI-compatible provider.
# Default probe is :8080. For Strata, set this URL or add detect_ports: [8083].
# Re-check field names on the live providers + local-models pages if a key 404s.
model:
  default: qwen   # must match llama-server --alias / GET /v1/models id
providers:
  custom:
    base_url: http://127.0.0.1:8083/v1
    # api_key is optional on custom; OPENAI_API_KEY is only for provider openai-api
# local_runtime.backend: auto | cuda | metal | vulkan | hip | cpu
# auto prefers Vulkan on AMD. Do not take the CUDA managed download on a Radeon.
# Docs require context ≥ 65536 or Hermes rejects the model at startup.

Exact Strata flags for our rig stay TODO in stacks.yaml. This is the port only. 64K context minimum is documented.

Agent harnesses

OpenHands

Multi-step coding agent in a browser or CLI. Needs a capable instruction-tuned model.

OpenHands → llama-server :8080environment
# Docs: LLM_BASE_URL + openai/<id> prefix. Docker must use host.docker.internal.
export LLM_BASE_URL=http://127.0.0.1:8080/v1
export LLM_API_KEY=local-llm
export LLM_MODEL=openai/qwen

Exact llama-server flags for our daily driver stay TODO in stacks.yaml. This is the port only.

OpenHands → Strata :8083environment
# Docs: LLM_BASE_URL + openai/<id> prefix. Docker must use host.docker.internal.
export LLM_BASE_URL=http://127.0.0.1:8083/v1
export LLM_API_KEY=local-llm
export LLM_MODEL=openai/qwen

Exact Strata flags for our rig stay TODO in stacks.yaml. This is the port only.

Agent harnesses

Aider

CLI coding in the repo you already have. Prefix the model with openai/.

Aider → llama-server :8080
# --openai-api-key must be non-empty even locally.
aider --openai-api-base http://127.0.0.1:8080/v1 \
  --openai-api-key local-not-a-secret \
  --model openai/qwen

Exact llama-server flags for our daily driver stay TODO in stacks.yaml. This is the port only.

Aider → Strata :8083
# --openai-api-key must be non-empty even locally.
aider --openai-api-base http://127.0.0.1:8083/v1 \
  --openai-api-key local-not-a-secret \
  --model openai/qwen

Exact Strata flags for our rig stay TODO in stacks.yaml. This is the port only.

Agent harnesses

Cline

In-editor agent that asks before it runs commands.

Cline → llama-server :8080
Provider: OpenAI Compatible
Base URL: http://127.0.0.1:8080/v1
API Key: local-not-a-secret
Model ID: qwen
# Do not append /chat/completions to the base URL.

Exact llama-server flags for our daily driver stay TODO in stacks.yaml. This is the port only.

Cline → Strata :8083
Provider: OpenAI Compatible
Base URL: http://127.0.0.1:8083/v1
API Key: local-not-a-secret
Model ID: qwen
# Do not append /chat/completions to the base URL.

Exact Strata flags for our rig stay TODO in stacks.yaml. This is the port only.

Agent harnesses

Roo Code

In-editor agent with filesystem and terminal tools.

Roo Code → llama-server :8080
Provider: OpenAI Compatible
Base URL: http://127.0.0.1:8080/v1
API Key: local-not-a-secret
Model ID: qwen
# Roo docs: native OpenAI tool calling is required.
# Official local-models page names Ollama and LM Studio specifically.

Exact llama-server flags for our daily driver stay TODO in stacks.yaml. This is the port only.

Roo Code → Strata :8083
Provider: OpenAI Compatible
Base URL: http://127.0.0.1:8083/v1
API Key: local-not-a-secret
Model ID: qwen
# Roo docs: native OpenAI tool calling is required.
# Official local-models page names Ollama and LM Studio specifically.

Exact Strata flags for our rig stay TODO in stacks.yaml. This is the port only.

Agent harnesses

Continue

Chat, edit, apply, and autocomplete roles in the editor.

Continue → llama-server :8080config.yaml
# openai provider — apiBase includes /v1
name: Local llama-server
provider: openai
model: qwen
apiBase: http://127.0.0.1:8080/v1
apiKey: local-not-a-secret
# capabilities: [tool_use]   # only if the server actually implements tools

# Native llama.cpp provider (docs: apiBase *without* /v1):
# provider: llama.cpp
# apiBase: http://127.0.0.1:8080

Exact llama-server flags for our daily driver stay TODO in stacks.yaml. This is the port only.

Continue → Strata :8083config.yaml
# openai provider — apiBase includes /v1
name: Local Strata
provider: openai
model: qwen
apiBase: http://127.0.0.1:8083/v1
apiKey: local-not-a-secret
# capabilities: [tool_use]   # only if the server actually implements tools

# Native llama.cpp provider (docs: apiBase *without* /v1):
# provider: llama.cpp
# apiBase: http://127.0.0.1:8083

Exact Strata flags for our rig stay TODO in stacks.yaml. This is the port only.

Agent harnesses

OpenCode

CLI agent that you point at llama-server via opencode.json.

OpenCode → llama-server :8080opencode.json
{
  "provider": {
    "llama": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "http://127.0.0.1:8080/v1"
      },
      "models": {
        "qwen": {
          "limit": { "context": 128000 }
        }
      }
    }
  }
}

Exact llama-server flags for our daily driver stay TODO in stacks.yaml. This is the port only. Docs example uses 128000 for limit.context — set yours to the server -c. Do not invent 262K here.

OpenCode → Strata :8083opencode.json
{
  "provider": {
    "llama": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "http://127.0.0.1:8083/v1"
      },
      "models": {
        "qwen": {
          "limit": { "context": 128000 }
        }
      }
    }
  }
}

Exact Strata flags for our rig stay TODO in stacks.yaml. This is the port only. Docs example uses 128000 for limit.context — set yours to the server -c. Do not invent 262K here.

Agent harnesses

Goose

Desktop/CLI agent with recipes. Local path is OpenAI-compatible or Ollama.

Goose → llama-server :8080
# OPENAI_HOST is the host root, not a BASE_URL. Default path is v1/chat/completions.
export OPENAI_HOST=http://127.0.0.1:8080
export OPENAI_BASE_PATH=v1/chat/completions
export OPENAI_API_KEY=not-needed
export GOOSE_MODEL=qwen

Exact llama-server flags for our daily driver stay TODO in stacks.yaml. This is the port only.

Goose → Strata :8083
# OPENAI_HOST is the host root, not a BASE_URL. Default path is v1/chat/completions.
export OPENAI_HOST=http://127.0.0.1:8083
export OPENAI_BASE_PATH=v1/chat/completions
export OPENAI_API_KEY=not-needed
export GOOSE_MODEL=qwen

Exact Strata flags for our rig stay TODO in stacks.yaml. This is the port only.

Agent harnesses

Claude Code

Anthropic’s coding CLI. Local attach is “where supported”: a gateway or a server that implements /v1/messages.

Claude Code → llama-server :8080
# Official path is Anthropic Messages. The client appends /v1/messages — do not put /v1 on the base.
# llama.cpp documents /v1/messages. We have not measured this pair on the rig.
export ANTHROPIC_BASE_URL=http://127.0.0.1:8080
export ANTHROPIC_AUTH_TOKEN=local-not-a-secret
claude --model qwen

Exact llama-server flags for our daily driver stay TODO in stacks.yaml. This is the port only. Local attach is “where supported.” Completeness of Claude Code tools against llama.cpp Messages is not documented here.

Claude Code → Strata :8083
# Official path is Anthropic Messages. The client appends /v1/messages — do not put /v1 on the base.
# llama.cpp documents /v1/messages. We have not measured this pair on the rig.
export ANTHROPIC_BASE_URL=http://127.0.0.1:8083
export ANTHROPIC_AUTH_TOKEN=local-not-a-secret
claude --model qwen

Exact Strata flags for our rig stay TODO in stacks.yaml. This is the port only. Local attach is “where supported.” Completeness of Claude Code tools against llama.cpp Messages is not documented here.

Agent harnesses

Codex CLI

OpenAI’s coding CLI against a local server that implements POST /v1/responses.

Codex CLI → llama-server :8080~/.codex/config.toml
model = "qwen"
model_provider = "llama_local"

[model_providers.llama_local]
name = "llama-server"
base_url = "http://127.0.0.1:8080/v1"
wire_api = "responses"
env_key = "LOCAL_NOT_A_SECRET"

Current official wire_api is responses only. Reserved provider ids: openai, ollama, lmstudio. llama.cpp documents POST /v1/responses.

Codex CLI → Strata :8083~/.codex/config.toml
model = "qwen"
model_provider = "llama_local"

[model_providers.llama_local]
name = "Strata"
base_url = "http://127.0.0.1:8083/v1"
wire_api = "responses"
env_key = "LOCAL_NOT_A_SECRET"

Current official wire_api is responses only. llama.cpp documents POST /v1/responses. Strata Responses support is not documented — treat as TODO.

Agent harnesses

Cursor

Chat/Agent against a custom OpenAI-compatible URL where the override is supported.

Cursor → custom OpenAI URL
Settings → Models
  OpenAI API Key: local-not-a-secret          # required to save the override
  Override OpenAI Base URL: https://your-reachable-host/v1
  Model: qwen

# Forum staff (checked 2026-10-12): requests still go through Cursor’s backend,
# so http://127.0.0.1:8080 often fails. A public HTTPS URL is the workaround
# they describe — that is not air-gapped. Tab/autocomplete stay on Cursor models.

Not a first-class localhost attach. local_ok is false; this is hybrid-shaped even when weights are local.

Cursor → custom OpenAI URL
Settings → Models
  OpenAI API Key: local-not-a-secret          # required to save the override
  Override OpenAI Base URL: https://your-reachable-host/v1
  Model: qwen

# Forum staff (checked 2026-10-12): requests still go through Cursor’s backend,
# so http://127.0.0.1:8083 often fails. A public HTTPS URL is the workaround
# they describe — that is not air-gapped. Tab/autocomplete stay on Cursor models.

Not a first-class localhost attach. local_ok is false; this is hybrid-shaped even when weights are local.

Agent harnesses

OpenClaw

Message the home agent from apps you already use. Already documented on this site.

OpenClaw → llama-server :8080~/.openclaw/openclaw.json
# ~/.openclaw/openclaw.json — attach keys from our earlier notes; re-check live docs.
{
  "models": {
    "providers": {
      "llama": {
        "baseUrl": "http://127.0.0.1:8080/v1",
        "apiKey": "local-not-a-secret",
        "models": [{ "id": "qwen" }]
      }
    }
  }
}
# vLLM path (different port): openai-completions at http://127.0.0.1:8000/v1
# Set VLLM_API_KEY even if dummy. Follow OpenClaw allowlists — do not bind to the internet for a first test.

Exact llama-server flags for our daily driver stay TODO in stacks.yaml. This is the port only. Exact JSON shape: re-verify attach keys on https://docs.openclaw.ai/

OpenClaw → Strata :8083~/.openclaw/openclaw.json
# ~/.openclaw/openclaw.json — attach keys from our earlier notes; re-check live docs.
{
  "models": {
    "providers": {
      "llama": {
        "baseUrl": "http://127.0.0.1:8083/v1",
        "apiKey": "local-not-a-secret",
        "models": [{ "id": "qwen" }]
      }
    }
  }
}
# vLLM path (different port): openai-completions at http://127.0.0.1:8000/v1
# Set VLLM_API_KEY even if dummy. Follow OpenClaw allowlists — do not bind to the internet for a first test.

Exact Strata flags for our rig stay TODO in stacks.yaml. This is the port only. Exact JSON shape: re-verify attach keys on https://docs.openclaw.ai/

Chat UIs

Open WebUI

Browser chat, optional RAG, multi-user. Not an agent loop unless you add tools.

Open WebUI → llama-server :8080
Admin → Settings → Connections
  URL: http://127.0.0.1:8080/v1
  API Key: local-not-a-secret
# Docs show the same pattern with LM Studio at http://localhost:1234/v1.
# Docker: use host.docker.internal, not 127.0.0.1.

Exact llama-server flags for our daily driver stay TODO in stacks.yaml. This is the port only.

Open WebUI → Strata :8083
Admin → Settings → Connections
  URL: http://127.0.0.1:8083/v1
  API Key: local-not-a-secret
# Docs show the same pattern with LM Studio at http://localhost:1234/v1.
# Docker: use host.docker.internal, not 127.0.0.1.

Exact Strata flags for our rig stay TODO in stacks.yaml. This is the port only.

Chat UIs

LM Studio

Local chat plus a /v1 others can call. Can also be the client against llama-server — check current UI; server mode is the documented OpenAI path.

LM Studio — documented server vs our :8080
# Documented OpenAI-compat path: LM Studio *serves* on port 1234.
# Other clients call: http://127.0.0.1:1234/v1
#
# Pointing LM Studio *at* our llama-server :8080 (http://127.0.0.1:8080/v1) is a current-UI check,
# not the documented server recipe.

LM Studio’s own engine on Linux/Windows AMD is a separate stack from this site’s llama.cpp Vulkan daily driver.

LM Studio — documented server vs our :8083
# Documented OpenAI-compat path: LM Studio *serves* on port 1234.
# Other clients call: http://127.0.0.1:1234/v1
#
# Pointing LM Studio *at* our Strata :8083 (http://127.0.0.1:8083/v1) is a current-UI check,
# not the documented server recipe.

LM Studio’s own engine on Linux/Windows AMD is a separate stack from this site’s llama.cpp Vulkan daily driver.

Chat UIs

Jan

Local chat and a loopback /v1 for other tools.

Jan — documented server vs our :8080
# Documented desktop API server: http://127.0.0.1:1337/v1
# Prefix /v1. Optional API key in Settings.
#
# Pointing Jan *at* our llama-server :8080 (http://127.0.0.1:8080/v1) is not documented on the
# API-server page we opened — treat as check the current UI.

Jan’s llama.cpp backend on AMD / HIP gfx1201 is not documented on that page.

Jan — documented server vs our :8083
# Documented desktop API server: http://127.0.0.1:1337/v1
# Prefix /v1. Optional API key in Settings.
#
# Pointing Jan *at* our Strata :8083 (http://127.0.0.1:8083/v1) is not documented on the
# API-server page we opened — treat as check the current UI.

Jan’s llama.cpp backend on AMD / HIP gfx1201 is not documented on that page.

Chat UIs

SillyTavern

Roleplay / character chat, not a coding agent.

SillyTavern → llama-server :8080
API: Chat Completion
Source: Custom / OpenAI Compatible
Server URL: http://127.0.0.1:8080/v1
API Key: local-not-a-secret

Exact llama-server flags for our daily driver stay TODO in stacks.yaml. This is the port only.

SillyTavern → Strata :8083
API: Chat Completion
Source: Custom / OpenAI Compatible
Server URL: http://127.0.0.1:8083/v1
API Key: local-not-a-secret

Exact Strata flags for our rig stay TODO in stacks.yaml. This is the port only.

Chat UIs

LibreChat

One UI for local /v1 and cloud providers.

LibreChat → llama-server :8080librechat.yaml
# librechat.yaml — endpoints.custom
endpoints:
  custom:
    - name: "llama-server"
      apiKey: "${LLAMA_KEY}"
      baseURL: "http://127.0.0.1:8080/v1"
      models:
        default: ["qwen"]
        fetch: false
# Put LLAMA_KEY=local-not-a-secret in .env (placeholder locally).
# Docker: host.docker.internal, not 127.0.0.1.

Exact llama-server flags for our daily driver stay TODO in stacks.yaml. This is the port only.

LibreChat → Strata :8083librechat.yaml
# librechat.yaml — endpoints.custom
endpoints:
  custom:
    - name: "Strata"
      apiKey: "${LLAMA_KEY}"
      baseURL: "http://127.0.0.1:8083/v1"
      models:
        default: ["qwen"]
        fetch: false
# Put LLAMA_KEY=local-not-a-secret in .env (placeholder locally).
# Docker: host.docker.internal, not 127.0.0.1.

Exact Strata flags for our rig stay TODO in stacks.yaml. This is the port only.

Chat UIs

AnythingLLM

Docs + chat with a local /v1. RAG-shaped, not a coding agent.

AnythingLLM → llama-server :8080.env
# docker/.env.example — generic OpenAI provider
LLM_PROVIDER=generic-openai
GENERIC_OPEN_AI_BASE_PATH=http://127.0.0.1:8080/v1
GENERIC_OPEN_AI_MODEL_PREF=qwen
GENERIC_OPEN_AI_API_KEY=sk-123abc
# GENERIC_OPEN_AI_MODEL_TOKEN_LIMIT=   # set to the server window; do not invent 262K

Exact llama-server flags for our daily driver stay TODO in stacks.yaml. This is the port only.

AnythingLLM → Strata :8083.env
# docker/.env.example — generic OpenAI provider
LLM_PROVIDER=generic-openai
GENERIC_OPEN_AI_BASE_PATH=http://127.0.0.1:8083/v1
GENERIC_OPEN_AI_MODEL_PREF=qwen
GENERIC_OPEN_AI_API_KEY=sk-123abc
# GENERIC_OPEN_AI_MODEL_TOKEN_LIMIT=   # set to the server window; do not invent 262K

Exact Strata flags for our rig stay TODO in stacks.yaml. This is the port only.

Chat UIs

llama.cpp built-in web UI

Fastest chat on the daily-driver server. No extra process.

llama.cpp built-in web UI → llama-server :8080
# Same process as /v1. Open http://127.0.0.1:8080
# Disable with: llama-server --no-webui
# Bind 127.0.0.1 unless you mean to share.

Daily-driver context is 262144; exact flags TODO in stacks.yaml.

llama.cpp built-in web UI → Strata
# not documented — Strata is a different server; do not assume it ships this UI.
# Open the llama-server UI on http://127.0.0.1:8080 instead, or use a chat harness against :8083/v1.

Strata web UI is not documented.

Image / video

ComfyUI on ROCm

Diffusion workflows on the Radeon — not an LLM harness. Does not speak llama-server /v1.

ComfyUI on ROCm — not an LLM /v1 client
# AMD AI-ecosystem page: ROCm-enabled PyTorch, then:
python ComfyUI/main.py
# UI: http://127.0.0.1:8188
# Does not speak llama-server http://127.0.0.1:8080/v1 or Strata. Instinct Docker tags are not R9700 pins.

HIP/ROCm PyTorch, not llama.cpp Vulkan. Consumer gfx1201 support follows the PyTorch wheel.

ComfyUI on ROCm — not an LLM /v1 client
# AMD AI-ecosystem page: ROCm-enabled PyTorch, then:
python ComfyUI/main.py
# UI: http://127.0.0.1:8188
# Does not speak llama-server http://127.0.0.1:8083/v1 or Strata. Instinct Docker tags are not R9700 pins.

HIP/ROCm PyTorch, not llama.cpp Vulkan. Consumer gfx1201 support follows the PyTorch wheel.

esc

Type to filter. Enter opens the first match. Full-text search lives on /search.