ocuil/akasha-public

Akasha — O Tecido Cognitivo Compartilhado para Sistemas de Agentes Inteligentes (SDKs, Documentação e Skills para Agentes)

O que é akasha-public?

O Akasha é um sistema de memória compartilhada e comunicação para agentes de IA, permitindo que agentes individuais e equipes de agentes armazenem, consultem e troquem informações de forma estruturada e persistente. Ele oferece suporte a vários tipos de memória — memória de trabalho (com TTL para expiração automática), memória semântica (conhecimento confirmado) e memória episódica (registros de eventos) — além de um sistema de sinais (pheromones) para coordenação entre agentes. O Akasha é agnóstico a linguagens e plataformas, disponibilizando SDKs oficiais para Python (gRPC e HTTP) e Node.js, além de uma API RESTful que pode ser consumida por qualquer linguagem. O repositório 'ocuil/akasha-public' contém a documentação completa, os SDKs e este skill de onboarding que guia um novo agente por todas as etapas de integração, desde a obtenção de credenciais até a verificação da conexão.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add ocuil/akasha-public

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Skill de Integração de Agentes no Akasha

Guia completo para conectar um novo agente ao Akasha.

Etapa 1: Obtenha Suas Credenciais

Opção A: Chave de API (recomendada para agentes)

Peça a um administrador para criar uma chave via Dashboard ou API:

curl -sk -X POST "$AKASHA_URL/api/v1/admin/keys" \
  -H "Authorization: Bearer $ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "my-new-agent",
    "namespaces": ["memory/working/my-new-agent/**", "memory/semantic/**", "memory/episodic/**"],
    "role": "agent"
  }'

Salve a chave (key) retornada — ela é exibida apenas uma vez.

Opção B: Token JWT (sessões de usuário)

TOKEN=$(curl -sk -X POST "$AKASHA_URL/api/v1/auth/login" \
  -H "Content-Type: application/json" \
  -d '{"username":"my-user","password":"my-password"}' \
  | python3 -c "import json,sys; print(json.load(sys.stdin)['token'])")

Etapa 2: Escolha Seu SDK

Python (gRPC — recomendado para performance)

pip install akasha-client
from akasha import AkashaClient

with AkashaClient("localhost:50051") as client:
    # Escrita
    client.put("memory/working/my-agent/status", {"state": "ready"})
    
    # Leitura
    record = client.get("memory/working/my-agent/status")
    print(record.value)  # {"state": "ready"}
    
    # Consulta
    results = client.query("memory/working/**")

Python (HTTP — mais simples, sem compilação proto)

from akasha import AkashaHttpClient

client = AkashaHttpClient(
    "https://localhost:7777",
    verify_ssl=False  # Para certificados TLS autoassinados
)
client.login("my-user", "my-password")
# Ou use chave de API:
# client = AkashaHttpClient("https://...", api_key="ak_my-agent_xxx")

client.put("memory/working/my-agent/status", {"state": "ready"})

Node.js

const { AkashaClient } = require('@akasha/client');

const client = new AkashaClient({
  address: 'localhost:50051',
  // ou para HTTP:
  // url: 'https://localhost:7777',
  // token: 'ak_my-agent_xxx'
});

await client.put('memory/working/my-agent/status', { state: 'ready' });
const record = await client.get('memory/working/my-agent/status');

HTTP Puro (qualquer linguagem)

# Defina estas variáveis no ambiente do seu agente
export AKASHA_URL="https://localhost:7777"
export AKASHA_TOKEN="ak_my-agent_xxxxxxxxxxxx"

# Escrita
curl -sk -X POST "$AKASHA_URL/api/v1/records/memory/working/my-agent/status" \
  -H "Authorization: Bearer $AKASHA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"value": {"state": "ready"}}'

# Leitura
curl -sk "$AKASHA_URL/api/v1/records/memory/working/my-agent/status" \
  -H "Authorization: Bearer $AKASHA_TOKEN"

Etapa 3: Defina Sua Estratégia de Namespace

Escolha uma estrutura de caminhos com base na função do seu agente:

Agente de Pesquisa

memory/working/<agent-id>/task          ← Contexto da tarefa atual
memory/episodic/research/<finding-id>   ← Descobertas brutas
memory/semantic/research/<insight>      ← Conhecimento confirmado

Agente de Código

memory/working/<agent-id>/context       ← Contexto de código atual
memory/procedural/coding/<pattern>      ← Padrões de código reutilizáveis
memory/semantic/architecture/<decision> ← Decisões de arquitetura

Agente de Monitoramento

memory/working/<agent-id>/alerts        ← Alertas ativos
memory/episodic/incidents/<incident-id> ← Linha do tempo do incidente
memory/semantic/runbooks/<procedure>    ← Procedimentos de recuperação comprovados

Equipe Multiagente

shared/                                 ← Estado compartilhado da equipe
  ├── config/<setting>                  ← Configuração compartilhada
  ├── tasks/<task-id>                   ← Atribuições de tarefas
  └── results/<task-id>                 ← Resultados das tarefas

memory/working/<agent-id>/              ← Bloco de notas privado de cada agente

Etapa 4: Adicione o Akasha ao Seu Prompt de Sistema

Adicione este bloco ao prompt de sistema do seu agente (adapte ao seu domínio):

## Memória Compartilhada (Akasha)

Você está conectado a uma base de conhecimento compartilhada. Use-a para lembrar e compartilhar.

### Escrever: POST /api/v1/records/<caminho>
  Corpo: {"value": <json>, "ttl_secs": <opcional>}

### Ler: GET /api/v1/records/<caminho>

### Pesquisar: GET /api/v1/query?pattern=<glob-pattern>

### Sinalizar: POST /api/v1/pheromones/<trilha>
  Corpo: {"signal_type":"discovery","message":"...","intensity":0.8}

Cabeçalho de autenticação: Authorization: Bearer <seu-token>
URL base: <sua-url-do-akasha>

Use a memória de trabalho (ttl_secs) para estado temporário.
Use a memória semântica para conhecimento confirmado.
Verifique os sinais antes de iniciar um novo trabalho.

Etapa 5: Verifique a Conexão

# Verificação de saúde (sem autenticação)
curl -sk $AKASHA_URL/api/v1/health

# Teste de escrita
curl -sk -X POST "$AKASHA_URL/api/v1/records/test/hello" \
  -H "Authorization: Bearer $AKASHA_TOKEN" \
  -d '{"value": {"message": "Agente conectado!"}}'

# Teste de leitura
curl -sk "$AKASHA_URL/api/v1/records/test/hello" \
  -H "Authorization: Bearer $AKASHA_TOKEN"

# Limpeza
curl -sk -X DELETE "$AKASHA_URL/api/v1/records/test/hello" \
  -H "Authorization: Bearer $AKASHA_TOKEN"

Lista de Verificação

  • Chave de API ou token JWT obtido
  • SDK instalado (Python/Node/HTTP)
  • Estratégia de namespace definida
  • Prompt de sistema atualizado com instruções do Akasha
  • Conexão verificada (saúde → escrever → ler → deletar)
  • Memória de trabalho usa TTL para expirar automaticamente

Habilidades Relacionadas