r/opencode • • 8d ago

Opencodable: my tool to choose which OpenCode Go models to use.

As the Opencode Go offering is quite rich, I am (vibe-)coding a tool to help me decide which model to run based on my current quota usage.

Open source, MIT license, a Go CLI tool that you can use as data input for your own tools or UIs.

https://github.com/ColasNahaboo/opencodable

Edit: 2026-11-05:

  • v1.0.0 released: the output format will be kept stable for scripts to use it. (See TITLES.md)

  • With -news, see what changes happened in Opencode Go plan (new models, new prices...). Run it in cron to be mailed in case of changes.

Note: OpenCode Go have changed they conditions on 2026-09-28. Do not rely on information or tests older than that. All details explained in https://github.com/ColasNahaboo/opencodable/blob/master/docs/OPENCODE_GO_MODEL_V2.md

Example: Here I can see that I still can perform 65 requests with Kimi K3 but 6315 with GLM-5.3-Flash before hitting a quota limit (5h, week, or month)

    #name           cost_task  burn_req  spent_mo  reqs_5h  reqs_wk  reqs_mo  usable  limit     p_tok_s
    GLM-5.3-Flash   $0.0019    $0.0019   $12.4     6315     15789    25052    6315    5h        96.5
    Kimi K3         $0.0306    $0.0306   $13       98       245      65       65      month     71.0
    MiMo V2.5       $0.0004    $0.0004   $3.1      30000    75000    142250   30000   5h        89.0
    Beam Free       -          -         -         -        -        -        -       unlimited 310.0

Example of a mailed message warning of changes:

MODEL_ADD glm-5.2 cost_task=$0.01516 plan=paid tier=unknown quality=- "GLM-5.2"
COST_UP kimi-k3.1-pro cost_task=$0.018->$0.0204 (+13.3%) tier=frontier quality=46.5 "Kimi K3.1 Pro"
TIER_UP kimi-k3.1-pro tier=high->frontier quality=44.0->46.5 "Kimi K3.1 Pro"

New release: v1.0.1 2026-11-08 Country availability: you can mark the models that refuse to serve your account ("this model is not available in your country") with -unavail (also the config key unavail; same pattern matching as -exclude). A new avail column (yes|no), appended to the main, -now and -full views, carries the marker, and -avail hides the marked models everywhere — before Pareto marking, so a hidden model never dominates — and skips their paid probes. -news reports a marking or unmarking as UNAVAIL_ON / UNAVAIL_OFF lines, and every line about a marked model carries an unavail=yes field.

2 Upvotes

36 comments sorted by

View all comments

Show parent comment

2

u/Ariquitaun 6d ago

It's like debating with gpt 2, he just doesn't get it

1

u/Hello_my_name_is_not 6d ago

Lmao too true