{
    "schema": "eupdate-package-specification-v1",
    "author": "PB <pavel.bartos.pb@gmail.com>",
    "project_id": "5da55f9476331e59",
    "software_id": "eai-server",
    "software": "eAI",
    "module": null,
    "release_id": "484cd2e6a0ac0833260b937722119c21",
    "version": "0.1.0",
    "release_date": "2026-10-15",
    "published_at": "2026-10-15T17:21:53+00:00",
    "bytes": 249903,
    "sha256": "8f2d315c06101a464fbb25a21edc0bc411e0170c71b2321df46d4b56ea053bd6",
    "file_count": 30,
    "languages": {
        "Python": {
            "bytes": 126671,
            "files": 10
        },
        "JavaScript": {
            "bytes": 42899,
            "files": 1
        },
        "CSS": {
            "bytes": 13589,
            "files": 1
        },
        "Shell": {
            "bytes": 6165,
            "files": 1
        },
        "HTML": {
            "bytes": 2564,
            "files": 1
        }
    },
    "installation_url": "https://update.estudium.eu/package.php?software_id=eai-server&version=0.1.0",
    "update_url": "https://update.estudium.eu/package.php?software_id=eai-server",
    "install_json": {
        "schema": "eweb-install-manifest-v1",
        "schema_version": 1,
        "software": "eAI",
        "software_id": "eai-server",
        "version": "0.1.0",
        "package_revision": 1,
        "package_type": "zip",
        "release_date": "2026-10-15",
        "license": "MIT",
        "author": {
            "name": "PB",
            "email": "pavel.bartos.pb@gmail.com",
            "website": "https://estudium.eu"
        },
        "homepage": "https://estudium.eu",
        "description": {
            "cs": "AI server pro CPU, CUDA, Vulkan a AX8850. Správa modelů, VLM chat CZ/EN, API, eUpdate, check-in a diagnostika.",
            "en": "AI server for CPU, CUDA, Vulkan and AX8850. Model management, CZ/EN VLM chat, API, eUpdate, check-in and diagnostics."
        },
        "compatibility": {
            "os_types": [
                "linux"
            ],
            "distribution_ids": [
                "ubuntu"
            ],
            "os_versions": [
                "26.04"
            ],
            "distributions": [
                {
                    "id": "ubuntu",
                    "name": "Ubuntu",
                    "versions": [
                        "26.04"
                    ]
                }
            ],
            "architectures": [
                "aarch64",
                "arm64",
                "x86_64",
                "amd64"
            ],
            "init_system": "systemd",
            "package_manager": "apt",
            "detection": {
                "file": "/etc/os-release",
                "distribution_field": "ID",
                "version_field": "VERSION_ID"
            },
            "compatibility_basis": "Host installer allows Ubuntu >=26.04 on ARM64/x86-64. Vendor GPU/AXCL compatibility requires separate verification.",
            "native_windows_supported": false,
            "native_macos_supported": false,
            "any_linux_distribution": false
        },
        "installation": {
            "working_directory": ".",
            "package_directory": "eai-server-0.1.0",
            "entrypoint": "./eai-server-0.1.0/install.sh",
            "shell": "bash",
            "requires_root": true,
            "requires_internet": true,
            "interactive": true,
            "languages": [
                "cs",
                "en"
            ],
            "commands": {
                "linux": {
                    "supported": true,
                    "command": "sudo bash ./eai-server-0.1.0/install.sh --non-interactive --engine none",
                    "command_as_root": "bash ./eai-server-0.1.0/install.sh --non-interactive --engine none",
                    "command_from_package_directory": "sudo bash ./install.sh",
                    "mode": "automatic"
                },
                "windows": {
                    "supported": false,
                    "command": null,
                    "mode": "unsupported"
                },
                "macos": {
                    "command": null,
                    "supported": false,
                    "mode": "unsupported"
                },
                "other": {
                    "command": null,
                    "supported": false,
                    "mode": "unsupported"
                },
                "source": {
                    "command": null,
                    "supported": false,
                    "mode": "unsupported"
                }
            },
            "extraction_required": true,
            "extract_entire_archive": true,
            "recommended_resources": {
                "cpu_cores": 4,
                "ram_mib": 8192,
                "free_disk_gib": 20,
                "note": "Model-dependent recommendation, not a certification that every 9B VLM fits in 8 GiB."
            },
            "web_root": "."
        },
        "upgrade": {
            "supported": true,
            "command": "sudo bash ./eai-server-0.1.0/install.sh --non-interactive --engine none",
            "working_directory": ".",
            "automatic": {
                "supported": true,
                "command": "sudo eai-release apply",
                "check_command": "sudo eai-release check",
                "interval_seconds": 604800,
                "protocol": 1
            }
        },
        "installed_paths": {
            "application": "/opt/eai",
            "configuration": "/var/lib/eai/config.json",
            "state": "/var/lib/eai",
            "logs": "/var/lib/eai/logs",
            "models": "/var/lib/eai/models",
            "version_file": "/opt/eai/VERSION"
        },
        "documentation": {
            "readme": "eai-server-0.1.0/README.md",
            "validation": "eai-server-0.1.0/docs/VALIDATION.md",
            "changelog": "eai-server-0.1.0/CHANGELOG.md"
        },
        "integrity": {
            "algorithm": "sha256",
            "installer_sha256": "72cd06c05c22fd5690f1f53853d984af2bc93651b4ca7f14df49dae9570cee4c",
            "payload_checksums_file": "eai-server-0.1.0/SHA256SUMS",
            "payload_checksums_base_directory": "eai-server-0.1.0",
            "payload_checksums_sha256": "cc42d0d2ab37a90ae3bfb3f13fe99f49afc249c80a4e708683b77312457c0131"
        },
        "project": {
            "name": "eAI",
            "website": "https://estudium.eu",
            "updates_url": "https://update.estudium.eu/project.php?software_id=eai-server"
        },
        "archive_metadata": {
            "working_directory": ".",
            "publisher": "dcf6d41fbcdf0e16",
            "updated_at": "2026-10-15T17:21:53+00:00",
            "application_author": "PB <pavel.bartos.pb@gmail.com>"
        },
        "package": {
            "type": "release",
            "visibility": "public",
            "modules_included": false,
            "target": "software"
        },
        "requirements": [],
        "license_custom": ""
    },
    "readme": "# eAI 0.1.0\n\nAutor: **PB** · pavel.bartos.pb@gmail.com · https://estudium.eu  \nVytvořeno: **10/2026** · licence **MIT**\n\nSamostatný AI server pro **Ubuntu 26.04 a novější, ARM64 / x86-64**.\nWebové ovládání používá modrý vzhled, logo, přihlašování a levé menu ve stylu\nrodiny eWeb/eCast. Služba běží nezávisle na otevřeném prohlížeči.\n\n## Instalace\n\nPo rozbalení instalačního ZIPu:\n\n```bash\ncd eai-server-0.1.0\nsudo bash install.sh\n```\n\nTUI nabídne CPU, CUDA, Vulkan, AX8850 nebo instalaci bez enginu. Výchozí\nCPU varianta zkompiluje llama.cpp z oficiálního repozitáře. Na Raspberry Pi\nmůže kompilace trvat několik minut; průběh je vidět v terminálu.\n\nWeb: **http://IP-SERVERU:8088**. Výchozí přihlášení **admin / admin**;\npřed zpřístupněním správy je povinná změna hesla na alespoň 11 znaků.\nPort lze zadat v TUI nebo přepínačem `--port 8089`.\nNginx konfigurace je samostatná a nepřepisuje ostatní weby.\nPro veřejnou doménu nastavte v Nginx HTTPS certifikát; služba eAI zůstává na\nloopback portu 8090.\n\nInstalace bez kompilace, například pro externí AI server nebo přes eUpdate:\n\n```bash\nsudo bash install.sh --non-interactive --engine none\n```\n\nDoinstalování enginu:\n\n```bash\nsudo eai-engine install cpu\nsudo eai-engine install cuda\nsudo eai-engine install vulkan\nsudo eai-engine install ax8850\n```\n\nCUDA vyžaduje již funkční NVIDIA ovladač a CUDA Toolkit (`nvcc`). Vulkan\ninstalátor doplní překladač shaderů a vývojové knihovny. CPU/GPU používají\nposlední oficiální llama.cpp; commit je zaznamenán v\n`/opt/eai-engines/llama/COMMIT`. Lze zadat také konkrétní git ref jako třetí\nargument `eai-engine install cpu GIT_REF`. Jedna instalace llama.cpp má právě\njeden zvolený GPU backend; CPU zůstává dostupné i v GPU sestavení.\n\nAX8850 potřebuje samostatně instalovaný **AXCL ovladač výrobce** pro konkrétní\nsystém a jádro. Instalátor AXLLM stáhne runtime, nikoli ovladač jádra.\n\n## První model a chat\n\n1. **Modely → Stáhnout model**: zadejte Hugging Face repozitář.\n2. CPU/GPU: vyberte jednu kvantizaci GGUF a pro VLM odpovídající soubor\n   `mmproj`. U rozděleného GGUF stáhněte všechny díly. SHA-256 LFS souborů\n   a Git kontrolní součty ostatních souborů se ověřují při stažení.\n3. **Přidat model**: vyberte engine, modelový soubor, mmproj a označte VLM.\n   U rozděleného GGUF zvolte první díl. Pro začátek použijte context 4096;\n   jeho zvýšení spotřebovává další paměť.\n4. **Spustit**, poté **Test**. Test kontroluje dostupnost backendu a shodu\n   jeho ID modelu; nehodnotí jazykovou kvalitu.\n5. **Testovací chat**: český/anglický text, případně obrázek.\n\nKandidát pro požadavek 9B VLM je **Qwen3.5-9B**, například GGUF repozitář\n`unsloth/Qwen3.5-9B-GGUF`. eAI nepřidává vlastní jazykové schopnosti;\nčeské a anglické odpovědi závisejí na modelu. Na Pi s 8 GB RAM je nutné\nzohlednit velikost kvantizace, vizuálního enkodéru, kontextu i rezervu systému.\nVýkon a paměťová průchodnost 9B VLM nebyly v tomto prostředí měřeny.\n\n**Dvě AX8850:** v profilu zařízení `0,1`. eAI předá dokumentovaný parametr\n`AXLLM_DEVICES=0,1` a spustí **jedinou instanci** AXLLM. Potřebujete kompletní\npřevedený model pro tento runtime, nikoli původní `.safetensors` ani GGUF.\nZda konkrétní 9B VLM a jeho enkodér fungují na dvou kartách v X1016, musí\npotvrdit test na skutečném hardwaru. Balíček takový převod neobsahuje a\nneoznačuje neověřenou sestavu za funkční. Viz [AX8850](docs/AX8850.md).\n\n## Funkce\n\n- Přehled CPU, RAM, disku, uptime, dostupných teplot a provozu modelů.\n- Detekce NVIDIA, llama.cpp zařízení, AXCL, device nodes a PCIe zařízení.\n- Profily CPU / CUDA / Vulkan / AX8850 / externího HTTP(S) API, start, stop,\n  test backendu, autostart a dohled po pádu procesu.\n- Stahování modelů na pozadí s průběhem, kontrolními součty a zrušením.\n  Neúplný model se neobjeví v cílové složce.\n- Chat s postupně zobrazovanou odpovědí, Stop, historií, obnovením sledování\n  běžící odpovědi po načtení stránky a exportem JSON.\n- PNG/JPEG/WebP pro VLM; nejvýše 4 obrázky do 8 MiB, celý JSON do 24 MB.\n- Měření celkové doby, TTFT a tokenů/sekundu, pokud backend vrátí usage.\n  Rychlost je průměr za celý požadavek včetně zpracování vstupu.\n- OpenAI kompatibilní `/v1/models` a `/v1/chat/completions`, JSON i SSE,\n  modelové aliasy, API klíče s omezením modelů a požadavků za minutu.\n- eUpdate: ruční/týdenní kontrola, ruční/volitelné automatické aktualizace,\n  záloha kódu a dat před změnou a rollback při neúspěšném spuštění.\n- Check-in po startu a 1× za 24 h, ručně přes GUI. Stabilní identita\n  instalace, název serveru, skutečný linuxový hostname a provozní inventář.\n- Konzistentní SQLite zálohy, seznam, stažení, smazání a lokální obnova.\n- Provozní log, logy modelových enginů a diagnostický ZIP bez chatů,\n  obrázků, hesel a klíčů. CZ/EN rozhraní, responzivní menu a formuláře.\n\n## eUpdate\n\n**Do eUpdate nahrajte celý `eai-server-0.1.0.zip`, nerozbalenou vnitřní složku.**\nKořen ZIPu obsahuje `install.json` ve stejném strukturálním formátu jako\nstávající balíčky eWeb. Projekt má `software_id=eai-server`, název eAI a MIT.\nPodrobnosti a JSON pro založení projektu jsou v [docs/EUPDATE.md](docs/EUPDATE.md)\na `eupdate-project.json`. Samotné vytvoření projektu/publikování na vašem\neUpdate zde provedeno nebylo.\n\nInstalace z eUpdate používá `--non-interactive --engine none`, aby vydání\njádra nečekalo na kompilaci enginu. Výpočetní runtime se instaluje samostatně\npříkazem výše; váhy se stáhnou z webové správy. Další aktualizace enginy,\nmodelové váhy, identitu instalace a nastavení zachovají.\n\n## Správa a soubory\n\n```bash\nsystemctl status eai.service\nsudo journalctl -u eai.service -n 100 --no-pager\nsudo eai reset-password\nsudo eai backup\nsudo eai restore /absolutni/cesta/eai-backup-....zip\nsudo eai-release check\nsudo eai-release checkin\nsudo eai-release apply\n```\n\nKód `/opt/eai` vlastní root. Data, SQLite, konfigurace, zálohy a logy jsou\nv `/var/lib/eai` a patří účtu `eai`. Váhy: `/var/lib/eai/models`.\nPrivilegovaný aktualizační pracovník bere pouze požadavek na aktualizaci;\nURL i SHA-256 získá samostatně z důvěryhodného HTTPS feedu eUpdate.\nZálohy před aktualizací jsou soukromě v `/var/lib/eai-maintenance/rollback-*`.\nObnova běžné zálohy vyžaduje stejnou verzi eAI a nejdříve vytvoří záchrannou\nzálohu aktuálních dat. Modelové váhy se do záloh nekopírují.\n\n`Stop` u profilu vypne autostart, aby dohled model ihned znovu nespustil.\nCelý server po restartu obnoví modely s ponechaným autostartem. Rozpracované\nodpovědi/stahování při restartu služby dostanou stav přerušeno; nejsou vydávány\nza dokončené. Stahování po restartu spusťte znovu.\n\n## Ověření a známé limity\n\n```bash\npython3 -m unittest discover -s tests -v\nbash install.sh --verify-only\n```\n\nPodrobné výsledky jsou v `docs/VALIDATION.md`. Testy používají skutečný HTTP\nserver a řízený testovací backend; nevyžadují GPU, AX8850 ani stažení vah.\nNejde o měření kvality nebo rychlosti modelu a nebyl proveden produkční\nzásah na vašich serverech. Rozsah API je popsán v [API](docs/API.md).\n\n## English quick start\n\nRun `sudo bash install.sh` on Ubuntu 26.04+ (ARM64/x86-64). Select CPU,\nCUDA, Vulkan, AX8850 or no engine. Open `http://SERVER:8088`, sign in with\n`admin / admin`, then change the password (11+ characters). Use the English\nbutton to switch the interface. Download GGUF and its matching vision\nprojector, add a model profile, start the runtime and open Test chat.\n\nAX8850 requires vendor AXCL drivers plus a converted AXLLM model. Device\nselection `0,1` enables the runtime's documented multi-card mode; a specific\n9B VLM on the user's two-card setup remains subject to hardware validation.\nThe ZIP includes source, installer, tests, manifests and docs, without\nmodel weights, vendor binaries or screenshots.",
    "download_url": "https://update.estudium.eu/download.php?project=5da55f9476331e59&release=484cd2e6a0ac0833260b937722119c21",
    "package_target": "software",
    "requirements": [],
    "license": {
        "id": "MIT",
        "name": "MIT",
        "custom_text": ""
    },
    "deployment": {
        "archive_root": ".",
        "web_root": "."
    },
    "project_type": "application",
    "hosting": null
}