This repository was archived by the owner on Jul 4, 2025. It is now read-only.

Description
Problem Statement
It would be great to allow users to download models simultaneously via the API. Currently, a POST request to /models/pull triggers only one download at a time, causing the second request to wait until the first download is completed. This causes a poor UX when integrating cortex.cpp into Jan.
Feature Idea
Supporting that might lead to a slight change in the response structure of the /events
{
"task": {
"id": "tinyllama:gguf",
"items": [
{
"bytes": 668788096,
"checksum": "N/A",
"downloadUrl": "https://huggingface.co/cortexso/tinyllama/resolve/gguf/model.gguf",
"downloadedBytes": 0,
"id": "model.gguf",
"localPath": "/home/jan/cortexcpp/models/cortex.so/tinyllama/gguf/model.gguf"
},
{
"bytes": 668788096,
"checksum": "N/A",
"downloadUrl": "https://huggingface.co/cortexso/tinyllama/resolve/gguf/model.yml",
"downloadedBytes": 651208498,
"id": "model.yml",
"localPath": "/home/jan/cortexcpp/models/cortex.so/tinyllama/gguf/model.yml"
}
],
"type": "Model"
},
"type": "DownloadUpdated"
}
So that there should be an array of tasks instead of a task object. This could affect Jan later, so we should update accordingly.