detached 4eae592

Restore OpenCode Go Kimi K3 catalog entry

The deferred MCP bridge reduces the initial Kimi request from 64 MCP
schemas (~64 KB total) to one loader (~15 KB total). A two-turn wire
test confirms the selected schema is inserted at the tool-result
position before the next Kimi request.
commit
4eae59260cbe8a515c83837c468b702796725414
author
mi-skam · · 2026-07-21 15:55 UTC
parent
b777b5a
signature
SSH UnverifiedSHA256:Yu1uEv3+xppM2hvm7BsWney9tUWafRiTe/kq8zX8X0w The key is unknown
2 files · +6 -3
M packages/provider/catalog_builtin.go +1 -0
@@ -309,6 +309,7 @@ var builtinCatalog = []Model{
309309 {Provider: "opencode-go", ID: "kimi-k2.5", DisplayName: "Kimi K2.5", ContextWindow: 262144, MaxOutput: 65536, Reasoning: true, PriceInput: 0.6, PriceOutput: 3, PriceCacheRead: 0.1, BaseURL: "https://opencode.ai/zen/go/v1"},
310310 {Provider: "opencode-go", ID: "kimi-k2.6", DisplayName: "Kimi K2.6", ContextWindow: 262144, MaxOutput: 65536, Reasoning: true, PriceInput: 0.95, PriceOutput: 4, PriceCacheRead: 0.16, BaseURL: "https://opencode.ai/zen/go/v1"},
311311 {Provider: "opencode-go", ID: "kimi-k2.7-code", DisplayName: "Kimi K2.7 Code", ContextWindow: 262144, MaxOutput: 16384, Reasoning: true, PriceInput: 0.74, PriceOutput: 3.5, PriceCacheRead: 0.15, BaseURL: "https://opencode.ai/zen/go/v1"},
312+ {Provider: "opencode-go", ID: "kimi-k3", DisplayName: "Kimi K3", ContextWindow: 262144, MaxOutput: 131072, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, BaseURL: "https://opencode.ai/zen/go/v1"},
312313 {Provider: "opencode-go", ID: "mimo-v2.5", DisplayName: "MiMo V2.5", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 0.4, PriceOutput: 2, PriceCacheRead: 0.08, BaseURL: "https://opencode.ai/zen/go/v1"},
313314 {Provider: "opencode-go", ID: "mimo-v2.5-pro", DisplayName: "MiMo V2.5 Pro", ContextWindow: 1048576, MaxOutput: 128000, Reasoning: true, PriceInput: 1, PriceOutput: 3, PriceCacheRead: 0.2, BaseURL: "https://opencode.ai/zen/go/v1"},
314315 {Provider: "opencode-go", ID: "minimax-m2.5", DisplayName: "MiniMax M2.5", ContextWindow: 204800, MaxOutput: 65536, Reasoning: true, PriceInput: 0.3, PriceOutput: 1.2, PriceCacheRead: 0.03, BaseURL: "https://opencode.ai/zen/go"},
@@ -309,6 +309,7 @@ var builtinCatalog = []Model{
309 {Provider: "opencode-go", ID: "kimi-k2.5", DisplayName: "Kimi K2.5", ContextWindow: 262144, MaxOutput: 65536, Reasoning: true, PriceInput: 0.6, PriceOutput: 3, PriceCacheRead: 0.1, BaseURL: "https://opencode.ai/zen/go/v1"},309 {Provider: "opencode-go", ID: "kimi-k2.5", DisplayName: "Kimi K2.5", ContextWindow: 262144, MaxOutput: 65536, Reasoning: true, PriceInput: 0.6, PriceOutput: 3, PriceCacheRead: 0.1, BaseURL: "https://opencode.ai/zen/go/v1"},
310 {Provider: "opencode-go", ID: "kimi-k2.6", DisplayName: "Kimi K2.6", ContextWindow: 262144, MaxOutput: 65536, Reasoning: true, PriceInput: 0.95, PriceOutput: 4, PriceCacheRead: 0.16, BaseURL: "https://opencode.ai/zen/go/v1"},310 {Provider: "opencode-go", ID: "kimi-k2.6", DisplayName: "Kimi K2.6", ContextWindow: 262144, MaxOutput: 65536, Reasoning: true, PriceInput: 0.95, PriceOutput: 4, PriceCacheRead: 0.16, BaseURL: "https://opencode.ai/zen/go/v1"},
311 {Provider: "opencode-go", ID: "kimi-k2.7-code", DisplayName: "Kimi K2.7 Code", ContextWindow: 262144, MaxOutput: 16384, Reasoning: true, PriceInput: 0.74, PriceOutput: 3.5, PriceCacheRead: 0.15, BaseURL: "https://opencode.ai/zen/go/v1"},311 {Provider: "opencode-go", ID: "kimi-k2.7-code", DisplayName: "Kimi K2.7 Code", ContextWindow: 262144, MaxOutput: 16384, Reasoning: true, PriceInput: 0.74, PriceOutput: 3.5, PriceCacheRead: 0.15, BaseURL: "https://opencode.ai/zen/go/v1"},
312+ {Provider: "opencode-go", ID: "kimi-k3", DisplayName: "Kimi K3", ContextWindow: 262144, MaxOutput: 131072, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, BaseURL: "https://opencode.ai/zen/go/v1"},
312 {Provider: "opencode-go", ID: "mimo-v2.5", DisplayName: "MiMo V2.5", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 0.4, PriceOutput: 2, PriceCacheRead: 0.08, BaseURL: "https://opencode.ai/zen/go/v1"},313 {Provider: "opencode-go", ID: "mimo-v2.5", DisplayName: "MiMo V2.5", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 0.4, PriceOutput: 2, PriceCacheRead: 0.08, BaseURL: "https://opencode.ai/zen/go/v1"},
313 {Provider: "opencode-go", ID: "mimo-v2.5-pro", DisplayName: "MiMo V2.5 Pro", ContextWindow: 1048576, MaxOutput: 128000, Reasoning: true, PriceInput: 1, PriceOutput: 3, PriceCacheRead: 0.2, BaseURL: "https://opencode.ai/zen/go/v1"},314 {Provider: "opencode-go", ID: "mimo-v2.5-pro", DisplayName: "MiMo V2.5 Pro", ContextWindow: 1048576, MaxOutput: 128000, Reasoning: true, PriceInput: 1, PriceOutput: 3, PriceCacheRead: 0.2, BaseURL: "https://opencode.ai/zen/go/v1"},
314 {Provider: "opencode-go", ID: "minimax-m2.5", DisplayName: "MiniMax M2.5", ContextWindow: 204800, MaxOutput: 65536, Reasoning: true, PriceInput: 0.3, PriceOutput: 1.2, PriceCacheRead: 0.03, BaseURL: "https://opencode.ai/zen/go"},315 {Provider: "opencode-go", ID: "minimax-m2.5", DisplayName: "MiniMax M2.5", ContextWindow: 204800, MaxOutput: 65536, Reasoning: true, PriceInput: 0.3, PriceOutput: 1.2, PriceCacheRead: 0.03, BaseURL: "https://opencode.ai/zen/go"},
M packages/provider/provider_test.go +5 -3
@@ -447,9 +447,10 @@ func TestGPT56CatalogEntries(t *testing.T) {
447447 }
448448 }
449449
450-// TestOpenCodeGoCatalog pins the Grok 4.5 entry added to the OpenCode Go
451-// provider. It is listed in the vendor's current Go model lineup
452-// (https://opencode.ai/docs/go) and was missing from the baked-in catalog.
450+// TestOpenCodeGoCatalog pins the Grok 4.5 and Kimi K3 entries added to
451+// the OpenCode Go provider. Both are listed in the vendor's current Go
452+// model lineup (https://opencode.ai/docs/go) and were missing from the
453+// baked-in catalog.
453454 func TestOpenCodeGoCatalog(t *testing.T) {
454455 cases := []struct {
455456 id string
@@ -460,6 +461,7 @@ func TestOpenCodeGoCatalog(t *testing.T) {
460461 cacheRead float64
461462 }{
462463 {"grok-4.5", 500000, 500000, 2, 6, 0.3},
464+ {"kimi-k3", 262144, 131072, 3, 15, 0.3},
463465 }
464466 for _, tc := range cases {
465467 m, err := FindModel("opencode-go", tc.id)
@@ -447,9 +447,10 @@ func TestGPT56CatalogEntries(t *testing.T) {
447 }447 }
448 }448 }
449 449
450-// TestOpenCodeGoCatalog pins the Grok 4.5 entry added to the OpenCode Go450+// TestOpenCodeGoCatalog pins the Grok 4.5 and Kimi K3 entries added to
451-// provider. It is listed in the vendor's current Go model lineup451+// the OpenCode Go provider. Both are listed in the vendor's current Go
452-// (https://opencode.ai/docs/go) and was missing from the baked-in catalog.452+// model lineup (https://opencode.ai/docs/go) and were missing from the
453+// baked-in catalog.
453 func TestOpenCodeGoCatalog(t *testing.T) {454 func TestOpenCodeGoCatalog(t *testing.T) {
454 cases := []struct {455 cases := []struct {
455 id string456 id string
@@ -460,6 +461,7 @@ func TestOpenCodeGoCatalog(t *testing.T) {
460 cacheRead float64461 cacheRead float64
461 }{462 }{
462 {"grok-4.5", 500000, 500000, 2, 6, 0.3},463 {"grok-4.5", 500000, 500000, 2, 6, 0.3},
464+ {"kimi-k3", 262144, 131072, 3, 15, 0.3},
463 }465 }
464 for _, tc := range cases {466 for _, tc := range cases {
465 m, err := FindModel("opencode-go", tc.id)467 m, err := FindModel("opencode-go", tc.id)

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 1

Tags 476

↑↓ moveenter openesc close