Files
t3mp3st/.env.example
T
e05bdc4311 feat(llm): add native Novita AI provider via OpenAI-compatible endpoint (#155)
* feat(llm): add native Novita AI provider via OpenAI-compatible endpoint

Wire Novita AI (https://api.novita.ai/openai/v1) as a first-class LLM
provider, following the same pattern used for DeepSeek/HuggingFace/NanoGPT:
dispatched through the existing OpenAIAdapter, resolved via NOVITA_API_KEY,
with a default model, model catalog entries, config/setup wiring, and
regression tests.

* fixup(llm): use deepseek/deepseek-v4-flash-0731 as the second Novita model

Swap the curated Novita model catalog's second entry from
qwen/qwen3-coder-30b-a3b-instruct to deepseek/deepseek-v4-flash-0731 per
requested model selection. Verified live against api.novita.ai/openai/v1/models.

* fixup(llm): replace superseded DeepSeek Flash id with current Pro flagship

QA flagged that deepseek/deepseek-v4-flash-0731 has been superseded in the
live Novita catalog; deepseek/deepseek-v4-pro-0813 is now the current
serving DeepSeek flagship. Swap the second Novita model catalog entry
accordingly.

---------

Co-authored-by: jax-novita <jax-novita@users.noreply.github.com>
Co-authored-by: Joseph Magly <1159087+jmagly@users.noreply.github.com>
2026-08-23 16:29:46 -04:00

38 lines
1.8 KiB
Bash

# T3MP3ST environment — copy to `.env` and fill in. NEVER commit your real .env.
# At least one LLM provider key is required (OpenRouter is the default backbone).
# ── LLM providers (set the one(s) you use) ──
OPENROUTER_API_KEY=sk-or-v1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
VENICE_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
DEEPSEEK_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# Hugging Face — open models via the OpenAI-compatible Inference Providers router.
# HF_TOKEN is canonical; HUGGINGFACE_API_KEY / HUGGINGFACE_TOKEN also work.
HF_TOKEN=hf_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# Novita AI — OpenAI-compatible API serving open-source and frontier models.
NOVITA_API_KEY=sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
GROQ_API_KEY=
TOGETHER_API_KEY=
REPLICATE_API_TOKEN=
# ── Target authentication (both values are required) ──
# Exact origin that may receive the configured headers (scheme + host + optional port).
# TEMPEST_TARGET_ORIGIN=https://target.example
# JSON object of headers injected into HTTP requests to that exact origin.
# Explicit per-request headers override these defaults case-insensitively.
# Bearer token: TEMPEST_TARGET_HEADERS={"Authorization":"Bearer eyJhbGc..."}
# Cookie: TEMPEST_TARGET_HEADERS={"Cookie":"session=abc123"}
# Multiple: TEMPEST_TARGET_HEADERS={"Authorization":"Bearer token","X-Tenant":"acme"}
# TEMPEST_TARGET_HEADERS=
# ── GitHub (xbow-bench challenge fetch / gh operations) ──
GITHUB_TOKEN=
# ── optional: default backbone overrides ──
# LLM_PROVIDER=openrouter
# LLM_MODEL=claude-opus-4-8
# Optional: Venice uncensored inference (OpenAI-compatible). https://venice.ai
VENICE_API_KEY=