Files
graph_explorer/issues/completed/0001-claude-chat-agent.md
T
egutierrez 4ef6a5f7db chore(issues): mover 7 issues completadas a issues/completed/
Status sincronizado con master:
  - 0001 chat con Claude     -> shipped como panel Echo
  - 0003 enricher web        -> shipped (0028 + 0028b)
  - 0026 sistema de jobs     -> shipped
  - 0027 tipo Webpage        -> shipped
  - 0028 fetch_webpage       -> shipped
  - 0028b extract trio       -> shipped
  - 0031 layout estable      -> shipped

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 00:14:58 +02:00

1.8 KiB

id, title, status, priority, created
id title status priority created
0001 Chat con Claude sobre el grafo pending high 2026-04-30

Objetivo

Panel "Chat" dentro de graph_explorer que permita conversar con Claude (Anthropic API) usando el grafo activo como contexto. El agente debe poder:

  • Leer el grafo (entidades, relaciones, metadata) via tool-use sobre operations.db.
  • Responder preguntas tipo: "muestrame los nodos relacionados con X", "que patrones ves en estas conexiones", "que falta investigar".
  • Proponer mutaciones (crear nodo, etiquetar relacion) que el usuario aprueba con un click antes de aplicarse.

Alcance tecnico

  • Cliente HTTP minimo (libcurl o WinHTTP) → POST a https://api.anthropic.com/v1/messages.
  • Modelo por defecto: claude-sonnet-4-6 (revisar al implementar).
  • API key desde env var ANTHROPIC_API_KEY o ~/.fn_anthropic_key.
  • Tool-use: definir tools query_entities, query_relations, propose_node, propose_relation. Las "propose_*" no mutan: insertan en una cola que el usuario revisa antes de aplicar.
  • Estado de conversacion en memoria (lista de messages). Persistencia opcional en graph_explorer.db tabla chat_sessions.
  • Streaming SSE para feedback en vivo (puede dejarse para v2 — primer hit bloqueante esta bien).

Decisiones a tomar

  • Renderizado de markdown en ImGui (TextWrapped basico vs lib externa).
  • Threading: bloqueante en hilo aparte → cola de mensajes → main thread lee.

Trabajo previo

Ya existe en el registry python/functions/agents/anthropic_chat_py_agents.py para inspiracion (usa el SDK Python). En C++ usaremos HTTP directo — sin SDK.

Definicion de hecho

  • Panel "Chat" dockeable.
  • Conversacion con tool-use sobre operations.db funciona.
  • Las mutaciones propuestas por el agente se confirman desde la UI antes de llegar a la BD.