alethech
Memória verificável de agente — cada commit de memória é assinado com Ed25519 e encadeado por hash com verificação fail-closed (84+ commits, 0 inválidos). Recuperação totalmente offline via TF-IDF (zero tokens de LLM em runtime), auditoria de artefatos sha256 selada na cadeia, snapshots duráveis de commits órfãos com zero vazamento de segredos, exercício medido de recuperação de desastres em 42 segundos. Servidor MCP stdio incluído (pip install alethech).
Documentação
alethech
Protocolo verificável de continuidade de agentes — local-first, zero-LLM, zero-blockchain. A arte de desvelar a integridade da transmissão.
Copyright (c) 2026 AliceLabs LLC.
Listado em TeleAI-UAGI/Awesome-Agent-Memory (projetos emergentes) após uma auditoria de mantenedores das alegações contra o código.
Agora no registro oficial do MCP: io.github.eddyflores100-lang/alethech — a ponte alethech-mcp somente leitura, detectável por qualquer cliente MCP ciente do registro.
Se alethech é útil para você, uma ★ estrela é como outras pessoas — e seus agentes — o encontram.
Do grego ἀλήθεια (aletheia, "verdade como desvelamento") + τέχνη (techne, "arte, ofício"). A arte de revelar que uma memória não foi modificada após ser assinada.
Esta é a implementação de referência do protocolo especificado em docs/implementacion-nucleo-minimo.md (rev 2 + camada de identidade rev 3).
o que é isto
alethech fornece continuidade de memória criptograficamente verificável e portátil para agentes de IA. Ele assina commits de memória com Ed25519, os vincula em um DAG com hash encadeado, rotaciona chaves sem perder identidade e pode selar um histórico verificado em um único arquivo .aleth criptografado para transferência entre runtimes e dispositivos compatíveis.
O que este repositório É:
- Uma implementação de protocolo criptográfico (Ed25519 + SHA-256 + JCS RFC 8785)
- Um contêiner de memória portátil criptografado (
.aleth, scrypt + AES-256-GCM) - Uma visão de adaptador verificada e neutra para plugins e integrações de chat
- Uma ponte MCP stdio somente leitura (
python -m alethech.mcp_memory, oualethech-mcpapóspip install alethech) expondo contexto de memória verificado e ferramentas de verificação — credenciais e caminhos permanecem como configuração, nunca como argumentos de ferramenta - 9 comandos CLI (
init,commit,evidence,verify,export,import,migrate,key rotate,key revoke) - Uma suíte de testes com caminhos de guarda de mutação (cada garantia tem um teste que falha quando a verificação é derrotada)
- Licenciado sob MIT, publicado no PyPI como
alethech
O que este repositório NÃO é:
- NÃO é um sistema de armazenamento ou recuperação de memória
- NÃO é o projeto legado
memex(servidor de memória Python/ChromaDB) - Não tem Docker, sem auto-atualização, sem chamadas de LLM, sem nuvem obrigatória
- Depende apenas de
cryptographyeclick— semmem0ai, semchromadb, semollama
O código legado memex (167 commits, Licença Proprietária AliceLabs) é preservado em um repositório separado: eddyflores100-lang/memex-legacy. Ele não faz parte deste repositório e não é instalado por pip install alethech.
a propriedade
Este conjunto de memórias faz parte de um histórico criptograficamente verificável associado a uma identidade determinada, cujos commits podem ser verificados independentemente quanto à sua integridade, autoria criptográfica e relações de proveniência.
Quando um checkpoint de referência existe, também pode ser verificado que o histórico apresentado continua a partir desse checkpoint.
O protocolo NÃO prova que as alegações do agente são verdadeiras — apenas que foram assinadas pela identidade que as alega. A verdade que está sendo desvelada é a verdade sobre a integridade da transmissão, não sobre o conteúdo.
status
Versão 0.9.1 lançada — memória criptografada portátil (.aleth v2 com recuperação ALETH002 em Python, TypeScript e Rust) e captura de chat em memória portátil estão ativas. O CI executa a suíte Python em 3.10–3.13, além de conformidade entre linguagens e interoperabilidade .aleth em Python, Rust e TypeScript. Sem LLM, sem nuvem obrigatória, sem blockchain, sem consenso.
instalação
pip install alethech
Para desenvolvimento:
git clone https://github.com/eddyflores100-lang/alethech.git
cd alethech
pip install -e ".[dev]"
uso
alethech init # generate identity + genesis commit
alethech commit --content <json-file> # create signed MemoryCommit
alethech evidence --tool <name> # create signed EvidenceCommit
--input <file> --output <file>
alethech verify # verify the whole store, offline
alethech export --output <dir> # portable package
alethech import --input <dir> # import external memory
alethech key rotate # rotate operational key
alethech key revoke --key-id <id> # revoke a key
alethech migrate --to v0.2 # migrate identity layer
capture um chat, carregue o arquivo
Use o ícone da barra de ferramentas do Alethech para capturar a conversa carregada, revisá-la e
criar um .aleth criptografado com uma nova identidade local e código de recuperação. Carregue
esse arquivo para outro dispositivo, chat ou IDE. A extensão o importa e insere
contexto selecionado em um editor de chat vazio apenas mediante solicitação; ela nunca envia.
Para qualquer cliente compatível com texto, exporte context.txt. Clientes MCP podem usar o
conector de memória local somente leitura. Um único alethech.html offline também abre/cria
arquivos sem instalar uma extensão ou registrar uma conta.
Veja o guia completo de captura e transferência e
configuração IDE/MCP. A captura requer apenas activeTab e
scripting, sem host global ou permissão de armazenamento. A captura de chat renderizada
não pode recuperar memórias ocultas do provedor ou histórico de conversa não carregado.
memória criptografada portátil (.aleth)
O desenvolvimento do Alethech 0.9 adiciona um único arquivo criptografado projetado para transferência por arrastar e soltar:
from alethech import Alethech
agent = Alethech.initialize("./working-store")
agent.commit({"fact": "portable memory"})
agent.seal("memory.aleth", "your-passphrase")
# Plugin-style path: dropped file -> unlock -> verify -> neutral context
context = Alethech.drop_context("memory.aleth", "your-passphrase")
O contêiner .aleth usa scrypt + AES-256-GCM. Sua carga autenticada pode ser aberta byte a byte pelas implementações Python, Rust e TypeScript no CI. O arquivo portátil pode carregar a chave de assinatura operacional criptografada para que o histórico possa continuar em outro dispositivo, mas exclui root.key e recovery.key.
Veja docs/ALETH_CONTAINER_SPEC.md e docs/ADAPTER_CONTRACT.md.
o que ele NÃO faz
- NÃO prova que as alegações do agente são verdadeiras. Apenas que foram assinadas pela identidade que as alega.
- NÃO detecta rollback sem um checkpoint externo.
- O armazenamento de trabalho local NÃO é criptografado em repouso; o contêiner portátil
.alethé criptografado. - NÃO delega permissões entre agentes.
- NÃO chama nenhum LLM.
o que o nome significa
alethech vem de:
- aletheia (ἀλήθεια) — grego para "verdade", mais precisamente "desvelamento" (leitura de Heidegger: verdade como o ato de revelar o que estava oculto)
- techne (τέχνη) — grego para "arte, ofício, técnica"
Então alethech = "a arte de desvelar". O protocolo desvela:
- se uma memória foi modificada após ser assinada
- quem a assinou
- qual timestamp assinado foi registrado (NÃO o tempo físico de assinatura — apenas o timestamp registrado no artefato)
- qual é sua proveniência
- se a cadeia de custódia está intacta
Ele NÃO desvela se o conteúdo é verdadeiro — essa é a responsabilidade do agente, não do protocolo.
testes
python -m pytest tests/
A suíte de testes Python cobre:
- primitivas criptográficas (Ed25519, SHA-256, base64url, base32)
- canonicalização JCS (RFC 8785) — 56 vetores de conformidade incluindo:
- serialização de inteiros/flutuantes conforme ECMAScript Number.prototype.toString()
- -0 serializa como "0" (conforme errata RFC 8785, NÃO preservado)
- formato de notação científica (expoentes positivos mantêm '+', negativos removem zeros à esquerda)
- limite decimal vs. científico (1e21 / 1e-6)
- ordenação de chaves UTF-16 com pares substitutos
- escape de strings (caracteres de controle, preservação de não-ASCII)
- rejeição de NaN/Infinity
- derivação de agent_id (vínculo criptográfico com public_key)
- assinatura de MemoryCommit, detecção de adulteração, rejeição de chave errada
- assinatura de EvidenceCommit (suporta identidade legada e V2)
- todos os 9 comandos CLI (init, commit, evidence, verify, export, import, migrate, key rotate, key revoke)
- emissão de checkpoint + detecção de rollback + continuidade causal (verificação de ancestralidade)
- detecção de identity_mismatch
- preservação de ida e volta em export/import
- rejeição de manifesto adulterado
- rotação de chaves com garantia de alcançabilidade de cutoff_head
- guarda de mutação de ancestry_check (3 derrotas em nível de código)
- derrotas de recall-seam (2 mutações em nível de dados: adulteração de active-keys, mutação de cutoff_head)
- vínculo de root_id (RootAuthority ↔ IdentityRecord ↔ ControlEvent)
- continuidade de checkpoint (HEAD do checkpoint deve ser ancestral do HEAD atual)
- verificação de assinatura de IdentityRecordV2 (contra a chave pública raiz)
- continuidade causal de import (verificação de ancestralidade antes de escrever)
- endurecimento de import (symlinks, path traversal, bombas de arquivo, verificação de hash de artefato)
estrutura do repositório
alethech/ # this repo — cryptographic protocol only
├── alethech/ # source: crypto, objects, store, verify, cli, canonical
│ └── integrations/ # langchain + memex hooks
├── alethech-rs/ # Rust SDK (31 tests, cross-validation)
├── alethech-ts/ # TypeScript SDK (15 tests, Web Crypto API)
├── tests/ # Python behavioral, adversarial, mutation and conformance tests
├── conformance/ # 15 adversarial conformance vectors
├── docs/ # protocol specification
├── examples/ # basic_usage.py + memory_writeback.sh (ops pattern)
├── INTEGRATION.md # how to integrate with memex via MemexAlethechHook
├── INTEGRATION-VIGIL.md # fail-closed memory verification for watchdogs
├── CHANGELOG.md # version history
├── SECURITY.md # threat model + vulnerability policy
├── CONTRIBUTING.md # dev setup + PR process
├── CODE_OF_CONDUCT.md # Contributor Covenant
├── CITATION.cff # academic citation
├── LICENSE # MIT
├── README.md # this file
└── pyproject.toml # alethech 0.9.1, deps: cryptography + click only
validação entre linguagens
O protocolo é implementado em três linguagens independentes:
| Linguagem | Testes | Dependências |
|---|---|---|
| Python | suíte CI | cryptography + click |
| Rust | 31 | ed25519-dalek, sha2, serde |
| TypeScript | 15 | 0 (somente Web Crypto API) |
Todas as três usam os mesmos vetores de teste SHA-256 NIST, vetores base32 RFC 4648 e vetores de conformidade JCS RFC 8785. A alegação entre linguagens é respaldada por um harness executável:
python conformance/cross_language_check.py
Isso executa as três implementações contra os mesmos fixtures compartilhados em conformance/ e afirma concordância byte a byte nos bytes canônicos para fixtures aceitos. A execução padrão é fail-closed: saída 0 = todas as três executaram e concordam, 1 = discordância, 2 = uma implementação/runtime está indisponível. O CI compila o helper Rust e executa o harness de três runtimes. Veja conformance/CROSS_LANGUAGE.md para o contrato e como adicionar uma 4ª implementação.
licença
MIT.
repositórios relacionados
eddyflores100-lang/memex-legacy— Código legado do Memex (167 commits, Licença Proprietária AliceLabs). Sistema de memória Python/ChromaDB com integração MCP. Preservado para referência histórica. NÃO instalado porpip install alethech.
Copyright (c) 2026 AliceLabs LLC. Licença MIT.