small gleam coding and persistent agent daemon with a detachable cli and a canvas ui albedo.sh

models: additionally read model metadata from /v1/models and some other endpoints #123

targeting main
Closed opened by and assigned to callie.on-her.computer
targeting main

for filling in model metadata for custom openai endpoints, this reads model metadata from the server's endpoints if available. if absent or partial, it fills in with models.dev

it reads openai compliant /models, as well as

  • litellm's /model/info
  • lm studio's /api/v0/models
  • ollama's /api/tags and /api/show

for reasoning effort i read non-standard fields used by OpenAI's Codex backend: supported_reasoning_levels and default_reasoning_level, as well as OpenRouter's reasoning.supported_efforts and reasoning.default_effort. there's nothing in the /v1/models spec from openai relating to reasoning effort (probably because they wrote it before o1 lol) but what reading what the codex backend puts out is good enough imo?

tbqh this is an entirely selfish change. most real inference providers don't expose this metadata. i wanted this so thinking levels can work for custom model name strings (on my bridge :nitro literally just adds the fast mode header, but it's an entirely different model string)

Image

This pull request has no versions submitted yet.