Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

no models in custom provider

Abierto
#392 5 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
45/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
clojure

Línea de trabajo

Start by tracing how configured providers and their static models are initialized and added to db[:models], then check when model sync completes relative to chat startup. Reproduce with the supplied fetchModels: false configuration and inspect /providers-list, /doctor, and a chat request. Done when the custom model is available and the default model is shown and usable.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Describe the bug

ECA 0.123.2 reads a custom provider from =config.json= correctly, but the provider is not registered as an available runtime model. As a result:

  • =/config= shows the provider and =defaultModel= correctly
  • =/providers-list= shows the provider as configured, but with =0 models=
  • =/doctor= shows empty =Default model:=
  • chat requests can fail with:
    #+begin_src text :results output
    API url not found.
    Make sure you have provider '' configured properly.
    #+end_src

This seems to affect custom OpenAI-compatible providers configured with =api: "openai-chat"= and explicit static models in config.

To Reproduce

  1. Create =~/.config/eca/config.json= with a custom provider, for example:
    #+begin_src json :results output
    {
    "$schema": "https://eca.dev/config.json",
    "defaultModel": "aitunnel/qwen3.5-397b-a17b",
    "providers": {
    "aitunnel": {
    "api": "openai-chat",
    "url": "https://api.aitunnel.ru/v1",
    "key": "REDACTED",
    "fetchModels": false,
    "models": {
    "qwen3.5-397b-a17b": {}
    }
    }
    }
    }
    #+end_src
  2. Start ECA server.
  3. Open chat and run =/config=.
  4. Run =/providers-list= and =/doctor=.
  5. Send a normal chat message.

Expected behavior

If a custom provider is present in =/config= and has explicit static models in =providers..models=, ECA should register those models as available runtime models even when =fetchModels=false=.

Expected result:

  • =/providers-list= should show at least 1 model for the custom provider
  • =/doctor= should show a non-empty =Default model:=
  • chat should use =aitunnel/qwen3.5-397b-a17b= successfully

Actual behavior

  • =/config= shows the merged config correctly, including:
    • =defaultModel "aitunnel/qwen3.5-397b-a17b"=
    • the custom provider
    • =fetchModels false=
    • the static =models= entry
  • =/providers-list= shows:
    #+begin_src text :results output
    aitunnel ✓ configured
    API Key · (config) · active
    api: openai-chat
    url: https://api.aitunnel.ru/v1
    fetchModels: false
    0 models
    #+end_src
  • =/doctor= shows:
    #+begin_src text :results output
    Default model:

Logged providers:
openai: Unknown
#+end_src

  • sending a chat message can fail with:
    #+begin_src text :results output
    API url not found.
    Make sure you have provider '' configured properly.
    #+end_src

Doctor

#+begin_src text :results output
ECA version: 0.123.2

Server cmd: /home/zoya/.emacs.d/eca/eca server

Workspaces: /home/zoya/.config/eca

Default model:

Logged providers:
openai: Unknown
#+end_src

Additional context

From source inspection, this looks like a runtime model registration / initialization issue rather than a config parsing issue:

  • =/config= proves the config is loaded correctly
  • custom providers with =api "openai-chat"= appear to be supported by runtime dispatch
  • the failure seems to happen because the custom model does not end up in =db[:models]=
  • chat/model selection then has no valid runtime model to use
  • there may also be an initialization race, because model sync is started asynchronously during startup

Relevant symptoms are consistent with:

  • static models from custom providers not being surfaced into available models
  • or chat starting before model sync completes
  • or both
Lenguaje dominante
Clojure
Estrellas
1k
Forks
82
Merge medio
3 d 39 min
PR fusionados (30 d)
15

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de editor-code-assistant/eca

Todos los issues de editor-code-assistant/eca

Issues similares

Más issues de Clojure

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.