no models in custom provider
Maintainer thường phản hồi trong vòng 2 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 45/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- clojure
- Lĩnh vực
- backend-api-design
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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
- 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 - Start ECA server.
- Open chat and run =/config=.
- Run =/providers-list= and =/doctor=.
- 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
- Ngôn ngữ chính
- Clojure
- Star
- 1k
- Fork
- 82
- Merge trung bình
- 1 ngày 14 giờ
- Pull request đã merge (30 ngày)
- 16
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của editor-code-assistant/eca
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
editor-code-assistant/eca#661 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
bug
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 68/100
editor-code-assistant/eca#657 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
editor-code-assistant/eca#652 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 12/100
editor-code-assistant/eca#648 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
editor-code-assistant/eca#644 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của editor-code-assistant/eca
Issue tương tự
-
module:cql
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
.Needs Triage Priority:P3 Type:Bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
metabase/metabase#84843 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
NoahTheDuke/splint#57 · 1 bình luận ·
-
category:runtime
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
jank-lang/jank#1110 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
IOP MCP
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
Maintainer thường phản hồi trong vòng 1 ngày