feat: URL-derived provider keys (hs-<hostname>) + dedup providers sharing same gateway URL

- GatewayProviderKey() derives stable key from gateway URL hostname
  e.g. https://llmgw.h.raczylo.com/v1 → hs-llmgw-h-raczylo-com
- AbsorbDuplicateProviders() merges providers sharing the same baseURL
  into our canonical entry; user-crafted model metadata wins for overlaps
- kilo: renders to opencode.jsonc (primary config), deep-merges providers,
  deletes enabled_providers filter that was hiding our gateway
- opencode: absorbs duplicate providers from existing config
- All adapters use GatewayProviderKey() instead of hardcoded string
- Fix goose URL doubling (was /v1/v1/chat/completions → /chat/completions)
- Fix token propagation: api_key written directly (not env var ref)
- Zed: adds prompt_cache_key capability, deletes context_servers key
  to avoid ContextServerSettingsContent serde untagged-enum parse error
This commit is contained in:
2026-05-23 21:13:16 +01:00
parent 77158d9f2b
commit fb02b165d7
16 changed files with 180 additions and 57 deletions
+1 -1
View File
@@ -1 +1 @@
harness-sync.raczylo.com
harness-sync.raczylo.com
+10
View File
@@ -8,6 +8,16 @@
name="description"
content="One canonical source of truth for skills, agents, MCP servers, LLM endpoints, and global instructions across every LLM harness on your machine."
/>
<link rel="canonical" href="https://harness-sync.raczylo.com" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://harness-sync.raczylo.com" />
<meta property="og:title" content="harness-sync — One Config, Every Harness" />
<meta property="og:description" content="One canonical source of truth for skills, agents, MCP servers, LLM endpoints, and global instructions across every LLM harness on your machine." />
<meta property="og:image" content="https://harness-sync.raczylo.com/assets/banner.svg" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="harness-sync — One Config, Every Harness" />
<meta name="twitter:description" content="One canonical source of truth for skills, agents, MCP servers, LLM endpoints, and global instructions across every LLM harness on your machine." />
<script src="https://cdn.tailwindcss.com"></script>
<script>
tailwind.config = {