ワンクリックで
context-aware-delegation
Dar a cron jobs e sub-agentes isolados contexto completo da sessão principal via query direta ao Hermes sessions DB.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Dar a cron jobs e sub-agentes isolados contexto completo da sessão principal via query direta ao Hermes sessions DB.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Transforms the Hermes agent from a reactive question-answerer into a proactive autonomous executor. ARCHITECT takes any high-level goal, decomposes it into a dependency-aware task graph, executes each step with validation, self-corrects on failure, and delivers results — all without hand-holding. The missing execution layer for personal AI agents. Zero dependencies. Zero config. Works with any model. Pairs with apex-agent and agent-memoria for the complete autonomous agent stack.
Auto-reflective self-improvement skill — extracts learnings from corrections and success patterns, permanently encodes them into memory and skills. Philosophy: Correct once, never again.
Orchestrate multi-agent teams with defined roles, task lifecycles, handoff protocols, and review workflows. Use when: (1) Setting up a team of 2+ agents with different specializations, (2) Defining task routing and lifecycle (inbox → spec → build → review → done), (3) Creating handoff protocols between agents, (4) Establishing review and quality gates, (5) Managing async communication and artifact sharing between agents.
Integrate existing autonomous agents (like Hermes) into multi-agent orchestration platforms (AionUI, LangChain, etc.) via ACP over stdio.
MiniMax Agent Platform (agent.minimax.io) — MaxHermes, MaxClaw, Skills marketplace. Relacao com Hermes Agent (NousResearch) e OpenClaw.
Paperclip AI agent operations — creating agents with hierarchy, autonomous operation via hierarchical issues, and troubleshooting. Use when: creating agents, setting up org hierarchy, recovering from errors, or monitoring agent health.
| name | context-aware-delegation |
| description | Dar a cron jobs e sub-agentes isolados contexto completo da sessão principal via query direta ao Hermes sessions DB. |
| hermes-adapted | true |
| hermes-version | 1.0.0 |
✅ Adaptado para Hermes — 20/04/2026
sessions_history → session_search() + query direta SQLitesessions_spawn → delegate_task()cronjob toolsend_message()Cron jobs e sub-agentes executam em sessões isoladas — modelos baratos mas sem ver o contexto da conversa principal. Alternativa (tudo no main session) = caro.
Cron jobs e sub-agentes consultam diretamente o hermes_sessions.db para obter contexto completo da sessão principal. Conseguem contexto rico a custo MiniMax.
Custo por execução:
Main session (MiniMax): ~$0.01-0.05
Cron isolado (MiniMax): ~$0.001-0.01
Contexto: ✅ Completo
Poupança: ~10x
# No prompt do cron job, usar:
session_search(query="o que fizemos hoje", limit=10)
# Ou query direta SQLite:
python3 -c "
import sqlite3
conn = sqlite3.connect('$HOME/.hermes/hermes_sessions.db')
cur = conn.cursor()
cur.execute(\"SELECT role, content FROM sessions WHERE session_key LIKE '%main%' ORDER BY ROWID DESC LIMIT 20\")
for row in cur.fetchall(): print(row[0], ':', row[1][:200])
"
# Sub-agente com contexto:
delegate_task(
goal="Analisar o código do projeto X. Primeiro usa session_search para entender o contexto da conversa sobre X.",
context="Projeto: Método TEN | Pilares: auto-evolução, proatividade",
toolsets=['terminal', 'file', 'web']
)
# Criar cron job que consulta sessão principal antes de executar
# Prompt inclui:
# 1. session_search("o que aconteceu ontem", limit=20)
# 2. ler ~/self-improving/memory/memory.md
# 3. executar tarefa (report, email, etc.)
# 4. send_message() com resultado
# Criar via cronjob tool:
# Schedule: 08:00 daily
# Prompt: "1. session_search('Álvaro Bianinho sessão', limit=30)
# 2. ler ~/self-improving/memory/memory.md
# 3. Gerar briefing com:
# - Resumo overnight (do session_search)
# - Tarefas pendentes (da wake-state)
# - Dados relevantes (da RAG knowledge base)
# 4. send_message(target='telegram', message=briefing)"
1. Cron job dispara (modelo barato)
↓
2. session_search() → consulta sessão principal
↓
3. Lê memory files → 获取 contexto persistente
↓
4. Executa tarefa com contexto completo
↓
5. send_message() → entrega resultado
| Abordagem | Modelo | Contexto | Custo/Execução |
|---|---|---|---|
| Main session | MiniMax | Full | ~$0.02 |
| Cron isolado (cego) | MiniMax | Nenhum | ~$0.002 |
| Cron + context-aware | MiniMax | Full | ~$0.002 |
~/.hermes/wake-state/tasks.json~/KnowledgeBase/hybrid_search.py para contexto vetorial~/self-improving/memory/memory.md para HOT memory~/KnowledgeBase/knowledge_db/ para conhecimento domain-specific#!/usr/bin/env python3
"""Helper para cron jobs obterem contexto da sessão principal."""
import sqlite3, os, sys
from pathlib import Path
def get_recent_context(limit=20, session_filter="main"):
db_path = Path.home() / ".hermes" / "hermes_sessions.db"
if not db_path.exists():
return "No session DB found."
conn = sqlite3.connect(str(db_path))
cur = conn.cursor()
cur.execute(f"""
SELECT role, content FROM sessions
WHERE session_key LIKE '%{session_filter}%'
ORDER BY ROWID DESC LIMIT {limit}
""")
rows = cur.fetchall()
conn.close()
if not rows:
return "No recent context found."
return "\n".join([f"[{r[0]}] {r[1][:300]}" for r in reversed(rows)])
if __name__ == "__main__":
limit = int(sys.argv[1]) if len(sys.argv) > 1 else 20
print(get_recent_context(limit))
Guardar em: ~/.hermes/skills/context-aware-delegation/scripts/get_context.py
| Job | Schedule | Descrição |
|---|---|---|
| Bianinho Morning Briefing | 0 8 * * 1-5 | Morning briefing: contexto Telegram + wake-state tasks + HOT memory |
Job ID: 5cc5608e58de — criado 20/04/2026
Source: memory/context-switch-optimizer/
Detects "continuous / gradual drift / hard switch" using keyword Jaccard similarity, weak-association substrings, and time decay. Monitors tokens, triggers compression and cleanup.
| Action | Condition | Behavior |
|---|---|---|
load_memory | No current topic and no history | Create topic, optionally load from memory/topic |
continuous | Similarity >= similarity_threshold (0.7) | Append to history, no compression |
drift_compress | Similarity in [continuity_threshold, similarity_threshold) | Compress weakly related historical turns |
switch_context | Similarity < continuity_threshold (0.35) | Hard switch, change memory, increment switch_count |
similarity_threshold: 0.7 (continuous vs drift boundary)continuity_threshold: 0.35 (drift vs switch boundary)compress_relevance_threshold: 0.3 (below this in drift_compress = compressed)token_limit: 80000, compression_threshold: 56000| Variable | Maps To | Notes |
|---|---|---|
CONTEXT_HISTORY_SIZE | max_topic_history | 1-100 |
MEMORY_SEARCH_DEPTH | search_depth | 1-3 |
TOKEN_OPTIMIZER_ENABLED | token_optimization.enabled | true/false |
CONTEXT_SWITCH_LOG_LEVEL | log_level | DEBUG/INFO/WARNING/ERROR |
~/.hermes/memory/context_switch_state.json — TopicSummary format with is_compressed flagpython3 context-switch-optimizer.py [--config path] --process|--status|--reset|--test
Source: knowledge-base/contextual-recall/
Context-aware memory recall during conversations: domain detection, re-ranking, session cache.
from contextual_recall import contextual_recall, format_contextual_facts, clear_cache
facts = contextual_recall("query", days=7, top_k=5)
print(format_contextual_facts(facts))
query (str): conversation context — more specific = betterdays (int, default=7): only facts from last N daystop_k (int, default=5): number of facts to returnforce_all (bool, default=False): includes facts outside consolidationbiografia → words: álvaro, maryanne, brasileiro, psicoterapeuta
comunicação → words: resposta, prefere, estilo, directo, tom, linguagem
instruções → words: orquestrador, autonomia, liberdade, decidir, regra
memória → words: memória, memory, recall, facts
projectos → words: ten, apc, método, formação, curso, negócio
social → words: maryanne, esposa, equipa, estudantes
monitor = ProactiveRecall(silence=True)
awareness = monitor.process("user message")
if awareness.triggered:
context = monitor.format_for_context(awareness)
# inject context into response
~/KnowledgeBase/proactive_recall.py — ProactiveRecall engine~/KnowledgeBase/contextual_recall.py — domain detection + re-rank + cache~/KnowledgeBase/recall.py — base (no cache, no re-rank)~/KnowledgeBase/consolidate_session.py — nocturnal cron jobModuleNotFoundError: No module named 'proactive_recall' → cd ~/KnowledgeBase && source venv/bin/activateSource: memory/context-management/
Context serialization and knowledge management for long-running agent sessions.
Serialize and restore conversation context between sessions. Handles checkpointing, state recovery, and cross-session continuity.
Autores