Compare commits
7
Commits
8fbdd05230
..
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6f2e53cac4 | ||
|
|
4011320842 | ||
|
|
2e913a5f1d | ||
|
|
11e481e4de | ||
|
|
124d5c9f0f | ||
|
|
b53e18dcbf | ||
|
|
0ea10f8d5b |
@@ -10,7 +10,7 @@ Dynagate is a lightweight, high-performance LLM gateway written in Go that acts
|
|||||||
- `/v1/responses` (POST): Stateless-style OpenAI Responses API endpoint (automatically routed to upstream chat completions endpoints).
|
- `/v1/responses` (POST): Stateless-style OpenAI Responses API endpoint (automatically routed to upstream chat completions endpoints).
|
||||||
- `/v1/messages` (POST): Anthropic-compatible Messages API endpoint (automatically routed to upstream chat completions endpoints).
|
- `/v1/messages` (POST): Anthropic-compatible Messages API endpoint (automatically routed to upstream chat completions endpoints).
|
||||||
- `/v1/images/generations` (POST): Proxies image generation requests.
|
- `/v1/images/generations` (POST): Proxies image generation requests.
|
||||||
> **Note:** Dynagate operates in a completely stateless manner across all API formats (`/v1/chat/completions`, `/v1/responses`, `/v1/messages`). Dynagate does not store or persist server-side conversation state. Clients must include the full conversation history in each request for multi-turn dialogues.
|
> **Note** Dynagate operates in a completely stateless manner across all API formats (`/v1/chat/completions`, `/v1/responses`, `/v1/messages`). Dynagate does not store or persist server-side conversation state. Clients must include the full conversation history in each request for multi-turn dialogues.
|
||||||
|
|
||||||
2. **Zero-downtime live-reloading**:
|
2. **Zero-downtime live-reloading**:
|
||||||
- Watches `models.csv` (overridable via command-line flags) continuously using a background thread and automatically reloads configuration updates without dropping active connections.
|
- Watches `models.csv` (overridable via command-line flags) continuously using a background thread and automatically reloads configuration updates without dropping active connections.
|
||||||
@@ -50,7 +50,7 @@ Dynagate is a lightweight, high-performance LLM gateway written in Go that acts
|
|||||||
**Using `go install`**:
|
**Using `go install`**:
|
||||||
To install the latest version directly:
|
To install the latest version directly:
|
||||||
```bash
|
```bash
|
||||||
go install codeberg.org/luxferre/dynagate@latest
|
go install code.luxferre.top/luxferre/dynagate@latest
|
||||||
```
|
```
|
||||||
Or from within a cloned repository directory:
|
Or from within a cloned repository directory:
|
||||||
```bash
|
```bash
|
||||||
@@ -59,7 +59,7 @@ go install .
|
|||||||
|
|
||||||
**Building from source manually**:
|
**Building from source manually**:
|
||||||
```bash
|
```bash
|
||||||
git clone https://codeberg.org/luxferre/dynagate.git
|
git clone https://code.luxferre.top/luxferre/dynagate.git
|
||||||
cd dynagate
|
cd dynagate
|
||||||
make build
|
make build
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -8,13 +8,14 @@ CONFIG='models.csv'
|
|||||||
TCONFIG="$(mktemp)"
|
TCONFIG="$(mktemp)"
|
||||||
|
|
||||||
# Write OpenCode Zen free models
|
# Write OpenCode Zen free models
|
||||||
|
printf 'big-pickle,-,https://opencode.ai/zen,\n' >> "$TCONFIG"
|
||||||
$REQ https://opencode.ai/zen/v1/models | jq -r '.data | map(select(.id | test("-free")) | .id) | .[]' | awk '{printf "%s,-,https://opencode.ai/zen,\n",$0}' >> "$TCONFIG"
|
$REQ https://opencode.ai/zen/v1/models | jq -r '.data | map(select(.id | test("-free")) | .id) | .[]' | awk '{printf "%s,-,https://opencode.ai/zen,\n",$0}' >> "$TCONFIG"
|
||||||
|
|
||||||
# Write Kilo free models
|
# Write Kilo free models
|
||||||
$REQ https://api.kilo.ai/api/openrouter/models | jq -r '.data | map(select(.isFree) | .id) | .[]' | awk '{printf "%s,-,https://api.kilo.ai/api/openrouter,\n",$0}' >> "$TCONFIG"
|
$REQ https://api.kilo.ai/api/openrouter/models | jq -r '.data | map(select(.isFree) | .id) | .[]' | awk '{printf "%s,-,https://api.kilo.ai/api/openrouter,\n",$0}' >> "$TCONFIG"
|
||||||
|
|
||||||
# Write OVHCloud free trial models (2 req per minute per IP keyless)
|
# Write OVHCloud free trial models (2 req per minute per IP keyless)
|
||||||
$REQ https://oai.endpoints.kepler.ai.cloud.ovh.net/v1/models | jq -r '.data | .[] | .id' | grep -viE 'diffusion|whisper|ppl|guard|embedding|bge-' | awk '{printf "%s,-,https://oai.endpoints.kepler.ai.cloud.ovh.net,\n",$0}' >> "$TCONFIG"
|
$REQ https://oai.endpoints.kepler.ai.cloud.ovh.net/v1/models | jq -r '.data | .[] | .id' | grep -viE 'diffusion|whisper|ppl|guard|embedding|bge-|-tts-' | awk '{printf "%s,-,https://oai.endpoints.kepler.ai.cloud.ovh.net,\n",$0}' >> "$TCONFIG"
|
||||||
|
|
||||||
### Uncomment for G4F public-hosted models (50 req per hour per IP keyless)
|
### Uncomment for G4F public-hosted models (50 req per hour per IP keyless)
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
module codeberg.org/luxferre/dynagate
|
module code.luxferre.top/luxferre/dynagate
|
||||||
|
|
||||||
go 1.26.4
|
go 1.26.4
|
||||||
|
|||||||
+12
-4
@@ -1,21 +1,25 @@
|
|||||||
model,key,endpoint,extra
|
model,key,endpoint,extra
|
||||||
|
big-pickle,-,https://opencode.ai/zen,
|
||||||
cohere/north-mini-code:free,-,https://api.kilo.ai/api/openrouter,
|
cohere/north-mini-code:free,-,https://api.kilo.ai/api/openrouter,
|
||||||
deepseek-v4-flash-free,-,https://opencode.ai/zen,
|
deepseek-v4-flash-free,-,https://opencode.ai/zen,
|
||||||
|
dots-studio/dots-3-note-preview:free,-,https://api.kilo.ai/api/openrouter,
|
||||||
gpt-oss-120b,-,https://oai.endpoints.kepler.ai.cloud.ovh.net,
|
gpt-oss-120b,-,https://oai.endpoints.kepler.ai.cloud.ovh.net,
|
||||||
gpt-oss-20b,-,https://oai.endpoints.kepler.ai.cloud.ovh.net,
|
gpt-oss-20b,-,https://oai.endpoints.kepler.ai.cloud.ovh.net,
|
||||||
inclusionai/ling-3.0-flash:free,-,https://api.kilo.ai/api/openrouter,
|
hy3-free,-,https://opencode.ai/zen,
|
||||||
kilo-auto/free,-,https://api.kilo.ai/api/openrouter,
|
kilo-auto/free,-,https://api.kilo.ai/api/openrouter,
|
||||||
laguna-s-2.1-free,-,https://opencode.ai/zen,
|
laguna-s-2.1-free,-,https://opencode.ai/zen,
|
||||||
ling-3.0-flash-free,-,https://opencode.ai/zen,
|
liquid/lfm-2.5-2.6b:free,-,https://api.kilo.ai/api/openrouter,
|
||||||
longcat-2.0-free,-,https://opencode.ai/zen,
|
meituan/longcat-2.0-free,-,https://api.kilo.ai/api/openrouter,
|
||||||
Meta-Llama-3_3-70B-Instruct,-,https://oai.endpoints.kepler.ai.cloud.ovh.net,
|
Meta-Llama-3_3-70B-Instruct,-,https://oai.endpoints.kepler.ai.cloud.ovh.net,
|
||||||
mimo-v2.5-free,-,https://opencode.ai/zen,
|
mimo-v2.5-free,-,https://opencode.ai/zen,
|
||||||
Mistral-7B-Instruct-v0.3,-,https://oai.endpoints.kepler.ai.cloud.ovh.net,
|
Mistral-7B-Instruct-v0.3,-,https://oai.endpoints.kepler.ai.cloud.ovh.net,
|
||||||
Mistral-Nemo-Instruct-2407,-,https://oai.endpoints.kepler.ai.cloud.ovh.net,
|
Mistral-Nemo-Instruct-2407,-,https://oai.endpoints.kepler.ai.cloud.ovh.net,
|
||||||
Mistral-Small-3.2-24B-Instruct-2506,-,https://oai.endpoints.kepler.ai.cloud.ovh.net,
|
Mistral-Small-3.2-24B-Instruct-2506,-,https://oai.endpoints.kepler.ai.cloud.ovh.net,
|
||||||
|
muse-spark-1.2-contributor-free,-,https://opencode.ai/zen,
|
||||||
|
nemotron-3.5-lightning-free,-,https://opencode.ai/zen,
|
||||||
nemotron-3-ultra-free,-,https://opencode.ai/zen,
|
nemotron-3-ultra-free,-,https://opencode.ai/zen,
|
||||||
north-mini-code-free,-,https://opencode.ai/zen,
|
|
||||||
nvidia/nemotron-3.5-content-safety:free,-,https://api.kilo.ai/api/openrouter,
|
nvidia/nemotron-3.5-content-safety:free,-,https://api.kilo.ai/api/openrouter,
|
||||||
|
nvidia/nemotron-3.5-lightning:free,-,https://api.kilo.ai/api/openrouter,
|
||||||
nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free,-,https://api.kilo.ai/api/openrouter,
|
nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free,-,https://api.kilo.ai/api/openrouter,
|
||||||
nvidia/nemotron-3-super-120b-a12b:free,-,https://api.kilo.ai/api/openrouter,
|
nvidia/nemotron-3-super-120b-a12b:free,-,https://api.kilo.ai/api/openrouter,
|
||||||
nvidia/nemotron-3-ultra-550b-a55b:free,-,https://api.kilo.ai/api/openrouter,
|
nvidia/nemotron-3-ultra-550b-a55b:free,-,https://api.kilo.ai/api/openrouter,
|
||||||
@@ -28,5 +32,9 @@ Qwen3.5-397B-A17B,-,https://oai.endpoints.kepler.ai.cloud.ovh.net,
|
|||||||
Qwen3.5-9B,-,https://oai.endpoints.kepler.ai.cloud.ovh.net,
|
Qwen3.5-9B,-,https://oai.endpoints.kepler.ai.cloud.ovh.net,
|
||||||
Qwen3.6-27B,-,https://oai.endpoints.kepler.ai.cloud.ovh.net,
|
Qwen3.6-27B,-,https://oai.endpoints.kepler.ai.cloud.ovh.net,
|
||||||
Qwen3-Coder-30B-A3B-Instruct,-,https://oai.endpoints.kepler.ai.cloud.ovh.net,
|
Qwen3-Coder-30B-A3B-Instruct,-,https://oai.endpoints.kepler.ai.cloud.ovh.net,
|
||||||
|
stealth/ox-alpha,-,https://api.kilo.ai/api/openrouter,
|
||||||
stepfun/step-3.7-flash:free,-,https://api.kilo.ai/api/openrouter,
|
stepfun/step-3.7-flash:free,-,https://api.kilo.ai/api/openrouter,
|
||||||
tencent/hy3:free,-,https://api.kilo.ai/api/openrouter,
|
tencent/hy3:free,-,https://api.kilo.ai/api/openrouter,
|
||||||
|
thinkingmachines/inkling:free,-,https://api.kilo.ai/api/openrouter,
|
||||||
|
thinkingmachines/inkling-small:free,-,https://api.kilo.ai/api/openrouter,
|
||||||
|
x-preview-f-free,-,https://opencode.ai/zen,
|
||||||
|
|||||||
|
Reference in New Issue
Block a user