wrolpi/modules/ai
Roland 2f27ce49a7
ai: ai.yaml config, model catalog, and the GGUF downloader
ai.yaml is the source of truth (opt-in: enabled=False by default) with
active model, idle-unload minutes, context override, and tool-call
bound.  The model catalog follows the map pattern: a bundled constant
keeps the Manage tab working offline, the CDN manifest (ai/models.json
+ detached GPG signature) wins when reachable.  GGUF downloads clone
the map-extract flow — the per-file meta4 is GPG-verified once and the
same bytes handed to aria2c, so the verified hash is the enforced one;
unverified downloads are refused.  Models land in <media>/ai/models/
(gated by the existing media_mounted download rules).  Manage endpoints
(catalog with RAM-tier recommendation, settings) live under
/api/ai/manage/ which the future agent loop excludes from its tool
catalog.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-13 20:10:15 -06:00
..
test ai: ai.yaml config, model catalog, and the GGUF downloader 2026-09-13 20:10:15 -06:00
__init__.py ai: ai.yaml config, model catalog, and the GGUF downloader 2026-09-13 20:10:15 -06:00
api.py ai: ai.yaml config, model catalog, and the GGUF downloader 2026-09-13 20:10:15 -06:00
catalog.py ai: ai.yaml config, model catalog, and the GGUF downloader 2026-09-13 20:10:15 -06:00
config.py ai: ai.yaml config, model catalog, and the GGUF downloader 2026-09-13 20:10:15 -06:00
conftest.py ai: ai.yaml config, model catalog, and the GGUF downloader 2026-09-13 20:10:15 -06:00
controller_client.py ai: system endpoints — aggregate status, services, logs, disks 2026-09-13 20:10:15 -06:00
downloader.py ai: ai.yaml config, model catalog, and the GGUF downloader 2026-09-13 20:10:15 -06:00
errors.py ai: system endpoints — aggregate status, services, logs, disks 2026-09-13 20:10:15 -06:00
help_docs.py ai: help-docs search — Help mode tools 2026-09-13 20:10:15 -06:00
lib.py ai: add the /api/ai blueprint, the read-only LLM tool catalog 2026-09-13 20:10:15 -06:00
schema.py ai: ai.yaml config, model catalog, and the GGUF downloader 2026-09-13 20:10:15 -06:00