llm.py defaulted to AI_PROVIDER=anthropic, AI_MODEL=qwen-light, and the
dead .20 Jetson IP — none of which match how workflows/bot actually run
it (ollama / coder / .103). Update the defaults and docstring to reflect
the live self-hosted setup, and refresh the README note that flagged the
mismatch.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
A small persistent service (bot/app.py) that reuses the ci-ai modules
(llm.py->Jetson, gitea_api.py, ai_review prompt). Handles issue_comment
@ci-ai mentions as threaded chat and pull_request events as idempotent
reviews — answering in seconds via webhook, with NO runner/clone/hairpin.
Runs on the Pi next to Gitea (internal http://gitea:3000 API).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Provider-agnostische LLM-Anbindung (Anthropic jetzt, Jetson/Ollama später per
Env-Var umschaltbar). Stdlib-only Skripte + Beispiel-Workflows. GitLab-Duo-Parität
für self-hosted Gitea + act_runner.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>