Adds a new specialist agent that gives the AI system control over its own infrastructure: - sysops_tools.py: docker SDK (ps/logs/restart) + git CLI (pull/status/log) + Odoo channel notifier for autonomous action broadcasts - sysops_agent.py: BaseAgent subclass handling on-demand chat requests, auto_heal() triggered by health failures, and sweep() for audits - Background auto-heal loop (main.py): runs every 2 minutes, calls _get_failing_systems() and triggers auto_heal() when degraded - health.py: extracted _get_failing_systems() helper reused by both the /health/detailed endpoint and the auto-heal loop - docker-compose.yml: mount docker socket + /root/odoo workspace + SSH keys for git authentication - Dockerfile: add git to apt-get - requirements.txt: add docker==7.1.0 Python SDK Auto-heal behavior: - Detects failing containers, restarts them, notifies all bot DM channels - Ollama (192.168.2.9) is flagged as external and skipped - On-demand via chat: "restart agent", "check logs", "pull latest code" Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
20 lines
420 B
Plaintext
20 lines
420 B
Plaintext
fastapi==0.115.0
|
|
uvicorn[standard]==0.30.6
|
|
pydantic==2.9.2
|
|
pydantic-settings==2.5.2
|
|
asyncpg==0.29.0
|
|
anthropic==0.34.2
|
|
httpx==0.27.2
|
|
alembic==1.13.3
|
|
sqlalchemy[asyncio]==2.0.35
|
|
json-log-formatter==0.5.2
|
|
python-dotenv==1.0.1
|
|
mcp==1.3.0
|
|
ollama==0.3.3
|
|
# Receipt parsing — also requires: apt install tesseract-ocr (for image OCR)
|
|
pdfplumber==0.11.4
|
|
Pillow==10.4.0
|
|
pytesseract==0.3.13
|
|
python-multipart==0.0.12
|
|
docker==7.1.0
|