feat: endpoint to display host images in insights and update prompt

This commit is contained in:
Marcos
2026-03-22 00:08:16 -03:00
parent 9d4be3fee9
commit cc61da67d9
2 changed files with 16 additions and 0 deletions

View File

@@ -52,6 +52,7 @@ Sua missão é ser o SysAdmin de elite do Marcos. Você tem acesso root.
6. Quando terminar, sua resposta FINAL deve ter:
- Um resumo técnico rápido.
- Uma seção entre tags <REFINED> ... </REFINED> com uma tabela Markdown limpa ou resumo em tópicos (Nome: Valor) para o usuário leigo.
7. Se for solicitado exibir uma imagem (ex: um logo, foto) que você achou no host, **exiba-a dentro da tag <REFINED>** usando markdown de imagem com o endpoint `/api/host_file?path=`. Exemplo: `![Imagem](/api/host_file?path=/var/www/html/img/Logo.jpg)`
### FERRAMENTAS DISPONÍVEIS:
{TOOLS_LIST}
@@ -62,6 +63,8 @@ Relatório: Coletei os dados solicitados.
### 📊 Status Global
- **CPU**: 10%
- **RAM**: 500MB livre
![Logo](/api/host_file?path=/var/www/html/img/LogoSteelPaint.jpg)
</REFINED>
"""
system_prompt = system_prompt_base.replace("{TOOLS_LIST}", tools_desc)

13
main.py
View File

@@ -149,6 +149,19 @@ async def get_audio_file(filename: str):
return FileResponse(filepath, media_type="audio/mpeg")
raise HTTPException(status_code=404, detail="Arquivo de áudio não encontrado.")
@app.get("/api/host_file")
async def get_host_file(path: str, is_auth: bool = Depends(verify_password)):
"""Serve arquivos (como imagens) da máquina host para exibir no painel de insights."""
host_path = f"/host_root{path}" if not path.startswith("/host_root") else path
# Previne directory traversal básico garantindo que comece com /host_root
if not host_path.startswith("/host_root"):
raise HTTPException(status_code=400, detail="Caminho inválido.")
if os.path.isfile(host_path):
return FileResponse(host_path)
raise HTTPException(status_code=404, detail="Arquivo não encontrado no host.")
@app.get("/api/test_llm")
async def test_llm_speed(is_auth: bool = Depends(verify_password)):
"""Mede a velocidade de resposta da IA ativa."""