Agent Receipts
Responsabilidade criptográfica para agentes de IA. Recibos assinados com Ed25519 para cada chamada de ferramenta MCP — restrições, cadeias, julgamento de IA, faturamento, painel local.
Documentação
Agent Receipts
Seu agente de IA lembra de tudo — e você pode provar isso.
Memória persistente para agentes de IA, respaldada por recibos criptográficos. Cada fato que seu agente aprende é assinado, rastreável e verificável de forma independente. Sem necessidade de nuvem.
Experimente a Demonstração Interativa · Instale em 30 Segundos · Como é Diferente
O Problema
Você está construindo com agentes de IA. O Claude Code refatora seu módulo de autenticação e diz "pronto, todos os testes passam". Seu agente gera um orçamento para um cliente e diz que aplicou o preço correto. Seu assistente lembra das suas preferências da semana passada — mas você não consegue ver por que ele pensa isso, ou se está certo.
Três coisas estão quebradas:
-
Agentes esquecem tudo entre sessões. Cada conversa começa do zero. O contexto é perdido. Você reexplica as mesmas coisas.
-
Quando os agentes lembram, você não consegue ver o que está dentro. A memória da plataforma é uma caixa-preta. Você não consegue ver o que foi armazenado, quando ou por quê. Não consegue corrigir, exportar ou verificar.
-
Não há prova do que os agentes realmente fizeram. Logs são mutáveis. Agentes escrevem seus próprios logs. "Atualizei 3 arquivos e todos os testes passam" — será mesmo? Você está confiando na palavra do agente sobre o próprio trabalho.
O que o Agent Receipts Faz
Memória que realmente funciona
Seu agente recebe memória estruturada e persistente entre sessões — pessoas, projetos, ferramentas, preferências, fatos. Não é um armazenamento simples de chave-valor. É um grafo de entidade-observação onde cada fato está vinculado à conversa que o criou.
# Your agent learns something
memory_observe → "User prefers TypeScript, uses Neovim, building a SaaS called ModQuote"
# Next session, it already knows
memory_context → loads everything: entities, observations, relationships, preferences
# You can search it
memory_recall → "what tech stack does the user prefer?" → structured results
# You can forget (and the forget itself is tracked)
memory_forget → soft delete with audit trail
O agente lida com isso automaticamente quando você adiciona o prompt de sistema. Você não gerencia a memória manualmente.
Prova que é realmente prova
Cada observação de memória e cada ação do agente produz um recibo — um documento JSON assinado com:
- Assinatura Ed25519 — à prova de adulteração, verificável de forma independente
- Hashes de entrada/saída — prova exatamente o que entrou e saiu (dados brutos nunca são armazenados)
- Carimbos de data/hora — quando aconteceu, quando foi concluído
- ID do agente — qual agente fez
- Cadeia de proveniência — rastreie qualquer memória até a conversa que a criou
Isso não é registro de log. Logs são arquivos de texto mutáveis que o agente escreve sobre si mesmo. Recibos são provas criptográficas que um terceiro pode verificar sem confiar em você, no seu servidor ou no agente.
Tudo roda localmente
npx @agent-receipts/mcp-server
É isso. Sem chave de API. Sem conta. Sem nuvem. Sem taxa mensal. Nenhum dado sai da sua máquina. Banco de dados SQLite em ~/.agent-receipts/. Funciona offline.
Por Que Isso Existe
Eu estava construindo o ModQuote — um SaaS multi-tenant onde agentes de IA geram orçamentos para oficinas de proteção automotiva. Dinheiro real, clientes reais, responsabilidade real.
Quando o Claude gerou um orçamento de US$ 2.400 para PPF, eu precisava de respostas: Quais dados do veículo ele recebeu? Quais regras de preço ele aplicou? Se um cliente contestar o preço, posso provar o que aconteceu — não com uma entrada de log que o agente escreveu sobre si mesmo, mas com prova criptográfica?
Eu analisei as ferramentas existentes:
- Mem0 — ótima memória, mas sem prova. Ela lembra das coisas, mas não consegue provar quando ou por que as aprendeu. As memórias são mutáveis.
- Langfuse — ótima observabilidade, mas é rastreamento, não prova. Logs são internos ao seu sistema, não verificáveis por terceiros.
- Zep — grafo de conhecimento temporal, mas hospedado e opaco.
Nenhuma delas conseguia responder: "Prove para alguém fora do seu sistema que este agente específico tomou esta ação específica com esta entrada específica neste momento específico."
Então construí o Agent Receipts. Agora cada geração de orçamento é um recibo assinado. Cada memória tem uma cadeia de proveniência. E quando alguém pergunta "como o agente chegou a esse número?" — eu entrego um recibo que eles podem verificar por conta própria.
Como é Diferente
| Agent Receipts | Mem0 | Langfuse | Zep | |
|---|---|---|---|---|
| Memória | Grafo de entidade-observação assinado | Extração inteligente + consolidação | Sem memória | Grafo de conhecimento temporal |
| Prova | Recibos assinados Ed25519 | Nenhuma | Rastreamentos mutáveis | Nenhuma |
| Verificação | Offline, por qualquer pessoa, sem servidor | Não | Não | Não |
| Infraestrutura | npx e pronto. Zero configuração. | Requer LLM para extração | Nuvem ou auto-hospedado | API na nuvem |
| Custo | Gratuito para sempre (local) | Nível gratuito, depois pago | Nível gratuito, depois pago | Pago |
| Exportação | Pacotes portáteis com verificação criptográfica | Exportação disponível | Exportação via API | Não |
| Trilha de auditoria | Cadeia de recibos imutável | Mutável | Logs mutáveis | Mutável |
O Agent Receipts não é uma versão melhor dessas ferramentas. É algo diferente.
O Mem0 responde: "O que meu agente lembra?" O Langfuse responde: "O que aconteceu no meu pipeline de LLM?" O Agent Receipts responde: "Você consegue provar?"
Comece Agora
1. Adicione o Servidor MCP
Claude Code:
claude mcp add agent-receipts -- npx @agent-receipts/mcp-server
Claude Desktop (claude_desktop_config.json) / Cursor (.cursor/mcp.json):
{
"mcpServers": {
"agent-receipts": {
"command": "npx",
"args": ["@agent-receipts/mcp-server"]
}
}
}
2. Adicione o Prompt de Sistema
Isso informa ao seu agente quando observar memórias, recuperar contexto e rastrear ações — para que funcione automaticamente:
npx @agent-receipts/cli prompts claude-code
Copie a saída para as instruções do seu projeto ou prompt de sistema.
3. Comece a Usar
Seu agente agora vai:
- Chamar
memory_contextno início das sessões para carregar o que sabe sobre você - Chamar
memory_observequando aprender algo que vale a pena lembrar - Chamar
track_actionquando realizar ações significativas - Assinar tudo com Ed25519
4. Veja o que Está Acontecendo
npx @agent-receipts/dashboard # Web UI at localhost:3274
npx @agent-receipts/cli stats # Terminal overview
npx @agent-receipts/cli memory entities # See what your agent remembers
5. Experimente Antes de Instalar
Execute a demonstração interativa → — experimente memória, verificação e exportação de pacotes em 60 segundos. Sem necessidade de instalação.
O que Está Incluído
- 24 ferramentas MCP — memória, ações, verificação, restrições, julgamentos, faturamento, pacotes
- 21 métodos de SDK — API TypeScript completa
- 14 comandos CLI + 9 subcomandos de memória — primeiro no terminal
- 18 páginas de painel — recibos, grafo de memória, cadeias, agentes, restrições, julgamentos, faturas
- 492 testes — zero
anyTypeScript, zero avisos ESLint - Ed25519 + SHA-256 — via
@noble/ed25519(auditado, JS puro) - SQLite + FTS5 — local-first com busca de memória em texto completo
Pacotes de Memória Portáteis
Exporte toda a memória do seu agente como um único arquivo verificável:
npx @agent-receipts/cli memory export > my-project.bundle.json
O pacote inclui cada entidade, observação, relacionamento, os recibos que os criaram e a chave pública necessária para verificar tudo. Entregue a outro agente, outra equipe ou outra instância do Agent Receipts — eles podem verificar cada fato sem confiar em você.
Links
| Demonstração Interativa | Experimente no seu navegador — 60 segundos |
| Painel ao Vivo | Veja o painel completo com dados de exemplo |
| Como Funciona | Anatomia do recibo, modelo de memória, história do ModQuote |
| npm | Todos os 6 pacotes |
Referência Completa da API do SDK (21 métodos)
Rastreamento de Ações
ar.track(params)— Rastreie uma ação concluída com hash automáticoar.start(params)— Crie um recibo pendentear.complete(receiptId, params)— Complete um recibo pendentear.verify(receiptId)— Verifique a assinatura Ed25519 de um reciboar.get(receiptId)— Obtenha um recibo por IDar.list(filter?)— Liste recibos com filtragem e paginaçãoar.getPublicKey()— Obtenha a chave pública de assinaturaar.getJudgments(receiptId)— Obtenha julgamentos para um reciboar.cleanup()— Exclua recibos expiradosar.generateInvoice(options)— Gere fatura a partir de recibos
Memória
ar.context(params?)— Obtenha despejo completo do contexto de memória para inicialização de sessãoar.observe(params)— Armazene uma observação de memória (sempre com recibo)ar.recall(params?)— Busque memórias (silencioso por padrão,audited: truepara recibo)ar.forget(params)— Exclusão suave de observação ou entidade (sempre com recibo)ar.entities(filters?)— Liste entidadesar.relate(params)— Crie relacionamento entre entidadesar.provenance(observationId)— Obtenha cadeia de proveniênciaar.memoryAudit(params?)— Relatório de auditoria de memória
Pacotes
ar.exportBundle(params?)— Exporte pacote de memória portátil e verificávelar.importBundle(bundle, params?)— Importe e verifique um pacote de memória
Aliases
ar.emit(params)— Alias paratrack()
Referência Completa das Ferramentas MCP (24 ferramentas)
| Ferramenta | Descrição | Parâmetros Principais |
|---|---|---|
track_action | Rastreie uma ação do agente com hash automático | action, input, output, constraints |
create_receipt | Crie um recibo com hashes pré-computados | action, input_hash, output_hash |
complete_receipt | Complete um recibo pendente com resultados | receipt_id, output, status |
verify_receipt | Verifique a assinatura criptográfica | receipt_id |
get_receipt | Recupere um recibo por ID | receipt_id |
list_receipts | Liste recibos com filtragem | agent_id, status, chain_id |
get_chain | Obtenha todos os recibos em uma cadeia | chain_id |
get_public_key | Exporte a chave pública Ed25519 | — |
judge_receipt | Inicie avaliação do AI Judge | receipt_id, rubric |
complete_judgment | Complete um julgamento pendente | receipt_id, verdict, score |
get_judgments | Obtenha todos os julgamentos para um recibo | receipt_id |
cleanup | Exclua recibos expirados | dry_run, cleanup_memory |
generate_invoice | Gere fatura a partir de recibos | from, to, format |
get_started | Guia de primeiros passos | — |
memory_context | Despejo completo de contexto para inicialização de sessão | scope, max_entities |
memory_observe | Armazene uma observação de memória | entity_name, entity_type, content |
memory_recall | Busque memórias armazenadas | query, entity_type, scope |
memory_forget | Exclusão suave de observação ou entidade | entity_id ou observation_id |
memory_entities | Liste entidades conhecidas | entity_type, scope, query |
memory_relate | Crie relacionamento entre entidades | from_entity_id, to_entity_id, type |
memory_provenance | Cadeia de proveniência para observação | observation_id |
memory_audit | Relatório de auditoria de operações de memória | agent_id, from, to |
memory_export_bundle | Exporte pacote de memória portátil | entity_ids, include_receipts |
memory_import_bundle | Importe e verifique pacote de memória | bundle, skip_existing |
Referência Completa da CLI
| Comando | Descrição | |---------|-------------| | `init` | Criar diretório de dados e gerar chaves de assinatura | | `keys [--export] [--import]` | Exibir, exportar ou importar chaves de assinatura | | `inspect ` | Exibir um recibo de forma legível | | `verify [--key]` | Verificar a assinatura de um recibo | | `list [--agent] [--status] [--json]` | Listar recibos com filtros | | `chain [--tree]` | Mostrar cadeia de recibos | | `judgments [--json]` | Listar julgamentos de um recibo | | `cleanup [--dry-run]` | Excluir recibos expirados | | `stats` | Agregar estatísticas de recibos | | `export [--pretty]` | Exportar recibos como JSON | | `invoice --from --to [--format]` | Gerar fatura | | `seed [--demo] [--count] [--clean]` | Semear dados de demonstração | | `watch [--agent] [--action]` | Observar novos recibos | | `prompts ` | Guia de configuração (claude-code, cursor, sistema) | | `memory context` | Resumo do contexto de memória | | `memory observe ` | Armazenar observação | | `memory recall [query]` | Buscar memórias | | `memory entities [--type]` | Listar entidades | | `memory forget ` | Esquecer observação ou entidade | | `memory audit` | Relatório de auditoria de memória | | `memory provenance ` | Cadeia de proveniência | | `memory export` | Exportar memórias como JSON | | `memory import ` | Importar memórias |Configuração
| Variável de Ambiente | Descrição | Padrão |
|---|---|---|
AGENT_RECEIPTS_DATA_DIR | Caminho do diretório de dados | ~/.agent-receipts |
AGENT_RECEIPTS_AGENT_ID | ID de agente padrão | local-agent |
AGENT_RECEIPTS_ORG_ID | ID da organização | local-org |
AGENT_RECEIPTS_ENVIRONMENT | Rótulo do ambiente | production |
RECEIPT_SIGNING_PRIVATE_KEY | Chave privada Ed25519 (hex) | Gerada automaticamente |
Armazenamento:
~/.agent-receipts/
├── keys/
│ ├── private.key # Ed25519 private key (mode 0600)
│ └── public.key # Ed25519 public key
├── receipts.db # SQLite database (receipts + memory)
└── config.json # Agent and org configuration
Pacotes
| Pacote | Descrição |
|---|---|
@agent-receipts/schema | Esquemas Zod e tipos TypeScript |
@agent-receipts/crypto | Assinatura Ed25519, verificação, gerenciamento de chaves |
@agent-receipts/mcp-server | Servidor MCP com 24 ferramentas |
@agent-receipts/sdk | SDK TypeScript (21 métodos) |
@agent-receipts/cli | Interface de linha de comando |
@agent-receipts/dashboard | Interface web Mission Control |
Roadmap
- Camada em nuvem — painéis de equipe, sincronização de memória multi-agente, verificação entre organizações
- Recuperação semântica — busca de memória com embeddings
- Adaptadores de frameworks — integrações LangChain, CrewAI, AutoGen
- Pontes de confiança entre organizações — duas organizações verificando os recibos de agentes uma da outra
Licença
MIT
Construído por Amin Suleiman — construindo ModQuote e Agent Receipts.