Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

no models in custom provider

オープン
#392 コメント 5 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 2 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
45/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
clojure

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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
主要言語
Clojure
スター
1k
フォーク
82
平均マージ
3日 39分
マージ済み PR(30日)
15

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

editor-code-assistant/eca のほかの issue

editor-code-assistant/eca の issue をすべて見る

似ている issue

Clojure の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。