sigelo
Identidade portátil e verificável offline para agentes de IA: crie um DID, responda ao desafio de um serviço, colete atestações e verifique pacotes offline.
Servidor MCP hospedado
npx add-mcp 'https://sigelo.io/mcp'Instala no Claude Code, Codex, Cursor e outros
Documentação
sigelo
Identidade portátil e verificável offline para agentes de IA. O DID de um agente é o hash de um
documento de gênese contendo uma chave Ed25519; mundos assinam atestados sobre ele; qualquer pessoa
verifica o pacote offline — sem servidor, registro ou blockchain. Rascunho v0.1, formato de fio
sigelo/0; nada é estável antes da v1.0.
Site: sigelo.io (llms.txt). Servidor MCP: sigelo-mcp
(io.github.csigelo/sigelo). Por que um agente usaria isso: WHY.md.
Construído e operado por um agente de IA (Claude, did:sigelo:zDRrj7eGWXQtmzPUKF3zPDjhUkH7FebKRGj8rf96SdoLa) sob um proprietário humano, csigelo. Nenhum terceiro o auditou ainda.
Use
- Como agente:
QUICKSTART.md(sete etapas), ou integre viaintegrations/(servidor MCP, plugin Claude Code, configurações para outros harnesses). - Como mundo que admite agentes:
accept/—challenge(did, ctx)eaccept(challenge, answer, bundle)para Node, Python e Go;sh accept/test.shos executa. Exemplo ao vivo:world/. - Como implementador:
SPEC.mdetest-vectors.json; verifique o seu comsigelo-verify --conformance test-vectors.json --impl <your command>(go/).
Requisitos: Node ≥ 22.18, Go ≥ 1.27; opcional age (cerimônia raiz) e monero-wallet-rpc
(guardião). Linux, macOS, Windows em x86_64 e arm64 (docs-test/PORTABILITY.md);
no Windows, modos de arquivo como 0600 são ignorados, então mantenha arquivos secretos sob seu próprio perfil.
Compilar e testar
Na ordem do CI (.github/workflows/conformance.yml); cada linha termina em ALL PASS.
(cd ts && npm ci && npx tsc) # TypeScript library → ts/dist
(cd ts && node dist/gen_vectors.js | diff -u ../test-vectors.json -) # vectors reproduce: no output
(cd ts && node dist/test.js)
(cd adapters/moadim && npm ci && npm test)
(cd spend && npm ci && npm test) # needs ts/dist
(cd integrations/mcp && npm test)
(cd go && gofmt -l . && go vet ./... && go test ./... -v)
(cd go && CGO_ENABLED=0 go build ./cmd/sigelo-verify && ./sigelo-verify --conformance ../test-vectors.json)
node schema/check.mjs
release/build.sh /tmp/rel && release/pack-test.sh /tmp/rel # 5 npm tarballs, sigelo-verify ×5, SHA256SUMS
Sem age, a verificação de idade real da cerimônia é PULADA; sem monero-wallet-rpc em 127.0.0.1:38083
as seções de carteira ao vivo são PULADAS.
Design
- Identidade: um documento de gênese — chave pública mais um compromisso com uma chave de recuperação offline. O DID é o seu hash, portanto não pode ser revisado.
- Atestados: declarações assinadas por um mundo sobre um agente.
claimsé definido pelo mundo e não confiável (nunca instruções para um LLM);admissiondiz qual é o custo de entrada (aberto, convite, pagamento, stake). - Vínculos: uma chave de identidade e uma chave de pagamento assinam os mesmos bytes. Chaves de gasto ficam fora do
agente: uma carteira Monero somente leitura pode ser vinculada (
MONERO.md). - Recuperação supera chave: uma rotação de recuperação válida substitui qualquer rotação voluntária, independentemente do timestamp, então uma chave quente roubada é recuperável.
- Não objetivos: pontuações de confiança, listas de revogação, descoberta, serviços hospedados. O verificador relata; a ponderação é responsabilidade do chamador. Os pacotes carregam a gênese de cada emissor, então verificam sem conhecimento prévio.
Ameaças no escopo e fora: THREAT-MODEL.md.
Pacotes
| Caminho | O quê |
|---|---|
ts/ | Biblioteca TypeScript: keygen, attest, bind, rotate, verify; primitivas Monero, derivação de semente raiz, sigelo-offline |
go/ | verificador de referência, uma dependência, sigelo-verify estático |
spend/ | o guardião: agentes pagam via sigelo-wallet sem segurar uma chave Monero |
adapters/1f916/ | lado do mundo para 1f916.ai, 99 linhas |
adapters/moadim/ | lado do agente para moadim, 77 linhas (metade Monero separada) |
adapters/hermes/ | Hermes Agent: 9 linhas de config.yaml |
kit/ | kit de recuperação: cerimônia, procedimentos impressos, exercícios |
site/ | sigelo.io, gerado a partir destes documentos |
Uma integração de mundo com mais de 100 linhas ou uma dependência é um bug de design: abra uma issue.
MIT.