From 5e6b79fb9675ef6041bf605e596c86db80e40026 Mon Sep 17 00:00:00 2001 From: Vishal Veera Reddy Date: Wed, 19 Aug 2026 22:12:24 +0000 Subject: [PATCH] feat(providers): add Lynkr as a declarative OpenAI-compatible provider (#11372) Co-authored-by: vishal veerareddy Co-authored-by: Claude Opus 4.8 --- crates/goose-providers/src/declarative.rs | 1 + .../src/declarative/definitions/lynkr.json | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 crates/goose-providers/src/declarative/definitions/lynkr.json diff --git a/crates/goose-providers/src/declarative.rs b/crates/goose-providers/src/declarative.rs index 1a287dd05..c4e6c9424 100644 --- a/crates/goose-providers/src/declarative.rs +++ b/crates/goose-providers/src/declarative.rs @@ -28,6 +28,7 @@ pub(crate) mod declarative_providers { inception, llama_swap, lmstudio, + lynkr, meta, minimax, mistral, diff --git a/crates/goose-providers/src/declarative/definitions/lynkr.json b/crates/goose-providers/src/declarative/definitions/lynkr.json new file mode 100644 index 000000000..4b10d112f --- /dev/null +++ b/crates/goose-providers/src/declarative/definitions/lynkr.json @@ -0,0 +1,24 @@ +{ + "name": "lynkr", + "engine": "openai", + "display_name": "Lynkr", + "description": "Self-hosted, OpenAI-compatible LLM gateway that adds tier routing, token compression, and semantic caching in front of any backend.", + "api_key_env": "LYNKR_API_KEY", + "base_url": "${LYNKR_HOST}/v1/chat/completions", + "env_vars": [ + { + "name": "LYNKR_HOST", + "required": false, + "secret": false, + "primary": true, + "default": "http://localhost:8081", + "description": "Base URL of the Lynkr gateway (default: http://localhost:8081)" + } + ], + "dynamic_models": true, + "models": [], + "supports_streaming": true, + "requires_auth": false, + "skip_canonical_filtering": true, + "model_doc_link": "https://github.com/Fast-Editor/Lynkr" +}