feat: agent platform initial commit

- FastAPI + HTMX UI: dashboard, agents CRUD, chat, audit, tools
- SQLite schema: agents, conversations, messages, audit, sessions
- Code-agent sync (agents/*.py -> DB on startup)
- MCP client with health check
- Token auth (Bearer + session)
- LiteLLM integration via llm.py
- Docker Compose: agent-platform + mcp-tools services
- Smoke tests pass: /health 200, /api/agents 200, / 401
This commit is contained in:
Leopold
2026-07-05 22:18:00 +02:00
commit 64b840c94c
30 changed files with 2690 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
{% extends "base.html" %}
{% block title %}Audit-Log Agent Platform{% endblock %}
{% block content %}
<div class="page-header">
<h1>Audit-Log</h1>
<p class="subtitle">{{ entries|length }} Einträge (neueste zuerst)</p>
</div>
<section class="card">
{% if entries %}
<table class="table">
<thead>
<tr>
<th>Zeitstempel</th>
<th>Agent</th>
<th>Aktion</th>
<th>Target</th>
<th>Dauer (ms)</th>
</tr>
</thead>
<tbody>
{% for entry in entries %}
<tr>
<td><small>{{ entry.timestamp }}</small></td>
<td><code>{{ entry.agent_id or '-' }}</code></td>
<td><span class="badge">{{ entry.action }}</span></td>
<td><code>{{ entry.target or '-' }}</code></td>
<td>{{ entry.duration_ms or '-' }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<p class="empty-state">Noch keine Audit-Einträge.</p>
{% endif %}
</section>
{% endblock %}