K Admin tema panafricanismo

Console Kemet

Operação da base, curadoria editorial, fontes, candidatos de evento e saúde do agente em um painel organizado por fluxo de trabalho.

Chat web Eventos API Landing
Ready state: unknown

Config

hermes

v1 · 4 agente(s)

Health

unknown

db_up: True · sqlite

Ready state

unknown

config_loaded: True

Banco

sqlite

Sem URL pública adicional.

Runtime provider

hermes

hermes-default · OPENROUTER_API_KEY missing

BlogWatcher Operação Base Eventos Fontes RSS Candidatos Itens RSS Execuções Jobs Notificações Orçamentos LLM Auditoria Agentes Links

Operação

Sinais de saúde, alertas recentes e políticas de execução que afetam o comportamento do agente.

Alertas operacionais

  • ready state status atual: unknown

Task policies

5 policies públicas visíveis neste painel.

  • chat.generalhermes
  • chat.commandhermes
  • search.eventshermes
  • ontology.extracthermes
  • memory.summarizehermes

Base de conhecimento

Markdown anexado ao RAG local do projeto para delimitar respostas autorizadas do agente.

Salvar base

Eventos

Cadastre, revise e enriqueça eventos publicados na agenda pública.

Os dados carregam ao abrir a aba.
Atualizar Novo evento

Fontes

Gerencie RSS, websites, portais e fontes sociais. Aprovação de pendentes continua no fluxo assistido do BlogWatcher.

Os dados carregam ao abrir a aba.
Atualizar Nova fonte Varrer todas

Feeds RSS

Administre feeds vinculados a fontes. O BlogWatcher usa RSS ativos de fontes aprovadas por padrão.

Os dados carregam ao abrir a aba.
Atualizar Novo RSS

Candidatos de evento

Consulte e corrija a fila editorial bruta. Use o painel BlogWatcher para aprovação guiada.

Os dados carregam ao abrir a aba.
Atualizar Novo candidato

Itens capturados

Revise entradas capturadas, duplicadas e enviadas para fila, incluindo RSS e websites.

Os dados carregam ao abrir a aba.
Atualizar

Varreduras de fontes

Histórico administrativo das rotinas de varredura e seus resultados.

Os dados carregam ao abrir a aba.
Atualizar

Enriquecimentos de eventos

Histórico das tentativas de buscar detalhes para eventos publicados.

Os dados carregam ao abrir a aba.
Atualizar

Histórico de jobs

Fila persistente de varreduras, scans, enriquecimentos e disparos do BlogWatcher. Use esta visão para auditoria manual e recuperação após restart.

Os dados carregam ao abrir a aba.
Atualizar Limpar filtros Limpar finalizados

Notificações

Gerencie inscrições de email, estado e escopo nacional para alertas futuros.

Os dados carregam ao abrir a aba.
Atualizar Nova inscrição
Painel de varredura editorial

BlogWatcher

Acompanhe fontes monitoradas, rode varreduras e ajuste prompts de descoberta, qualificação e extração de eventos.

Resumo do ciclo carregando
Fontes monitoradas
Pendentes de revisão
Ignoradas por política
Última execução
Próxima janela
Rodar agora Rodar job Hermes Runbook de operação Ver agenda pública Abrir RSS

Job Hermes: não sincronizado

Operação Workflow Candidatos Fontes Itens RSS Conhecimento Prompts Histórico

Como operar a curadoria diária

Use fontes aprovadas, rode a varredura, revise candidatos com fonte aberta, publique somente eventos com data confirmada e ignore artigos que não forem agenda.

Cronograma

Salvar cronograma

Escopo das fontes

Por padrão, a varredura usa somente RSS ativos de fontes aprovadas.

Registrar novas fontes como pendentes Incluir pendentes explicitamente

Busca externa

Controle quais provedores podem apoiar descoberta e complementação de fontes. Chaves ficam no ambiente do servidor, não nesta tela.

Brave Search API SearXNG DuckDuckGo sem chave Sites/RSS permitidos

Brave key: não verificada

Salvar busca

Workflow interno configurável

Defina o ciclo automático: varrer fontes, capturar entradas, revisar candidatos e descartar o que não for evento confirmável.

Rodar workflow agora Salvar workflow

Cron incremental

Cron habilitado Varrer fontes Ler RSS/sites Revisar candidatos

Regras dos candidatos

Atividade Data Local ou online Organizador Fonte URL
Descartar não-eventos Descartar incompletos sem correção

Política por tipo de fonte

TipoAtivaConfiançaImagemLocalDescarte

Limites e chaves

Inbox Instagram para sugestões por DM

Registre uma conta @ por cliente/time para receber sugestões de eventos por mensagem direta. O cron incremental varre a DM na frequência configurada e envia entradas candidatas para o pipeline.

Importar posts/reels compartilhados apenas se a conta do inbox tiver curtido
Registrar inbox Atualizar inboxes

Google Drive público para conhecimento

Registre links públicos de pastas, PDFs ou planilhas. A varredura cataloga PDFs e transforma planilhas públicas em itens de conhecimento para curadoria.

Registrar Drive Atualizar Drives

Candidatos de evento

Revise itens extraídos dos RSS antes de publicar na agenda.

Ler fonte Buscar evidências Ler principais resultados Completar campos Certificar evento Descartar não-eventos
Atualizar candidatos Revisar pendentes

Fontes pendentes

Revise sugestões antes de liberá-las para o ciclo principal.

Atualizar pendentes

Entradas detectadas

Fila técnica/diagnóstico do BlogWatcher: entradas brutas capturadas antes de virar candidato ou filtro ignorado.

Atualizar itens Itens: 0 Revisar selecionados Ignorar selecionados

Base de conhecimento curada

Registre e edite somente referências adicionadas manualmente pela curadoria. Itens que não são eventos são descartados, não entram aqui automaticamente.

Novo item Excluir selecionados Status selecionados Atualizar lista
Limpar Salvar item

Prompts base do BlogWatcher

Use linguagem direta para descoberta, qualificação e extração de eventos.

Aplicar preset
Salvar prompts

Histórico do BlogWatcher

Atualizar histórico

Orçamentos LLM

Limites por tipo de requisição para reduzir custo, latência, retries e saídas longas.

Salvar orçamentos
Chamadas: 0 Prompt/contexto: 0

        

Auditoria operacional

Últimas execuções registradas em audit_logs, incluindo controller, dispatcher, fallback e bloqueios.

  • blogwatcher.scanstatus unknown
    2026-05-31 05:50:13actor systempath blogwatcher
    payload auditado
    {
      "event_sync": {},
      "response": "{'processed': 0, 'created': 0, 'raw_status': 'no_sources', 'raw_message': 'Nenhuma fonte RSS aprovada e ativa configurada para o BlogWatcher.', 'rss_links_detected': 0, 'rss_links_upserted': 0, 'rss_links_skipped_by_policy': 0, 'rss_links_pending_review': 0, 'event_candidates_detected': 0, 'events_created': 0, 'event_review_created': 0, 'event_duplicates': 0, 'event_rejected': 0, 'status': 'no_so…",
      "rss_sync": {}
    }
  • workflow.incremental_runstatus unknown
    2026-05-31 05:49:48actor systempath workflow
    payload auditado
    {
      "results": {
        "auto_review": {
          "counts": {
            "discarded": 0,
            "failed": 0,
            "skipped": 0,
            "updated": 0
          },
          "limit": 10,
          "ok": true,
          "processed": 0,
          "results": [],
          "status": "pending_review"
        },
        "blogwatcher": {
          "created": 0,
          "event_candidates_detected": 0,
          "event_duplicates": 0,
          "event_rejected": 0,
          "event_review_created": 0,
          "events_created": 0,
          "last_run_at": "2026-05-31T05:49:48+00:00",
          "processed": 0,
          "raw_message": "Nenhuma fonte RSS aprovada e ativa configurada para o BlogWatcher.",
          "raw_status": "no_sources",
          "rss_links_detected": 0,
          "rss_links_monitored": 0,
          "rss_links_pending_review": 0,
          "rss_links_skipped_by_policy": 0,
          "rss_links_upserted": 0,
          "running": false,
          "search_config": {
            "allowed_apis": [
              "website"
            ],
            "allowed_domains": [],
            "brave_api_key_configured": false,
            "brave_enabled": false,
            "count": 10,
            "country": "BR",
            "duckduckgo_enabled": false,
            "google_drive_enabled": false,
            "instagram_dm_enabled": false,
            "min_rescan_interval_hours": 48,
            "rate_limit_seconds": 3.0,
            "search_lang": "pt-br",
            "searxng_base_url": "",
            "searxng_enabled": false,
            "website_search_enabled": true
          },
          "skill_response": "Nenhuma fonte RSS aprovada e ativa configurada para o BlogWatcher.",
          "source_policy": {
            "allow_source_discovery": false,
            "include_pending_sources": false,
            "source_scope": "registered_only"
          },
          "sources_monitored": 0,
          "status": "no_sources",
          "workflow_config": {
            "candidate_rules": {
              "max_search_results": 3,
              "min_certify_confidence": 0.7,
              "move_incomplete_to_knowledge": true,
              "move_invalid_to_knowledge": true,
              "required_fields": [
                "activity",
                "start_date",
                "location_or_online"
              ]
            },
            "cron": {
              "auto_review_limit": 10,
              "auto_review_status": "pending_review",
              "enabled": false,
              "interval_minutes": 360,
              "run_auto_review": true,
              "run_blogwatcher": true,
              "run_source_scans": true,
              "source_scan_limit": 25
            },
            "keys": {
              "apify": {
                "enabled": false,
                "label": "APIFY_TOKEN"
              },
              "brave": {
                "enabled": false,
                "label": "BRAVE_SEARCH_API_KEY"
              },
              "hermes": {
                "enabled": true,
                "label": "HERMES_BASE_URL"
              }
            },
            "limits": {
              "daily_apify_runs": 10,
              "daily_brave_searches": 50,
              "daily_llm_reviews": 40,
              "max_items_per_source": 30,
              "per_source_cooldown_hours": 12
            },
            "source_type_policies": {
              "default": {
                "allow_text_image": false,
                "enabled": true,
                "min_certify_confidence": 0.7,
                "move_incomplete_to_knowledge": true,
                "require_activity": true,
                "require_location_or_online": true,
                "require_start_date": true
              },
              "facebook": {
                "allow_text_image": true,
                "enabled": true,
                "min_certify_confidence": 0.78,
                "move_incomplete_to_knowledge": true,
                "require_activity": true,
                "require_location_or_online": true,
                "require_start_date": true
              },
              "instagram": {
                "allow_text_image": true,
                "enabled": true,
                "min_certify_confidence": 0.78,
                "move_incomplete_to_knowledge": true,
                "require_activity": true,
                "require_location_or_online": true,
                "require_start_date": true
              },
              "instagram_dm": {
                "allow_text_image": true,
                "enabled": true,
                "min_certify_confidence": 0.82,
                "move_incomplete_to_knowledge": true,
                "require_activity": true,
                "require_location_or_online": true,
                "require_start_date": true
              },
              "rss": {
                "allow_text_image": false,
                "enabled": true,
                "min_certify_confidence": 0.7,
                "move_incomplete_to_knowledge": true,
                "require_activity": true,
                "require_location_or_online": true,
                "require_start_date": true
              },
              "website": {
                "allow_text_image": false,
                "enabled": true,
                "min_certify_confidence": 0.72,
                "move_incomplete_to_knowledge": true,
                "require_activity": true,
                "require_location_or_online": true,
                "require_start_date": true
              }
            },
            "usage": {
              "apify_runs": 0,
              "brave_searches": 0,
              "date": "",
              "llm_reviews": 0
            }
          }
        },
        "source_scans": {
          "duplicates": 0,
          "errors": 0,
          "items_found": 0,
          "qualified": 0,
          "results": [],
          "review_created": 0,
          "run_id": 1,
          "source_id": null,
          "sources_processed": 0,
          "sources_scanned": 0,
          "status": "success"
        }
      },
      "workflow": {
        "candidate_rules": {
          "max_search_results": 3,
          "min_certify_confidence": 0.7,
          "move_incomplete_to_knowledge": true,
          "move_invalid_to_knowledge": true,
          "required_fields": [
            "activity",
            "start_date",
            "location_or_online"
          ]
        },
        "cron": {
          "auto_review_limit": 10,
          "auto_review_status": "pending_review",
          "enabled": false,
          "interval_minutes": 360,
          "run_auto_review": true,
          "run_blogwatcher": true,
          "run_source_scans": true,
          "source_scan_limit": 25
        },
        "keys": {
          "apify": {
            "enabled": false,
            "label": "APIFY_TOKEN"
          },
          "brave": {
            "enabled": false,
            "label": "BRAVE_SEARCH_API_KEY"
          },
          "hermes": {
            "enabled": true,
            "label": "HERMES_BASE_URL"
          }
        },
        "limits": {
          "daily_apify_runs": 10,
          "daily_brave_searches": 50,
          "daily_llm_reviews": 40,
          "max_items_per_source": 30,
          "per_source_cooldown_hours": 12
        },
        "source_type_policies": {
          "default": {
            "allow_text_image": false,
            "enabled": true,
            "min_certify_confidence": 0.7,
            "move_incomplete_to_knowledge": true,
            "require_activity": true,
            "require_location_or_online": true,
            "require_start_date": true
          },
          "facebook": {
            "allow_text_image": true,
            "enabled": true,
            "min_certify_confidence": 0.78,
            "move_incomplete_to_knowledge": true,
            "require_activity": true,
            "require_location_or_online": true,
            "require_start_date": true
          },
          "instagram": {
            "allow_text_image": true,
            "enabled": true,
            "min_certify_confidence": 0.78,
            "move_incomplete_to_knowledge": true,
            "require_activity": true,
            "require_location_or_online": true,
            "require_start_date": true
          },
          "instagram_dm": {
            "allow_text_image": true,
            "enabled": true,
            "min_certify_confidence": 0.82,
            "move_incomplete_to_knowledge": true,
            "require_activity": true,
            "require_location_or_online": true,
            "require_start_date": true
          },
          "rss": {
            "allow_text_image": false,
            "enabled": true,
            "min_certify_confidence": 0.7,
            "move_incomplete_to_knowledge": true,
            "require_activity": true,
            "require_location_or_online": true,
            "require_start_date": true
          },
          "website": {
            "allow_text_image": false,
            "enabled": true,
            "min_certify_confidence": 0.72,
            "move_incomplete_to_knowledge": true,
            "require_activity": true,
            "require_location_or_online": true,
            "require_start_date": true
          }
        },
        "usage": {
          "apify_runs": 0,
          "brave_searches": 0,
          "date": "",
          "llm_reviews": 0
        }
      }
    }
  • blogwatcher.scanstatus unknown
    2026-05-31 05:49:48actor systempath blogwatcher
    payload auditado
    {
      "event_sync": {},
      "response": "{'processed': 0, 'created': 0, 'raw_status': 'no_sources', 'raw_message': 'Nenhuma fonte RSS aprovada e ativa configurada para o BlogWatcher.', 'rss_links_detected': 0, 'rss_links_upserted': 0, 'rss_links_skipped_by_policy': 0, 'rss_links_pending_review': 0, 'event_candidates_detected': 0, 'events_created': 0, 'event_review_created': 0, 'event_duplicates': 0, 'event_rejected': 0, 'status': 'no_so…",
      "rss_sync": {}
    }
  • blogwatcher.scanstatus unknown
    2026-05-31 05:49:08actor systempath blogwatcher
    payload auditado
    {
      "event_sync": {},
      "response": "{'processed': 0, 'created': 0, 'raw_status': 'no_sources', 'raw_message': 'Nenhuma fonte RSS aprovada e ativa configurada para o BlogWatcher.', 'rss_links_detected': 0, 'rss_links_upserted': 0, 'rss_links_skipped_by_policy': 0, 'rss_links_pending_review': 0, 'event_candidates_detected': 0, 'events_created': 0, 'event_review_created': 0, 'event_duplicates': 0, 'event_rejected': 0, 'status': 'no_so…",
      "rss_sync": {}
    }
  • out_of_scopestatus successcontroller validdispatcher nonedispatcher_status not_required
    2026-04-24 22:33:43actor codexpath chat.action_controllercontroller 2407ms
    payload auditado
    {
      "action": "out_of_scope",
      "channel": "web",
      "confidence": "high",
      "controller_duration_ms": 2407,
      "controller_status": "valid",
      "dispatcher": "none",
      "dispatcher_status": "not_required",
      "intent": "action_controller",
      "mcp": "none",
      "model": "hermes-default",
      "path": "chat.action_controller",
      "provider": "hermes",
      "response_type": "text",
      "source": "action_controller",
      "status": "success",
      "task_type": "chat.general",
      "timeout_seconds": 20,
      "trace_id": "rp_e7e2cc047f39466abac9cbdaf3f60382",
      "use_auxiliary": false
    }
  • runtime.policy.appliedstatus successfallback database_bound_rules
    2026-04-24 22:32:07actor codexpath chat.database_bound
    payload auditado
    {
      "channel": "web",
      "fallback_path": "database_bound_rules",
      "intent": "greeting",
      "model": "hermes-default",
      "path": "chat.database_bound",
      "provider": "hermes",
      "rows": 0,
      "source": "contract",
      "status": "success",
      "task_type": "chat.general",
      "timeout_seconds": 20,
      "trace_id": "rp_84f98dd459784243a71750042bf3254b",
      "use_auxiliary": false
    }
  • out_of_scopestatus successcontroller validdispatcher nonedispatcher_status not_required
    2026-04-24 22:25:58actor codexpath chat.action_controllercontroller 1436ms
    payload auditado
    {
      "action": "out_of_scope",
      "channel": "web",
      "confidence": "high",
      "controller_duration_ms": 1436,
      "controller_status": "valid",
      "dispatcher": "none",
      "dispatcher_status": "not_required",
      "fallback_model": "",
      "fallback_provider": "",
      "intent": "action_controller",
      "mcp": "none",
      "model": "hermes-default",
      "path": "chat.action_controller",
      "provider": "hermes",
      "response_type": "text",
      "source": "action_controller",
      "status": "success",
      "task_type": "chat.general",
      "timeout_seconds": 20,
      "trace_id": "rp_ab5b59c99e524d9f897b2613264d3f15",
      "use_auxiliary": false
    }
  • runtime.policy.appliedstatus successfallback database_bound_rules
    2026-04-24 22:23:21actor codexpath chat.database_bound
    payload auditado
    {
      "channel": "web",
      "fallback_model": "",
      "fallback_path": "database_bound_rules",
      "fallback_provider": "",
      "intent": "greeting",
      "model": "hermes-default",
      "path": "chat.database_bound",
      "provider": "hermes",
      "rows": 0,
      "source": "contract",
      "status": "success",
      "task_type": "chat.general",
      "timeout_seconds": 20,
      "trace_id": "rp_5817da02d15e4533b06284416cda735b",
      "use_auxiliary": false
    }
  • invalidstatus errorcontroller invaliddispatcher nonedispatcher_status not_startedfallback blocked_no_fallbackblocked true
    2026-04-24 22:22:04actor codexpath chat.action_controllercontroller 1288ms
    payload auditado
    {
      "action": "invalid",
      "blocked": true,
      "channel": "web",
      "confidence": "low",
      "controller_duration_ms": 1288,
      "controller_status": "invalid",
      "dispatcher": "none",
      "dispatcher_status": "not_started",
      "error_code": "invalid_confidence",
      "fallback_model": "",
      "fallback_path": "blocked_no_fallback",
      "fallback_provider": "",
      "intent": "action_controller",
      "model": "hermes-default",
      "path": "chat.action_controller",
      "provider": "hermes",
      "response_type": "error",
      "source": "action_controller",
      "status": "error",
      "task_type": "chat.general",
      "timeout_seconds": 20,
      "trace_id": "rp_374a1365bf5a44ddacc6e5b3a7277a25",
      "use_auxiliary": false
    }
  • runtime.policy.appliedstatus successfallback database_bound_rules
    2026-04-24 22:20:01actor codexpath chat.database_bound
    payload auditado
    {
      "channel": "web",
      "fallback_model": "",
      "fallback_path": "database_bound_rules",
      "fallback_provider": "",
      "intent": "greeting",
      "model": "hermes-default",
      "path": "chat.database_bound",
      "provider": "hermes",
      "rows": 0,
      "source": "contract",
      "status": "success",
      "task_type": "chat.general",
      "timeout_seconds": 20,
      "trace_id": "rp_2cea8d17756f4cad99aefb48af063ccd",
      "use_auxiliary": false
    }
  • out_of_scopestatus successcontroller validdispatcher nonedispatcher_status not_required
    2026-04-24 22:18:39actor codexpath chat.action_controllercontroller 1289ms
    payload auditado
    {
      "action": "out_of_scope",
      "channel": "web",
      "confidence": "low",
      "controller_duration_ms": 1289,
      "controller_status": "valid",
      "dispatcher": "none",
      "dispatcher_status": "not_required",
      "fallback_model": "",
      "fallback_provider": "",
      "intent": "action_controller",
      "mcp": "none",
      "model": "hermes-default",
      "path": "chat.action_controller",
      "provider": "hermes",
      "response_type": "json",
      "source": "action_controller",
      "status": "success",
      "task_type": "chat.general",
      "timeout_seconds": 20,
      "trace_id": "rp_fcddb2b3739c4b1186b435f2bd252198",
      "use_auxiliary": false
    }
  • invalidstatus errorcontroller errordispatcher nonedispatcher_status not_startedfallback blocked_no_fallbackblocked true
    2026-04-24 22:08:58actor codexpath chat.action_controllercontroller 10ms
    payload auditado
    {
      "action": "invalid",
      "blocked": true,
      "channel": "web",
      "confidence": "low",
      "controller_duration_ms": 10,
      "controller_status": "error",
      "dispatcher": "none",
      "dispatcher_status": "not_started",
      "error_code": "controller_unavailable",
      "error_message": "All connection attempts failed",
      "error_type": "ConnectError",
      "fallback_model": "deterministic",
      "fallback_path": "blocked_no_fallback",
      "fallback_provider": "local",
      "intent": "action_controller",
      "model": "hermes-default",
      "path": "chat.action_controller",
      "provider": "hermes",
      "provider_base_url": "http://host.docker.internal:8642",
      "provider_mode": "hermes",
      "provider_model": "hermes-default",
      "response_type": "error",
      "source": "action_controller",
      "status": "error",
      "task_type": "chat.general",
      "timeout_seconds": 20,
      "trace_id": "rp_07c0b22c0fb248feb6cb805a26bbb452",
      "use_auxiliary": false
    }

Agentes

Perfis e provedores disponíveis para atendimento, curadoria e diagnósticos.

  • Matriz Africana · provider hermes
  • Kémèt Core · provider hermes
  • Kémèt Curadoria Demo · provider hermes
  • Kémèt Labs Demo · provider hermes

Links

Atalhos para superfícies públicas e ferramentas de operação.

  • Docs da API
  • Chat web
Cancelar Salvar