Prism Coder

Memória de sessão persistente para agentes de codificação de IA - recall local-first, detecção de drift e inferência no dispositivo.

Documentação

Prism Coder

Dê ao seu agente de IA memória que dura. Sessões persistentes, grafos de conhecimento e roteamento de ferramentas offline — totalmente local e gratuito.

npm MCP Registry License: Apache-2.0 Models on HuggingFace

Prism Mind Palace dashboard v20.8.0 — project state with handoff summary, pending TODOs, intent health, neural graph, and time-travel history

O Prism Coder é um servidor MCP que dá ao Claude, Cursor e outras ferramentas de IA memória de longo prazo que sobrevive entre sessões. Ele vem com a família de modelos de peso aberto prism-coder (2B–27B) para roteamento de ferramentas rápido e offline — sem necessidade de nuvem.

Sem conta necessária. Sem chaves de API. Roda na sua máquina.
Uma assinatura paga adiciona sincronização em nuvem, níveis de modelo superiores e recursos de equipe através do portal Synalux.


O que o Prism oferece

  • Memória de sessão que sobrevive a reinicializações — retome projetos com notas de handoff, trabalho recente, TODOs abertos e contexto rápido, padrão ou profundo configurável.
  • Inferência local-first — trabalho limitado é roteado primeiro por modelos Ollama locais, com seleção automática 2B/4B/9B/27B com base nos modelos instalados, RAM disponível, ajuste de contexto e direitos de assinatura.
  • Imposição de saída de roteamento — o modo de roteamento retorna apenas chamadas bem formadas para ferramentas que o host realmente anunciou. Planos Standard e superiores podem adicionar correção determinística autenticada; route_guard: "local" mantém o prompt e o rascunho inteiramente no dispositivo.
  • Uma configuração para cada agenteprism connect configura Claude Code, Claude Desktop, Cursor, Gemini CLI e Codex preservando configurações não relacionadas.
  • Habilidades cientes de assinatura — habilidades autorizadas são sincronizadas antes do host iniciar, com upgrades seguros, downgrades, preservação de conflitos e recuperação offline da última versão boa.
  • Inicialização sem hooks — metadados MCP e instruções nativas solicitam o contexto de inicialização do Prism sem exigir hooks de ciclo de vida ou um launcher de propriedade do Prism.
  • Escalonamento seguro e observabilidade — resultados de inferência são explícitos, conteúdo reservado permanece fail-closed, e uso local/nuvem é registrado para revisão.

Comece

npm install -g prism-mcp-server
prism connect

Use prism connect --dry-run para pré-visualizar alterações, prism connect --all para configurar cada host detectado, ou prism connect --refresh para reconciliar entradas gerenciadas pelo Prism após um upgrade. Reinicie o host após conectar.

O Prism funciona localmente sem conta, chave de API ou assinatura em nuvem. Adicione uma assinatura Synalux quando quiser memória em nuvem, habilidades de nível pago ou recursos de equipe.

Instalar como plugin

O Prism também é distribuído como plugin, que registra o servidor MCP e a habilidade de inicialização para você.

Claude Code — do marketplace da comunidade:

/plugin marketplace add anthropics/claude-plugins-community
/plugin install synalux-prism@claude-community

Codex — este repositório é em si um marketplace de plugins:

codex plugin marketplace add dcostenco/prism-coder
codex plugin add synalux-prism@prism

O plugin registra prism-mcp via npx -y prism-mcp-server. Se você já configurou o Prism manualmente — prism connect escreve uma entrada mcp_servers.prism-mcp — você tem esse servidor duas vezes sob a mesma chave. Instale o plugin ou execute prism connect, não ambos.

O que prism connect muda sobre subagentes do host

connect direciona trabalho limitado para prism_infer na sua máquina em vez de agentes gerados pelo host. O que ele escreve difere por host, e não desativa subagentes em todos os lugares — Claude Code os mantém e é apontado para um modelo econômico. Os workers locais do Prism permanecem disponíveis via MCP em todos os casos.

HostConfiguração escritaEfeito
Claude Codeenv.CLAUDE_CODE_SUBAGENT_MODEL = "sonnet" em ~/.claude/settings.jsonSubagentes permanecem habilitados, fixados a um modelo econômico. Fan-out é desencorajado por texto de política, não por configuração
Gemini CLIexperimental.enableAgents = false em ~/.gemini/settings.jsonSubagentes desligados. O Gemini expõe um único booleano, então é só isso que há para definir
Codexfeatures.multi_agent = false em $CODEX_HOME/config.toml (padrão ~/.codex), mais um fallback limitado: 2 threads, profundidade 1, modelo de subagente barato, limite de 900sSubagentes desligados, com um perfil limitado por baixo para que uma reativação deliberada caia em algum lugar sensato

Duas coisas que vale a pena saber:

  • experimental é o namespace do Gemini, não nosso. O Prism não está habilitando nada experimental — ele escreve false em uma flag que o Gemini já define nesse caminho. Escrever em qualquer outro lugar não teria efeito.
  • Esse namespace é por definição temporário. Se o Gemini promover enableAgents para fora de experimental, o Prism continua escrevendo o caminho antigo, o Gemini lê o novo, e os subagentes do host silenciosamente voltam a ligar. Nada gera erro e o arquivo de configurações ainda parece correto. Se você vir subagentes do host rodando enquanto enableAgentsfalse, verifique se a chave mudou antes de assumir que connect falhou ao escrevê-la.

Ambas as escritas são idempotentes no sentido de que um host já configurado dessa forma é deixado intocado — mas elas são reaplicadas a cada execução de prism connect, não apenas em --refresh. Se você deliberadamente reabilitar subagentes do host, a próxima connect os desligará novamente. Mantenha-os ligados não executando connect novamente, ou reabilitando após cada execução.


Histórico de versões (opcional)

Novidades na v20.12.1

  • prism connect --refresh agora converge cada registro que possui, não apenas o de nível superior — entradas com escopo de diretório poderiam, de outra forma, continuar iniciando uma build antiga indefinidamente.
  • prism update verifica o pacote instalado, não o CLI que por acaso está rodando, então não pode mais reportar "atual" enquanto a instalação está desatualizada.
  • O atualizador agendado opcional pode realmente iniciar — o LaunchAgent agora carrega um PATH que inclui node e npm.

Novidades na v20.12.0

  • O Prism agora avisa quando está desatualizado. A inicialização da sessão mostra um aviso de atualização de uma linha quando existe uma versão mais recente — com cache, no máximo uma verificação de registro por dia, silencioso offline. PRISM_NO_UPDATE_CHECK=1 opta por sair.
  • Atualizações sem usar as mãos, se você quiser. prism autoupdate enable configura um prism update --if-idle diário: ele atualiza apenas o pacote npm global, adia enquanto qualquer servidor Prism estiver rodando e nunca toca na configuração do host — isso permanece atrás de um prism connect visível.

Novidades na v20.11.1

  • Salvar memória nunca mais é recusado. O caminho de salvamento costumava rejeitar chamadas session_save_ledger/save_handoff quando sua heurística de caminho-para-projeto discordava do projeto que você declarou — e o registro que a heurística confiava podia conter lixo de auto-registro anterior, então sessões legítimas terminavam sem salvar. Sua declaração agora sempre vence; a discordância é retornada como um aviso consultivo, e o auto-registro só aceita raízes de repositório reais.
  • Capturas de tela são evidência novamente. prism browser capturas no macOS eram silenciosamente ampliadas para o limite de tamanho, então uma captura de tela não mostrava mais o que realmente renderizava. Apenas capturas genuinamente grandes são redimensionadas agora, e o limite não corta mais uma viewport padrão de 1920 de largura.

Novidades na v20.10.0 – v20.11.0

  • O roteamento de habilidades agora funciona no meio da sessão. Novos prompts são correspondidos no dispositivo conforme a conversa avança — não apenas no primeiro turno — e injetados dentro dos limites reais de contexto de cada host (Claude Code limita a saída de hook a 10k caracteres; Codex trunca por padrão), com entrega pointer-first quando um payload não cabe inline.
  • prism connect é um comando de convergência. Ele se auto-atualiza primeiro, re-executa, e então reconcilia registro MCP, habilidades e hooks — sem mais máquinas com "configuração nova, código velho".
  • Habilidades com escopo roteiam em prompts também, e a saída de inicialização sobrevive a hosts que descartam conteúdo estruturado de ferramentas.

Novidades na v20.9.0 – v20.9.3

  • Suas habilidades seguem sua conta. skill_save armazena uma habilidade no escopo que você escolher: apenas esta máquina (local, funciona offline e desconectado), sua conta (user — toda máquina em que você entrar a recebe), ou um workspace (team — compartilhado com membros, gerenciado por admin, opcionalmente direcionado a pessoas específicas).

  • Apare o catálogo que você não usa. skill_manage pode liberar habilidades de plataforma que você nunca toca — liberando orçamento do catálogo de habilidades do host — e restaurá-las a qualquer momento, sem perdas. Excluir uma habilidade com escopo arquiva seu conteúdo final localmente primeiro, então nada é silenciosamente irrecuperável.

  • Entrega que enfileira em vez de falhar. Sessões concorrentes não passam mais fome na sincronização de habilidades no armazenamento de configuração local (WAL + busy-timeout) — uma falha que anteriormente reportava apenas "parcial" onde ninguém podia ver.

  • Regras retidas ainda vinculam. Quando o orçamento de contexto não pode incluir inline o texto de uma habilidade, o manifesto de nomes retidos agora declara que essas habilidades ainda governam o trabalho e nomeia todas as maneiras de carregá-las antes que a conclusão seja reivindicada.

  • O orçamento que o piso nunca gastou. Um bug contábil de longa data significava que nenhuma habilidade desprotegida era incluída inline em nenhum nível de contexto normal — o piso protegido sempre incluído estava debitando o orçamento destinado a tudo mais. Habilidades correspondentes a tarefas (como a lista de verificação de evidência de conclusão) agora realmente chegam.

Novidades na v20.8.2

  • A entrega de habilidades agora admite falha em vez de escondê-la. Um caso extremo de permissão de sistema de arquivos (um umask removendo o bit de execução do proprietário) podia deixar a sincronização de habilidades sem escrever nada enquanto se reportava atual — medido em nove dias em uma máquina real. Diretórios gerenciados quebrados são reparados no lugar, todo diretório é criado à prova de umask, e o caminho de reparo recusa symlinks via um descritor O_NOFOLLOW.
  • Uma instalação desatualizada avisa na inicialização. O Prism agora rastreia a geração que realmente chegou ao disco separadamente daquela que o banco de dados aceitou; se elas divergirem, o banner de inicialização diz isso em um aviso colocado onde a truncagem de exibição não pode cortá-lo. Uma sincronização bem-sucedida o limpa automaticamente.

Novidades na v20.7 – v20.8.0

  • A primeira execução prova a memória em vez de descrevê-lasession_bootstrap semeia uma memória de demonstração e a mostra recuperada do disco, então o loop salvar→recuperar é sentido na sessão 1. Única, contida em seu próprio projeto prism-demo, removível com uma chamada.
  • Dashboard corrigido — um erro de digitação de aspas (enviado em 2026-05-29) matou o script inline no momento da análise, então todo dashboard desde então renderizava "Carregando projetos..." para sempre. Corrigido, e o lint ES5 agora node --checks o script inline construído para que um dashboard não analisável nunca mais seja enviado.
  • Publicação Confiável — lançamentos npm autenticam via GitHub OIDC. Sem token armazenado para expirar ou vazar, e cada lançamento carrega uma atestação de proveniência assinada — você pode verificar que o tarball que instala foi construído a partir deste repositório por CI (npm audit signatures).
  • TLS aplicado para sincronização em nuvem — uma URL de armazenamento http:// remota é atualizada para https:// em vez de enviar silenciosamente conteúdo de sessão em texto claro.
  • Colisão de plugin Codex + detecção de estado habilitadoprism connect pula seu próprio registro apenas quando um plugin realmente fornece prism-mcp (cache presente e habilitado), prevenindo servidores duplicados e ausentes.
  • CI do Windows estabilizado; listagens de registro/npm realinhadas e deduplicadas.

Novidades na v20.6.0

Entrega Não É Uma Sugestão

Uma auditoria de um incidente real (um agente apagou dados de demonstração depois de anunciar o apagamento — com a regra de perguntar primeiro comprometida, empacotada e ausente do que qualquer agente realmente recebeu) descobriu que o piso protegido tinha superado todo orçamento de entrega: "desprotegido" tinha silenciosamente passado a significar "nunca entregue".

  • ask-first e feature-preservation entram para o piso protegido (14 → 16). Habilidades protegidas são sempre embutidas; essas duas agora alcançam todas as sessões.
  • Conflitos de sincronização são explícitos e nomeados. A inicialização costumava dizer "· 2 conflitos locais preservados" enquanto habilidades de segurança ficavam meses desatualizadas; agora ela nomeia cada habilidade congelada e informa como retomar as atualizações.
  • --storage aceita auto e synalux — a CLI rejeitava seu próprio padrão documentado e o backend de produção.
  • Divulgação: a entrega de habilidades informa; ela não bloqueia. Uma sonda ao vivo mostrou um agente host ainda editando fonte não verificada com a regra carregada. Se seu modelo de ameaça inclui um agente agindo contra uma regra carregada sob pressão de tarefa, combine este pacote com portões mecânicos (ganchos, permissões, papéis de privilégio mínimo). Isso é verdade para todas as versões anteriores; declarado a partir desta.

Novidades na v20.5.3

Evidência de Fundamentação Carrega Sua Idade

Respostas fundamentadas em memória rotulavam suas fontes, mas nunca as datavam, então uma nota de dois anos e a de ontem chegavam ao modelo de forma idêntica. Nada na evidência permitia descontar a desatualizada. Motivado por uma revisão externa que nomeou o risco certo para memória local-first: os dados permanecem locais, mas a fundamentação ruim se torna permanente — armazenar tudo na sua máquina remove a pressão externa que, de outra forma, traria à tona uma nota desatualizada.

A evidência agora é exibida como:

[SOURCE 1: ledger:8286581d (recorded 2025-05-29, 431 days ago)]

A data já existia no armazenamento e estava sendo descartada na camada de snippet, então isso é encanamento, não coleta de novos dados. Timestamps SQLite sem fuso são normalizados para UTC — lidos como locais, um registro de dez minutos atrás era interpretado como horas no futuro e sua idade era suprimida por completo, o que significava que o recurso silenciosamente não fazia nada nas memórias mais recentes. Uma data ausente ou não interpretável é renderizada como nada, em vez de assumir o valor atual; assumir o valor atual faria as memórias mais antigas, as mais propensas a estarem desatualizadas, parecerem as mais recentes.

tests/integration/grounding-staleness.test.ts executa a própria sonda do revisor — semeie uma nota deliberadamente desatualizada ao lado de uma nova contraditória e afirme que o modelo recebe ambas, visivelmente datadas. Qualquer pessoa pode executá-la.

Não resolvido, e não afirmado: a recuperação não pondera a recência. Uma nota desatualizada exibida ao lado de uma nova é o caso fácil — o modelo vê ambas as datas e pode ponderá-las. O caso difícil é uma nota desatualizada recuperada sozinha, porque a classificação é por correspondência de palavras-chave e um armazenamento antigo retorna resultados antigos; então o rótulo de idade é a única defesa e não há registro mais recente para comparar. Rastreado como TECH_DEBT.md #4.

Novidades na v20.5.0 – v20.5.2

A Primeira Mensagem Nunca Sai da Sua Máquina

Habilidades acionadas por sintomas — as regras que disparam em "não consigo ver X", "sem linhas", "a lista está vazia" — devem carregar no turno em que um relatório de incidente chega. Elas nunca carregavam: todo template de host chamava session_bootstrap com {}, então não havia prompt para corresponder.

Corrigir isso levantou a questão de onde a correspondência acontece. Agora ela acontece localmente. As 28 regras de palavras-chave já são públicas, então não havia nada que uma correspondência local não pudesse calcular, e callPortal() não tem nenhum parâmetro prompt — a garantia é estrutural, não uma promessa. A solicitação do portal carrega apenas o projeto e o papel.

Uma regra correspondida agora chega como conteúdo, não como um nome. Hosts nativos fora do espelho de arquivos de habilidades não tinham como ler uma regra sobre a qual apenas eram informados, então o corpo da regra é embutido na exibição de inicialização, limitado e dimensionado contra o orçamento real por projeto.

Novidades na v20.4.0

Um Backend de Nuvem Explicitamente Nomeado Falha de Forma Ruidosa

Definir PRISM_STORAGE=synalux ou =supabase com credenciais incompletas costumava rebaixar silenciosamente para SQLite local. A troca era registrada no stderr, que os hosts MCP descartam, então nada a trazia à tona: as sessões continuavam servindo contexto local desatualizado enquanto a nuvem mantinha histórico mais recente, e context_source lia local em vez de qualquer tipo de aviso. Uma sessão podia funcionar assim por semanas.

Nomear um backend explicitamente é uma forte declaração de intenção, então agora ele lança uma exceção — nomeando as variáveis ausentes e a opção de exclusão PRISM_STORAGE=local — em vez de dividir silenciosamente o histórico da sua sessão. auto permanece inalterado: mantém sua degradação documentada synalux > supabase > local, fixada por um teste.

Nota de atualização: se você definir explicitamente PRISM_STORAGE=synalux|supabase e suas credenciais estiverem incompletas, a inicialização agora falha com um erro nomeado em vez de usar silenciosamente dados locais. Esse erro é a correção — defina a variável ausente ou escolha PRISM_STORAGE=local deliberadamente. Configurações padrão (auto) não são afetadas.

A exceção é deliberadamente não tratada como uma falha recuperável de inicialização: esse caminho existe para erros transitórios (limites de taxa, 5xx, DNS), que podem degradar atrás de um aviso visível. Uma credencial ausente é uma falha de configuração e não deve ser encoberta.

Também: o bloco de habilidades agora é orçado por padrão, não apenas sob solicitação, para que um payload grande de habilidades não possa sufocar o briefing e o histórico.

Novidades na v20.3.2

Web Scholar: Endurecimento contra SSRF

Lançamento de segurança. O Web Scholar extrai URLs de artigos que vêm da saída de mecanismos de busca, então o alvo é influenciável por atacantes através de envenenamento de SEO — e como o que ele extrai é escrito no corpus de memória e passado ao LLM configurado, um redirecionamento para um endereço local significava ler um serviço interno e enviar o resultado adiante.

A proteção do host correspondia a prefixos de string em vez de analisar o endereço, e seis grafias de um endereço local passaram: [::1] (URL.hostname mantém os colchetes), 127.0.0.2 (apenas .1 foi enumerado, não todos os 127.0.0.0/8), 0.0.0.0, [::ffff:127.0.0.1], localhost. (um ponto final derrotou todas as verificações de sufixo de uma vez), e [64:ff9b::7f00:1] (NAT64 incorpora IPv4 em seus bits baixos). A classificação de host agora analisa endereços e também cobre CGNAT, benchmarking, multicast, reservado e faixas IPv6 unique-local e link-local.

O DNS rebinding também está fechado. Cada verificação lia a string da URL, então um hostname controlado pelo atacante passava por todas e ainda podia resolver para 127.0.0.1. Os alvos agora são resolvidos primeiro, cada endereço retornado é validado, e a conexão é fixada nesses endereços para que o nome nunca seja resolvido uma segunda vez — o que também fecha a janela entre a verificação e a conexão.

Falhas de extração não desaparecem mais em um catch {} vazio, uma execução é limitada por PRISM_SCHOLAR_SCRAPE_BUDGET_MS (padrão 60s) em vez de travar em uma contagem elevada de artigos, e as respostas são limitadas a 8 MiB.

Isso é alcançável apenas quando o scholar realmente executa — scholar_research, ou o loop em segundo plano sob PRISM_SCHOLAR_ENABLED=true — e quando o atacante também controla DNS ou um resultado de busca. Atualize se você usa o Web Scholar.


Novidades na v20.3.1

Prism Browser Relata Falhas Reais

prism browser não conseguia falhar em um teste. eval 1 === 2 retornava status: ok com código de saída 0, uma página servindo HTTP 500 reportava status: ok, e erros de console e exceções de página não capturadas eram descartados por completo. Esta versão adiciona asserções — assert-text, assert-visible, assert-count, assert-url, assert-title, assert-eval, assert-no-page-errors — que retornam status: failed e uma saída não zero. open agora reporta http_status e falha em 400 ou superior, capturas de tela são validadas em vez de assumidas, e eval retorna JSON nativo com seu tipo em vez de um repr Python.

A camada de impressão digital nunca havia sido aplicada: um argumento de palavra-chave errado fazia a biblioteca de stealth lançar uma exceção em cada inicialização — 1.139 falhas e 0 sucessos desde abril — enquanto o runner reportava como ativa. Está corrigido, e uma camada que não pode ser aplicada agora falha de forma ruidosa. A build headless não se anuncia mais através de navigator.userAgentData ou do cabeçalho Sec-CH-UA, e um patch que corrompia Object.getOwnPropertyDescriptor em cada página sob teste foi removido. Esses continuam sendo auxílios de teste de melhor esforço, não uma garantia contra detecção de bots.

--local-only agora realmente isola: WebSocket, EventSource, WebRTC e egresso sendBeacon contornavam o roteamento de solicitações e nunca foram bloqueados, e service workers eram permitidos. --cleanup era um no-op nos dois modos que os agentes usam. Isolamento de site, detecção de phishing e bloqueio de popups não são mais desabilitados por padrão, já que esses perfis contêm cookies autenticados vivos.

Novo para execuções de teste: --ephemeral-profile e --storage-state para fluxos autenticados herméticos, pages/switch-page para que popups OAuth sejam alcançáveis, --fail-fast, --fast, --trace/--video/--har, e profiles --prune-older-than para manutenção de perfil.


Novidades na v20.2.7

Salvamentos de Sessão Sobrevivem a Reinicializações de Agente

O Prism agora lembra que uma conversa carregou com sucesso seu contexto de projeto quando o servidor MCP reinicia ou outro processo Prism lida com a próxima solicitação. session_save_ledger e session_save_handoff não falham mais com um erro falso context_not_loaded nesse fluxo.

A recuperação permanece fail-closed: a autorização é limitada ao projeto e conversa exatos, expira com a janela de contexto existente e não armazena identificador de conversa em texto puro. Recibos entre projetos, forjados, malformados, expirados ou com data futura ainda são rejeitados. A versão também atualiza o PostCSS para a versão corrigida 8.5.23.

Novidades na v20.3.0

Busca Híbrida de Memória (Nível Portal)

session_search_memory no nível portal (instalações com suporte Synalux) agora funde similaridade semântica com correspondência lexical de termos exatos via fusão de rank recíproco ponderado. Medido em sondas cegas contra um corpus real de 8,5 mil entradas: a recuperação fundida nunca foi pior que a semântica sozinha no top-5, e identificadores exatos — TPNs, nomes de funções, strings de erro — agora resgatam consultas que a similaridade de embeddings borra. Os resultados dizem como foram encontrados — cabeçalhos hybrid retrieval, braços sem#/lex# por ocorrência — e um resgate apenas lexical é rotulado exact-term match em vez de fingir uma pontuação de similaridade. Instalações locais com SQLite mantêm busca vetorial pura; o híbrido precisa do índice lexical do portal.

Novidades na v20.2.6

Atualizações de Configuração Mais Seguras em Todos os Agentes

prism connect agora lê a configuração de Claude, Cursor, Gemini e Codex através de um único snapshot de arquivo verificado, impedindo que outro processo troque um arquivo entre a verificação de segurança do Prism e sua leitura. Dotfiles com symlink suportados ainda funcionam, enquanto symlinks quebrados ou plantados falham de forma ruidosa em vez de serem seguidos ou sobrescritos. Esta versão também carrega as dependências corrigidas e as verificações de lançamento entre plataformas introduzidas na v20.2.5.

O fallback de nuvem agora é documentado consistentemente como Gemini 3.6 Flash. Os tetos de plano governam o roteamento automático prism_infer; o uso direto de qualquer modelo baixado através do Ollama local permanece gratuito em todos os níveis.

Novidades na v20.2.4

Memória de Sessão Confiável que Mostra Trabalho, Não Saudações

Respostas do assistente que são apenas saudações são ignoradas antes das gravações no ledger. Linhas de saudação existentes são filtradas no momento da leitura em inicialização nativa, contexto MCP e prism load --json, enquanto entradas contendo decisões, TODOs, arquivos alterados ou eventos fora de sessão permanecem visíveis. Linhas históricas não são deletadas destrutivamente. Se o Synalux tiver uma falha transitória de inicialização, o Prism exibe um snapshot local último-bom limitado e o rotula claramente; falhas permanentes de autorização ou validação ainda falham de forma ruidosa, e gravações posteriores permanecem roteadas para a nuvem.

Novidades na v20.2.2

Um Fluxo de Trabalho Local-Primeiro em Todos os Agentes

prism connect agora instala um contrato de orquestração para Claude Code, Claude Desktop, Cursor, Gemini CLI e Codex. Trabalho delegado limitado vai primeiro para session_task_route e o worker local prism_infer; trabalho rotineiro não deve criar agentes host em segundo plano. Workers locais podem receber a memória rápida, padrão ou profunda configurada no dashboard do projeto ativo e selecionar um modelo 2B/4B/9B/27B seguro para RAM no momento da chamada. O roteador encaminha a complexidade, mas não escolhe o modelo; prism_infer detém a decisão final usando memória e adequação de contexto, modelos instalados, RAM em tempo real, entitlements e sobreposições explícitas do chamador.

O fan-out de agentes nativos do Codex e do Gemini é desabilitado durante a conexão. O Codex mantém um perfil de fallback Terra/baixo de dois threads e um nível se o desenvolvedor reabilitar explicitamente agentes nativos posteriormente. O Claude Code mantém agentes nativos como caminho de último recurso, mas fixa o modelo deles em Sonnet. Cursor e Claude Desktop não expõem um arquivo global suportado de política de subagentes, então recebem o fluxo de trabalho idêntico por meio das instruções do servidor MCP do Prism. Os limites de segurança de prism_infer e a responsabilidade final de verificação do host permanecem inalterados.

Habilidades por Nível de Assinatura Chegam Antes do Primeiro Lançamento do Host

prism connect agora baixa o manifesto autoritativo de habilidades Synalux e materializa os pacotes com direito de acesso no diretório nativo ~/.agents/skills antes de o comando sair. O Codex, portanto, vê o conjunto de habilidades atual no primeiro lançamento, em vez de exigir uma segunda reinicialização. O Prism reverifica o mesmo snapshot na inicialização do MCP, no carregamento da sessão e a cada cinco minutos—sem hooks de ciclo de vida do host.

No primeiro turno do usuário, a habilidade nativa do Prism, os metadados do MCP e as instruções gerenciadas do host solicitam uma chamada session_bootstrap({}). O Prism então usa o nome do desenvolvedor do dashboard, Auto-Load Projects e a configuração rápida, padrão ou profunda. A resposta permanece focada em saudação e estado da sessão porque as habilidades do nível já estão presentes no diretório nativo de habilidades do host.

O MCP sem hooks pode fornecer e priorizar esse bloco pronto para exibição, mas o modelo do host ainda detém a mensagem final do assistente e pode resumi-la. O Prism não reivindica uma saudação verbatim determinística em superfícies de chat de terceiros; isso exigiria um hook de ciclo de vida do host, launcher, extensão ou painel de propriedade do Prism. O carregamento de contexto em si permanece completo mesmo quando um host encurta a resposta visível.

Contas gratuitas recebem apenas o pacote público sem hooks prism-startup; o servidor MCP ainda fornece um contrato compacto e não proprietário de segurança e evidência. Contas pagas autenticadas recebem os pacotes protegidos de comportamento e engenharia, além do conjunto atual de roteamento assinado. O evidence-first-protocol pago mantém a codificação comum leve: uma reprodução correlacionada é suficiente para iniciar uma edição, enquanto a aceitação estrita começa apenas antes de uma reivindicação de conclusão, push ou release e inspeciona apenas os artefatos exatos usados como prova. Upgrades instalam pacotes recém-habilitados; downgrades verificados removem apenas pacotes de propriedade do Prism, preservando habilidades locais e conflitos modificados localmente.

Ao atualizar uma instalação mais antiga do Claude Code, prism connect remove apenas as ações exatas de hook de inicialização, sincronização de habilidades, handoff e drift de propriedade do Prism do bootstrap legado. Ele também remove as seções de inicialização legadas reconhecidas do Prism de ~/CLAUDE.md, preserva todas as outras instruções e instala um pequeno bloco nativo marcado como de propriedade que seleciona session_bootstrap({}) no primeiro turno. Hooks do usuário, seções de instruções personalizadas e correspondências aproximadas permanecem intocadas; habilidades nativas e lembretes do lado do servidor preservam esses recursos do Prism sem hooks de ciclo de vida do host. Como os hosts não expõem callback nativo de fim de sessão, o handoff no encerramento é orientado por instruções, em vez de um evento de ciclo de vida garantido.

Após o registro nativo de usuário do Claude Code ser bem-sucedido, o mesmo comando padrão ou --refresh verifica o .mcp.json mais próximo do diretório atual até o diretório inicial. Ele remove apenas a entrada legada exata prism-mcp { "command": "npx", "args": ["-y", "prism-mcp-server"] } que, de outra forma, ofuscaria o registro do usuário. Entradas personalizadas do Prism e seus campos adicionais, além de servidores não relacionados, são preservados; arquivos malformados falham de forma ruidosa sem alterações. --dry-run relata a migração reconhecida sem alterar o arquivo.


Novidades na v20.2.1

Armazenamento de Memória Ciente de Assinatura

prism connect agora carrega um PRISM_STORAGE=auto|local|synalux|supabase explícito em todo registro de host gerenciado e rejeita valores inválidos antes de alterar um arquivo de configuração. Em auto, um nível gratuito confirmado pelo portal usa SQLite local, enquanto Standard, Advanced e Enterprise usam memória em nuvem Synalux. Se a resolução de entitlement não estiver disponível, o Prism falha de forma fechada em vez de dividir o histórico entre backends. O armazenamento permanece independente do roteamento de modelo local-primeiro.


Novidades na v20.2.0

Um Comando Conecta Todos os Hosts Suportados

Instale o Prism globalmente e execute prism connect. Ele detecta Claude Code, Claude Desktop no macOS, Windows e Linux (beta), Cursor, Gemini CLI e Codex, e então registra com segurança o servidor a partir do pacote instalado. Entradas personalizadas existentes permanecem intocadas; --dry-run pré-visualiza alterações e --refresh atualiza apenas entradas gerenciadas pelo Prism.


Novidades na v20.1.0

Todo Resultado de Inferência Agora é Observável

prism_infer ganha um contrato de falha: passe escalation: "report" e toda chamada retorna um gate_outcome estruturado — success, degraded (saída que falhou no gate servida mesmo assim, explicitamente sinalizada) ou refused (tipado, com motivo, em vez de um erro lançado). Saída degradada não pode mais ser servida silenciosamente.

Prompts Grandes Funcionam Localmente

Prompts com mais de 4000 caracteres eram recusados de forma geral quando a nuvem estava desligada. Agora o texto completo recebe uma varredura determinística de palavras-chave reservadas, além de uma classificação de excerto início+meio+fim — prompts grandes e limpos são servidos localmente com um marcador de auditoria distinto UNCERTAIN_LENGTH. O tratamento clínico/reservado permanece inalterado (e seu piso de palavras-chave ficou mais forte).

Sem Mais Truncamento Silencioso

Os limites de contexto por nível agora correspondem aos Modelfiles ativos (27b/9b são modelos de 4096 tokens; 4b/2b são 32768 — a tabela antiga estava invertida). Níveis que não comportam seu prompt são ignorados com um motivo visível ctx_insufficient; se nada couber, você recebe o prompt completo na nuvem ou um erro ruidoso — nunca uma resposta calculada a partir de um prompt silenciosamente truncado.

Saiba Sob Qual Plano Você Está Realmente Executando

Entitlements carregam um campo source: portal (real), unconfigured (gratuito por design) ou fallback_free (portal inacessível — limites gratuitos ASSUMIDOS). Passe strict_entitlements: true para falhar de forma ruidosa em vez de executar degradado.


Novidades na v20.0.8

verify_behavior Funciona Novamente

A ferramenta verify_behavior travava em toda chamada (-32602 expected object, received string) — o handler retornava uma string simples em vez de um objeto MCP CallToolResult. Corrigido, com testes de regressão de contrato + fail-closed para que o gate de segurança nunca mais quebre silenciosamente. Se você está na 20.0.6/20.0.7, atualize.

Da v20.0.7: Segurança de Conteúdo Reservado, Autenticação de Habilidades, Métricas de Delegação

Conteúdo clínico reservado agora é Claude-ou-recusa (nunca servido por um modelo menor do que aquele que o recusou), a entrega de habilidades ganhou um fallback de autenticação JWT (habilidades de nível pago agora alcançam máquinas usando apenas PRISM_SYNALUX_API_KEY), e toda chamada prism_infer é registrada em um ledger persistente infer_metrics. Detalhes completos em CHANGELOG.md.


Novidades na v20.0.5

Delegação Local-Primeiro — 15 Categorias, Taxa Medida

A habilidade local-inference-first cobre 15 categorias de gatilho rígido (geração de código, regex, conversão de formato, sumarização, documentação, consulta factual, classificação, comandos de shell, geração de configuração e mais). Blocos de código colados agora acionam delegação independentemente da formulação da pergunta. Taxa de delegação medida: 30-35% em sessões de engenharia, 40-60% em sessões de transformação/conteúdo. A taxa depende da mistura de prompts, não da habilidade — os instrumentos agora se autovalida com nonDelegatedCount para evitar tautologias de conjuntos selecionados.

Nova Tentativa Somente-Pensamento (v20.0.4)

Modelos Qwen 3.5 (9B/27B) com pensamento habilitado podiam queimar todos os tokens em blocos <think> e retornar conteúdo vazio, causando uma cascata para 4B. Agora detecta respostas somente-pensamento e tenta novamente no mesmo nível com pensamento desabilitado — preservando a qualidade do modelo em vez de cair para um modelo menor.


Novidades na v20.0.3

Resiliência de Modelo Frio na Camada 1

O classificador de categorias reservadas agora tenta novamente uma vez com timeout maior em falha de modelo frio, depois recorre a um backstop determinístico de palavras-chave antes de recusar. Prompts acima do limite (>4K caracteres) são classificados como UNCERTAIN antes de chegar ao classificador — o preenchimento de prompts não pode mais forçar o ramo ERROR. Isso elimina o problema de recusa de inicialização a frio sem enfraquecer o gate de segurança.

Backstop de Palavras-Chave para Conteúdo Reservado

Quando o classificador LLM falha (timeout, injeção, pressão de recursos), um piso determinístico de regex captura vocabulário reservado (contenção, isolamento, automutilação, suicídio, overdose, desescalada de crise, etc.) incluindo formas flexionadas e verbais. Bloqueia ataques de preenchimento de prompt e injeção no classificador no caminho ERROR.

Texto de Segurança de Fonte Única

A declaração de segurança no campo instructions do servidor MCP agora importa de boundaries.ts — uma fonte de verdade em vez de duas cópias mantidas manualmente. A versão de Boundaries foi elevada para v3 com uma decisão explícita de entrega documentada no código.

Gate de Segurança de Categorias Reservadas — Todos os Níveis (v20.0.2)

O classificador semântico da Camada 1 agora é executado para todo usuário, não apenas níveis pagos. Conteúdo clínico reservado é recusado no nível gratuito quando a nuvem está indisponível — fail-closed.

Deduplicação de Ledger (v20.0.2)

session_save_ledger deduplica entradas idênticas dentro de uma janela de 5 minutos.

Script de Evidência (v20.0.2)

scripts/generate-evidence.sh regenera todos os 5 arquivos de evidência com asserções integradas. Execute bash scripts/generate-evidence.sh para verificar o pipeline completo.


Novidades na v20.0.0

Licença: AGPL-3.0 → Apache-2.0

O Prism MCP agora é Apache-2.0. A arquitetura de cliente fino significa que todo o valor proprietário (resolução de habilidades, gating de níveis, cobrança, inferência em nuvem) vive no lado do servidor — o cliente aberto não carrega nenhum fosso para proteger. Apache-2.0 remove o atrito de adoção empresarial que o AGPL causava.

Arquitetura de Cliente Fino

Roteamento de habilidades, gerenciamento de orçamento e resolução de conteúdo foram movidos para o lado do servidor, no portal Synalux. O cliente MCP agora é um chamador de API fino — mais simples, menor e portátil em qualquer host (Claude Code, Gemini, Cursor, scripts autônomos). O fallback offline lê a última resposta bem-sucedida do SQLite local.

Adaptador Voyage AI em Clean-Room

O adaptador de embeddings Voyage AI foi reimplementado de forma independente a partir da documentação da API Voyage para garantir 100% de copyright de propriedade do projeto. Modelo padrão atualizado para voyage-3.5. Veja PROVENANCE.md para detalhes.

Detecção de Drift no Lado do Servidor

A detecção de drift de sessão (GATE 5) não requer mais hooks do Claude Code. O timer é executado no lado do servidor por conversa, aproveitando cada resposta de ferramenta MCP. Funciona para qualquer host.

Requisito de CLA

Contribuições externas agora exigem a assinatura do CLA Individual. A verificação de CLA bloqueia merges no branch main.


Início Rápido

O nível gratuito não precisa de conta, chave de API ou nuvem. Instale o Prism e registre-o com todos os hosts MCP suportados já instalados na sua máquina:

npm install --global prism-mcp-server
prism connect

prism connect detecta Claude Code, Claude Desktop (macOS/Windows/Linux), Cursor, Gemini CLI e Codex. Use prism connect --all para segmentar todos os cinco, --host <name> para um único host, ou --dry-run para visualizar os arquivos que seriam alterados. Entradas existentes de prism e prism-mcp nunca são sobrescritas por padrão. --refresh atualiza apenas uma entrada criada anteriormente pelo Prism; entradas personalizadas permanecem intactas. Para Claude Code, tanto o comando padrão quanto --refresh também removem a entrada legada de escopo de projeto npx -y prism-mcp-server exata do .mcp.json ancestral efetivo após o registro nativo do usuário ser bem-sucedido. Nenhuma entrada de projeto personalizada ou de correspondência aproximada é alterada. Feche os hosts MCP de destino antes de um registro que não seja de simulação (dry-run) para que eles não possam editar sua configuração ao mesmo tempo.

A mesma conexão instala o contrato de orquestração local-first:

HostContenção gerenciada
Codexfeatures.multi_agent=false; um perfil de fallback Terra/low de 2 threads e profundidade 1 é mantido para reativação explícita
Gemini CLIexperimental.enableAgents=false
Claude CodeCLAUDE_CODE_SUBAGENT_MODEL=sonnet; instruções gerenciadas o reservam para fallback de último recurso
CursorPolítica canônica entregue por meio de instruções de inicialização do MCP
Claude DesktopPolítica canônica entregue por meio de instruções de inicialização do MCP

Todos os cinco recebem PRISM_AGENT_POLICY=local-first em sua entrada MCP gerenciada do Prism. Tarefas rotineiras usam o worker local com consciência de RAM; a distribuição nativa/em segundo plano não é o fluxo de trabalho padrão. session_task_route fornece uma dica de complexidade; prism_infer permanece o único proprietário da seleção de modelo e pensamento e pode escolher 27B quando suas portas de viabilidade suportarem isso.

Defina PRISM_STORAGE antes de executar prism connect para preservar uma escolha explícita de armazenamento nas entradas de host geradas. Isso não altera o roteamento do modelo local; o armazenamento em nuvem Synalux separadamente requer uma autorização ativa de memória em nuvem.

O registro do Codex preserva o conteúdo não relacionado de ~/.codex/config.toml, anexa apenas o bloco MCP do Prism marcado e atualiza apenas as chaves documentadas de recurso/agente local-first. CODEX_HOME é respeitado quando definido e já deve existir, correspondendo ao próprio contrato do Codex. Reinicie o CLI do Codex, a extensão do IDE ou o aplicativo de desktop do ChatGPT após conectar.

Reinicie o host conectado e seu agente agora tem memória apoiada por um banco de dados SQLite local (~/.prism-mcp/data.db). Consulte Configuração do IDE para configuração manual e caminhos específicos do host.

Opcional — frota de modelos local para roteamento de ferramentas offline. Baixe o que couber no seu hardware:

ollama pull dcostenco/prism-coder:2b    # 3.3 GB  · on-device / lowest RAM · sees images (100% on our routing suite)
ollama pull dcostenco/prism-coder:4b    # 3.5 GB  · verifier · sees images (100%)
ollama pull dcostenco/prism-coder:9b    # 6.7 GB  · default router · sees images (95.7%, reasons before answering)
ollama pull dcostenco/prism-coder:27b   # 16.8 GB · complex code / quality · text only (100%)

O Prism detecta automaticamente as tags Ollama com namespace (dcostenco/prism-coder:9b) e sem namespace (prism-coder:9b).

Os níveis 2b/4b/9b carregam uma torre de visão e aceitam capturas de tela por meio de prism_infer({ images: [...] }) — passe caminhos absolutos ou base64. Solicitações de imagem são recusadas em vez de respondidas às cegas quando nenhum nível (ou o classificador de segurança da Camada 1) consegue realmente ver a imagem, então um modelo somente texto nunca recebe um prompt sobre uma captura de tela que nunca recebeu. O 27b é somente texto.


O que faz

Seu agente de IA esquece tudo entre sessões. O Prism corrige isso — e adiciona verificação, detecção de desvio e coordenação multiagente por cima.

Mind Palace — memória persistente que sobrevive entre sessões

Cada conversa alimenta um armazenamento persistente. A próxima sessão carrega o contexto certo automaticamente — sem reexplicar.

Mind Palace Dashboard — full page: session ledger, memory analytics, lifecycle controls, background scheduler

O painel mostra o estado atual do seu projeto, TODOs pendentes, saúde da intenção e um grafo de conhecimento neural — tudo construído automaticamente a partir das sessões do seu agente.

Export — leia o registro fora do agente

session_export_memory grava sua memória como arquivos de texto simples que você pode ler, comparar (diff) e commitar. Nada passa por um modelo para produzi-los.

markdown   human-readable — drop it in a PR to show what the agent actually did
json       machine-readable — import into another Prism instance
vault      zipped Markdown with YAML frontmatter and [[wikilinks]] (Obsidian, Logseq)

Esta é a superfície para usar quando você quer responder "o agente verificou isso, ou está afirmando que verificou?" — o export é um registro que você revisa depois, em um diff ou pull request, em vez de uma visão ao vivo que você precisa abrir. Os mesmos dados estão disponíveis nos botões Export ZIP e Export Vault do painel.

Knowledge Graph — busca semântica + por palavras-chave + por grafo

Pergunte "o que decidi sobre o fluxo de autenticação no mês passado?" e obtenha uma resposta com citações, combinando similaridade vetorial, busca de texto completo e travessia de grafo.

Knowledge Graph — 190 keywords, 47 edges, 12 projects visualized

Session History — trilha de auditoria imutável

Cada sessão é registrada com arquivos alterados, decisões tomadas e TODOs. Pesquise, filtre e reproduza qualquer sessão passada.

Session Ledger — 93 sessions, 847 decisions logged across 12 projects

Inference Metrics — veja para onde vão seus tokens

Cada chamada de prism_infer rastreia qual modelo a manipulou (Ollama local vs. nuvem) e quantos tokens foram consumidos. Quando você salva uma sessão, o Prism mostra um resumo:

📊 Inference Metrics (this session):
  Total calls: 12 — Local: 10 (83%) | Cloud: 2 (17%)
  Prompt tokens: 7,840 evaluated / 8,420 submitted est.
  Completion tokens: 3,150
  Cloud tokens saved (est.): 11,570 — token volume handled locally instead of cloud
  Avg latency: 1,240ms
  By model:
    prism-coder:27b: 6 calls, 7,200 tokens, avg 1,800ms
    prism-coder:9b: 4 calls, 2,870 tokens, avg 620ms
    synalux-27b: 2 calls, 1,500 tokens, avg 1,100ms

Cloud tokens saved é a métrica honesta de roteamento — ela acumula apenas quando o Ollama local manipula uma chamada que, de outra forma, iria para a inferência em nuvem Synalux. Uma versão compacta aparece inline após cada 5ª chamada de prism_infer: 📊 local 10 (83%) · cloud 2 (17%) · ~11,570 tok · avg 1,240ms · 11,570 cloud tok saved.

Chamadas locais usam contagens reais de tokens do Ollama (prompt_eval_count / eval_count do Ollama); chamadas em nuvem usam estimativas de char/4. As métricas são rastreadas localmente — sem dependência de portal, sem variáveis de ambiente, funciona offline. Os dados por chamada também são encaminhados ao portal Synalux como análise de melhor esforço (independente da exibição).

Session Drift Detection

Sessões longas de agente podem se desviar do objetivo original. session_detect_drift compara o trabalho atual com o objetivo declarado e retorna on_track / minor_drift / major_drift para que o agente possa se autocorrigir.

Behavioral Verification — evite edições ruins antes que aconteçam

Agentes de IA aplicam padrões de listas de verificação sem entender o impacto no mundo real. A ferramenta verify_behavior desafia o agente com um cenário que ele deve responder antes de editar — forçando-o a pensar sobre o que o usuário final experimentará.

Agent: "I'll revert this kitchen display change"
Prism: "⚠️ Scenario: A cook sees a 3-item ticket. One item is voided.
        What should the cook see after the void?"
Agent: "The ticket stays visible with the remaining 2 items."
Prism: "Correct — your revert would hide the ticket entirely."

17 domínios integrados (cobrança, autenticação, pedidos, clínico, RH e mais). Domínios personalizados por workspace no Enterprise. Sem necessidade de hooks — funciona em qualquer cliente MCP.

Time Travel

Volte para qualquer estado de sessão anterior. Compare diffs entre versões. Restaure um estado bom conhecido com um clique.

Time Travel — version timeline with diff view and one-click restore

Cognitive Routing

Três tipos de memória, classificados automaticamente: episódica (o que aconteceu — logs de sessão, decisões), semântica (o que é verdade — fatos, arquitetura) e procedural (como fazer X — fluxos de trabalho, padrões). Quando você pesquisa, o roteador escolhe o armazenamento certo em vez de despejar tudo.

Multi-Agent Hivemind

Coordene vários agentes de IA trabalhando no mesmo projeto. Cada agente tem sua própria sessão, mas eles compartilham memória por meio do grafo de conhecimento. O Hivemind Radar mostra status do agente, tarefas e atividade em tempo real.

Hivemind Radar — 5 agents with real-time status, tasks, and activity feed

Neural Search

Pesquise em todas as memórias com resultados destacados, edição de grafo de conhecimento e métricas de densidade de memória.

Neural Search with Knowledge Graph Editor and Memory Density


Local-first e privacidade

O nível gratuito roda inteiramente na sua máquina. Os níveis pagos adicionam sincronização em nuvem por meio do portal Synalux, que é o que permite memória entre dispositivos e compartilhamento em equipe.

Nível local (gratuito)Nível em nuvem (pago)
Armazenamento de memóriaSQLite localPortal Synalux (com suporte a Supabase)
InferênciaModelos Ollama locaisModelos locais + fallback Gemini 3.6 Flash
Chaves de API necessáriasNenhumaChave de assinatura Synalux
Busca/raspagem na webNão incluídoVia portal Synalux (chaves do provedor no servidor)
O que sai da sua máquinaNadaTexto de memória, caminhos de arquivo, consultas de busca e prompts/rascunhos de inferência quando o recurso de nuvem é usado, enviados ao portal via TLS. Gravações de memória em nuvem são redigidas de PHI; inferência e solicitações de rota são transitórias.
Funciona offlineRecursos locais sim; sincronização/nuvem não

Manipulação de dados sensíveis. Gravações de memória em nuvem passam por redação automática (SSNs, datas de nascimento, números de prontuário médico, números de telefone, e-mails e identificadores clínicos são removidos antes do armazenamento). Inferência em nuvem e correção de rota enviam a solicitação via TLS para processamento e não a armazenam como memória do Prism; use route_guard: "local" ou o nível local para um isolamento total (air-gap). Enterprise inclui um Contrato de Parceria de Negócios HIPAA.


Modelos

A frota prism-coder usa Qwen3.5 para roteamento de ferramentas MCP E inferência geral. O 9B e o 27B são ajustados (fine-tuned); o 2B e o 4B usam Qwen3.5-4B padrão em diferentes níveis de quantização. O 27B obteve 100% em nossa suíte interna de 115 casos de roteamento de ferramentas e 100% em uma avaliação interna de codificação com 15 problemas, a custo de inferência $0. Estas são avaliações autoexecutadas, não submissões ao ranking BFCL.

prism_infer suporta três modos: route (roteamento de ferramentas, rápido), chat (conversa) e code (geração de código). O raciocínio é decidido pelo nível, não pelo modo: um nível que carrega MODEL_TIERS.prefersThinking também carrega um piso de minLocalTokens para que o raciocínio não possa sufocar a resposta, e apenas esses níveis usam blocos <think> (removidos antes de a resposta ser servida). O 9B usa; o 4B e o 2B não, porque nesses níveis o raciocínio consumia o mesmo orçamento de num_predict que a resposta precisava e retornava uma resposta vazia. Um think: true explícito ainda substitui, para um chamador que dimensionou max_tokens para isso. Se o modelo local falhar em uma verificação de qualidade (vazio, somente pensamento ou truncado), os níveis pagos escalam automaticamente para Gemini 3.6 Flash via portal Synalux.

Todo resultado em modo de rota é analisado localmente e verificado contra allowed_tools antes de chegar ao host. Chamadas malformadas ou não anunciadas tornam-se NO_TOOL. Com route_guard: "auto" (o padrão), os planos Standard e superiores também enviam um rascunho bem formado para uma das sete ferramentas treinadas do Prism — ou um rascunho não anunciado que pode precisar de correção — para a Synalux para correção determinística autenticada. Ferramentas de host personalizadas anunciadas permanecem locais. Defina route_guard: "local" para um caminho de rota totalmente no dispositivo.

ModeloTag OllamaTamanhoVisãoPrecisão de roteamento¹FunçãoNível de roteamento automático
Qwen3.5-4B Q4_K_Sprism-coder:2b3,3 GB100%No dispositivo / menor RAM (4,5 GiB livres)Gratuito
Qwen3.5-4B Q4_K_Mprism-coder:4b3,5 GB100%Verificador (5,2 GiB livres)Gratuito
Qwen3.5-9B (LoRA)prism-coder:9b6,7 GB95,7%²Roteador padrão / cavalo de batalha (9 GiB livres)Standard+
Qwen3.5-27B (LoRA)prism-coder:27b16,8 GB100%Código complexo / qualidade (21 GiB livres)Advanced+

¹ Autoexecutado em uma suíte estreita de 115 casos de seleção de ferramentas MCP, temperature: 0, medido pelo caminho de chamada que prism_infer realmente usa (/api/chat, o template de cada modelo). Isso diz que esses modelos escolhem a ferramenta certa em nossa própria avaliação, nada mais — não é uma medida de capacidade geral, nem um resultado de benchmark independente. Revisões anteriores desta tabela citavam 99,1–100% de um harness que criava manualmente um prompt ChatML com raw: true, ignorando o template; esses números descreviam um caminho que nenhum chamador exercita. Avisos completos de metodologia abaixo.

² O 9B é o único nível que raciocina antes de responder, e é medido com raciocínio habilitado: 95,7% com pensamento, 83,5% sem. prism_infer define isso por nível (MODEL_TIERS.prefersThinking), então os chamadores obtêm o caminho de 95,7% por padrão. O raciocínio custa aproximadamente 600 tokens, que é o motivo pelo qual o 9B também carrega um piso local de 2.048 tokens. Visão. As tags 2B/4B/9B incluem uma camada projector separada (0,68–0,92 GB) e leem imagens; a 27B é somente texto. prism_infer verifica a presença dessa camada e ignora um nível sem visão em vez de enviar uma imagem — se perguntado diretamente, um modelo somente texto ainda responderá com confiança sobre pixels que nunca recebeu. Testado contra os modelos reais em tests/integration/visionScreenshot.test.ts.

Esses níveis controlam a seleção automática de prism_infer, não o Ollama em si. Qualquer usuário pode executar qualquer modelo on-device baixado diretamente pelo Ollama em todos os planos.

Pesos: huggingface.co/dcostenco (GGUF público). A latência depende do tamanho do modelo e do hardware — veja Benchmarks para medir na sua própria máquina em vez de confiar em um número impresso.

Cascata

query → prism-coder:9b (local router, default)
      → prism-coder:4b (grounding verifier)
      → prism-coder:2b (iPhone / mobile, auto-selected by RAM)
      → prism-coder:27b (complex tasks, on demand)
      → Gemini 3.6 Flash cloud fallback (paid tiers, for max quality)

Verificação em Múltiplas Camadas

Saída de rotas e respostas baseadas em evidências usam portões separados. Cada nível recebe o parser de rotas local e o registro de ferramentas anunciadas; os planos Standard e superiores podem adicionar a correção determinística privada de rotas. A verificação de evidências é opt-in (ou automática quando evidências são fornecidas) e permanece separada da seleção de rotas.

CamadaO quêModeloCusto
L1Portão de segurança para crise/médicoNenhum (regex)0 ms
L3-RegistroValidação de envelope + aplicação de ferramentas anunciadas (todos os níveis)Nenhum0 ms
L3-RotaCorreção autenticada e determinística de rotas (Standard+)NenhumLatência de rede
L3-Tier0Fundamentação de inteiros (associação a conjuntos)Nenhum (determinístico)0 ms
L3-Tier2Verificador NLI (afirmação → ENTAILED/NEUTRAL/CONTRADICTED)prism-coder:2b~200 ms
L4Juiz de alucinação (opt-out para clínico)prism-coder:4b~500 ms

Falha fechada no caminho verificado: quando o verificador de fundamentação é executado, tempo limite, ambiguidade ou evidência ausente resultam em recusa, não em passagem. Se a correção de rota paga não estiver disponível, o registro local ainda bloqueia chamadas malformadas e não anunciadas e relata uma rota preservada permitida como degradada.


Benchmarks

Os números de benchmark publicados são resumos concisos de avaliação determinística interna. Avaliadores, casos exaustivos, matrizes exatas de roteamento por nível e saídas brutas de modelos permanecem no repositório privado de engenharia e não estão incluídos no pacote npm ou na árvore pública de fontes.

Avaliação de roteamento. Em um conjunto estreito de seleção de ferramentas, a frota alcançou resultados quase saturados em três sementes. Isso mede a confiabilidade do roteamento MCP offline, não a capacidade geral do modelo.

ModeloPrecisão de roteamentoNotas
prism-coder:2b (Q4_K_S)100%O 2B foi requantizado quando a visão foi lançada; o antigo 99,1% era Q3_K_M
prism-coder:4b100%
prism-coder:9b95,7% com raciocínio83,5% sem — o único nível onde isso difere
prism-coder:27b100%
Claude (fronteira, mesma avaliação)~98%Mais forte em tudo fora desta tarefa estreita

Medido através de /api/chat com o template de cada modelo — o caminho que prism_infer usa. temperature: 0, então as três sementes apenas reordenam a ordem dos casos e não podem discordar; revisões anteriores citavam esse acordo como confirmação, o que nunca foi.

Ganho de memória (LoCoMo-Plus, autopublicado). Um benchmark separado de diálogo de contexto longo (dcostenco/Locomo-Plus) mede o quanto a memória estruturada ajuda um modelo base a reter contexto de vários dias. Os resultados mostram grandes ganhos quando um modelo é pareado com a memória Prism em vez de rodar cru. Observe que este benchmark é escrito, executado e julgado por LLM por este projeto — trate-o como uma demonstração reproduzível, não um resultado independente de terceiros, e execute-o você mesmo com os comandos naquele repositório.

Avaliação de geração de código. Em uma pequena verificação determinística de execução de julho de 2026, o 9B local passou em 2/3 tarefas; o 27B local e o Gemini 3.6 Flash cada um passou em 3/3. Este é um sinal de regressão autopublicado, não um leaderboard independente ou uma alegação de equivalência ampla de modelos.

Escalonamento para Nuvem (cloud_fallback: true)

O Prism sempre tenta um modelo local elegível primeiro. Se o portão de qualidade detectar uma resposta vazia, truncada, somente-pensamento ou em loop, os níveis pagos podem tentar novamente a solicitação através do Gemini 3.6 Flash. O roteamento do nível gratuito permanece local e relata o resultado do portão de qualidade sem fazer uma chamada de nuvem.


Por que Prism Coder

vs assistentes de codificação com IA

Os recursos do produto e os planos mudam com frequência. A comparação abaixo é intencionalmente limitada a diferenças documentadas publicamente; não é uma alegação de que outro produto não possui um recurso não listado.

Legenda: ✅ documentado, ◐ condicional ou dependente do plano, — não comparado, ? verifique com o provedor.

RecursoPrism CoderGitHub CopilotCursorAmazon Q Developer
Inferência local/pesos abertos
Fluxo de trabalho offline??
Memória entre sessões◐ (docs)
Integração MCP✅ (docs)✅ (preços)
Roteamento de modelo local-primeiro
Verificações de desvio de sessão e fundamentação
Superfície de configuração✅ cinco hosts✅ CLI/IDE✅ editor/agentes✅ IDE/CLI (visão geral)
Modelo de preços✅ níveis Synalux◐ (preços)✅ gratuito + $19 Pro (preços)

Termos específicos de conformidade, contratuais e de preços do Prism estão documentados no acordo de serviço Synalux. Não infira o status de HIPAA, BAA ou tratamento de dados de um concorrente a partir desta tabela.

vs ferramentas locais de IA / memória

RecursoPrism CoderOllamaLM StudioMem0Zep
Cascata de inferência local✅ runtime✅ app
Fallback para nuvem✅ opcional◐ dependente do provedor
Memória persistente◐ contexto de projeto
Integração de conhecimento/ferramentas✅ MCP + ingestão◐ APIs◐ integrações✅ SDK/API✅ SDK/API
Servidor MCP✅ nativo◐ integração de cliente◐ integração de cliente◐ integração de cliente

Preços

Os níveis publicados atuais do Prism estão listados abaixo. Os preços dos concorrentes são dependentes de uso e plano, então consulte o provedor diretamente: GitHub Copilot, Cursor, e Amazon Q Developer.


Planos

Todos os modelos on-device são gratuitos para executar localmente via Ollama em todos os níveis. Uma assinatura controla recursos de nuvem, tetos mais altos de roteamento automático e limites aumentados. Os modelos on-device rodam através do seu Ollama independentemente do plano; o teto se aplica apenas à inferência em nuvem e ao roteamento automático de prism_infer.

GratuitoStandard $19/mêsAvançado $49/mêsEnterprise $99/mês
Assentos11até 5até 25
Teto automático de prism_inferaté 4baté 9baté 27baté 27b
Inferência em nuvem--✅ (prioridade)
Coder em Nuvem (Web IDE)--✅ (prioridade)
Busca em nuvem--
Máx. tokens de saída5121.0242.0484.096
Fallback para nuvem--Gemini 3.6 FlashGemini 3.6 FlashGemini 3.6 Flash (prioridade)
Verificador de fundamentação (verificação de fatos da saída de IA)--
Sincronização de memória (nuvem)--
Memória de conhecimento / sessãolimitadailimitadailimitadailimitada
Painel de análises--
HIPAA BAA------

Teste gratuito de 14 dias nos planos pagos. 25+ assentos: contate vendas


Como os agentes usam

O Prism expõe mais de 40 ferramentas MCP. O loop central de memória:

FerramentaO que faz
session_bootstrapSaudação de primeira virada sem hook e contexto configurado no painel
session_load_contextRecarga explícita de projeto ou fallback de inicialização de servidor mais antigo
session_save_ledgerAnexa uma entrada imutável de log de sessão
session_save_handoffSalva o estado ativo para a próxima sessão
knowledge_searchBusca semântica + por palavras-chave em todas as memórias
query_memory_naturalPerguntas e respostas com prioridade de memória e fallback fundamentado em fontes ativas nos níveis pagos
session_detect_driftDetecta quando uma sessão se desviou do seu objetivo
verify_behaviorDesafio de cenário pré-edição — evita mudanças ruins antes que aconteçam
knowledge_ingestEnsina ao Prism um código ou documento
prism_inferInferência local-primeiro (modos rota/chat/código, pensamento, escalonamento para nuvem)
inference_metricsDelegação de sessão ou estatísticas locais/nuvem persistidas do painel MCP + VS Code

query_memory_natural — memória primeiro, fontes atuais quando necessário

Faça uma pergunta em linguagem natural em vez de escolher ferramentas separadas de memória, busca, raspagem e inferência. O Prism busca primeiro sua memória acumulada de projeto. Se nenhuma evidência útil existir, os níveis pagos executam uma busca Synalux limitada (Firecrawl, fundamentação de busca do Gemini 3.6 Google Search, depois fallback legado Brave), resolvem e preservam as URLs das fontes, raspam a página principal e pedem a um modelo local Prism Coder seguro para RAM que responda com base nessa evidência. O verificador Gemini 3.6 do nível pago verifica o rascunho antes de ser servido. Conteúdo clínico reservado ou incerto nunca entra no caminho local fundamentado na web; ele segue o limite de segurança nuvem-ou-recusa do Prism.

prism_infer — inferência local-primeiro com escalonamento para nuvem

prism_infer({
    prompt: "Write a binary search in Python",
    mode: "code",        // "route" | "chat" | "code"
    think: true,          // enable <think> reasoning (default: true for chat/code)
    model_ceiling: "27b", // use the quality tier
})
// → 27B generates code locally ($0), with thinking for quality
// → If quality gate fails + paid tier → auto-escalate to Gemini 3.6 Flash
ModoPensarModeloCaso de uso
routeDesligado (rápido) — exceto um nível que raciocina melhor, ex. 9B9B padrãoRoteamento de ferramentas MCP
chatPor nível: ligado para 9B, desligado para 4B/2B27B preferidoConversa, raciocínio
codePor nível: ligado para 9B, desligado para 4B/2B27B preferidoGeração de código, depuração

Pensar é uma propriedade de nível, não de modo. Níveis com prefersThinking também declaram um piso de minLocalTokens que reserva orçamento para a resposta; níveis sem ele gastam toda a permissão de num_predict dentro de <think> e retornam nada. Passe think explicitamente para substituir de qualquer forma.

Assinaturas TypeScript completas estão em src/tools/; arquitetura em docs/ARCHITECTURE.md.

inference_metrics — veja seu uso de modelo local sob demanda

Chame inference_metrics a qualquer momento no meio da sessão para ver quantas chamadas prism_infer rodaram localmente vs nuvem. Use period: "all" para importar atomicamente o spool do painel Synalux VS Code e incluir sua taxa de serviço local nos totais persistidos:

📊 Inference Metrics — local-model delegation (this session):
  Total calls: 5 — Local: 5 (100%) | Cloud: 0 (0%)
  Tokens: 1,240 in + 380 out = 1,620 total
  Avg latency: 420ms
  By model:
    prism-coder:27b: 3 calls, 1,100 tokens, avg 520ms
    prism-coder:9b: 2 calls, 520 tokens, avg 270ms

O mesmo bloco também aparece automaticamente nas respostas de session_save_ledger e session_save_handoff no final da sessão.

Nota: A visualização padrão da sessão rastreia a delegação de prism_infer deste processo MCP. A visualização de todos os tempos combina chamadas MCP persistidas com inferência do painel Synalux VS Code. Nenhuma visualização inclui o gasto de tokens do próprio agente host; use o relatório de uso nativo desse host quando disponível.

Delegação de modelo local (padrão)

O Prism roteia trabalho limitado qualificado — classificação em massa, extração de campos, formatação mecânica, geração de testes e tarefas semelhantes — para modelos locais Ollama antes de qualquer subagente nativo do host. O agente verifica gate_outcome, valida o resultado e continua no thread atual do host quando o trabalhador local está indisponível, recusou ou degradou.

Passe a memória do projeto quando a subtarefa depende de trabalho anterior:

{
  "prompt": "Generate the bounded regression-test cases.",
  "project": "prism-mcp",
  "context_depth": "standard",
  "conversation_id": "<from session_bootstrap>",
  "mode": "code",
  "cloud_fallback": false,
  "escalation": "report"
}

Omita context_depth para usar a configuração do painel. Desative o alternador de Roteador de Tarefas do painel ou defina PRISM_TASK_ROUTER_ENABLED=false para uma exclusão explícita.

Proteções:

  • Local por padrão — uma exclusão explícita do operador é preservada
  • Nunca delega: código/texto que vai para o usuário, lógica de segurança/proteção, planejamento/raciocínio, qualquer coisa onde uma queda silenciosa de qualidade não seja óbvia
  • Sempre verifica: verifica quality_gate_failed e used_cloud antes de confiar na saída local
Como o Prism sobrevive à compactação de contexto A janela de contexto do LLM é tratada como espaço de rascunho efêmero; o estado durável vive no armazenamento persistente (SQLite localmente, o portal na nuvem). Cada sessão começa com uma chamada obrigatória sem argumentos a `session_bootstrap`, para que o Prism aplique o projeto do painel e a configuração rápida/padrão/profunda antes de o agente escrever uma resposta. Quando um projeto excede um limite (padrão de 50 entradas), `session_compact_ledger` resume entradas antigas em um rollup, arquiva suavemente os originais e os vincula no grafo. Veja [`docs/COMPACTION.md`](docs/COMPACTION.md)

CLI

prism load <project>      # load session context
prism save                # save ledger + handoff
prism search <query>      # search code across repos (exact / regex / symbol / semantic)
prism review <files...>   # AI code review — security, performance, style
prism scan <files...>     # security scan — secrets, licenses, Dockerfile
prism browser ...         # persistent local browser testing and structured automation
prism push                # push local SQLite to the cloud backend
prism register-models     # alias dcostenco/prism-coder:* -> prism-coder:*

prism browser — teste de navegador local

O pacote npm inclui o executor de navegador Python/Playwright do Prism; não é necessário um aplicativo Prism Browser ou DMG separado. Ele adiciona uma CLI estável voltada para agentes em torno do Playwright, com perfis nomeados reutilizáveis, sessões pipe/REPL de múltiplas ações, logs de auditoria locais editados e scripts de pré-carregamento protegidos para aplicativos locais. Use o modo pipe ou REPL quando várias ações precisarem compartilhar uma sessão de página:

printf 'open http://127.0.0.1:3000\nwait-for #app\nread-dom #app\n' | \
  prism browser --headless --local-only pipe

Aplicativos locais podem carregar auxiliares de teste repetíveis de pré-navegação com --inject ./tests/browser-init.js. Injeção personalizada requer --local-only; navegação pública e solicitações não-loopback são rejeitadas nesse modo. Instale o runtime local uma vez com pip3 install playwright playwright-stealth e python3 -m playwright install chromium.

Use Playwright puro para suítes autoradas que precisam de suas APIs completas de asserção, rastreamento, fixtures e workers paralelos. Use prism browser quando um agente de IA precisar de uma sessão de navegador local pequena, persistente e auditável por meio de uma CLI consistente. Os patches de compatibilidade são de melhor esforço; não são uma garantia de bypass de CAPTCHA. Veja teste local do Prism Browser para a superfície de comandos, o modelo de segurança e os casos de aceitação verificados.

prism search — busca semântica de código

prism search — semantic code search with relevance scores

prism review — revisão de código com IA e verificações HIPAA

prism review — AI code review with security and HIPAA findings

prism scan — scanner de segurança para segredos, Dockerfiles, licenças

prism scan — security scan finding secrets and container issues


Ferramentas complementares

O Prism funciona junto com estas ferramentas — use a que melhor se adequa ao seu fluxo de trabalho.

Web IDE — Prism Coder

Uma IDE baseada em navegador em synalux.ai/coder. Importe qualquer repositório do GitHub e obtenha:

  • Editor Monaco com múltiplas abas, visualização dividida, realce de sintaxe e atalhos de teclado do VS Code
  • Node.js no navegador via WebContainer (seu código roda no sandbox do navegador, não em um servidor)
  • Terminal integrado — shell WebContainer no navegador; PTY de servidor opcional via WebSocket quando conectado a um servidor de desenvolvimento
  • Modo Agente de IA — descreva uma tarefa e o agente cria arquivos, executa verificações de tipo e valida
  • Controle de versão — commit, branch, push/pull, stash, blame, gerenciamento de tags
  • Live Share — edição colaborativa em tempo real com links de sessão
  • Depurador Node.js via Chrome DevTools Protocol
  • Executor de tarefas (compatível com tasks.json do VS Code), painel de Problemas (diagnósticos do Monaco)
  • i18n em 12 idiomas — localização completa da interface

Prism Coder IDE — Agent Mode creating a component with auto-fix and type-checking

Prism Coder IDE — Live Share with team members and real-time cursor tracking

Os planos Standard+ incluem IA na nuvem e limites de taxa mais altos. O nível gratuito funciona com Ollama local. A execução de código usa o WebContainer no navegador por padrão; o Live Share e o terminal PTY opcional conectam-se a servidores externos quando habilitados explicitamente.

Extensão VS Code — Synalux

IA com memória aumentada dentro do VS Code, com recursos de gerenciamento de prática clínica. Instale pelo marketplace:

code --install-extension synalux-ai.synalux

VS Marketplace

Chat de IA, entrada por voz, gerador de notas SOAP, colaboração em equipe e videochamadas — tudo dentro do VS Code. Roteia pelo Ollama local por padrão; nuvem nos níveis pagos.

Detalhes do recurso
  • IA: Participante de chat (@synalux), pipeline multiagente, entrada por voz, troca de modelos, 10 tons
  • Clínico: Gerador de notas SOAP, acesso baseado em funções, assinatura de documentos, painel de pacientes
  • Colaboração: Chat em equipe, DMs, videochamadas, painel de clientes, construtor visual, DevContainers
  • Privacidade: Ollama local por padrão. preferLocal=true tenta o local primeiro. BAA empresarial disponível.

Prism AAC

Aplicativo de comunicação para usuários não falantes, alimentado pela frota prism-coder no dispositivo para previsão de frases. macOS / iOS / web.

Veja github.com/dcostenco/prism-aac


Git Hooks (Portable)

Hooks de segurança pre-commit e pre-push que funcionam com qualquer editor, qualquer ferramenta de IA e CLI direta. Sem dependência do Claude Code.

# Install in all repos (one-time)
bash hooks/install.sh

# Or install manually in a single repo
cp hooks/pre-commit .git/hooks/pre-commit && chmod +x .git/hooks/pre-commit
cp hooks/pre-push .git/hooks/pre-push && chmod +x .git/hooks/pre-push
HookO que verificaModo
pre-commitCódigo morto, serviços órfãos, código scaffold, autenticação ausentePRECOMMIT_MODE=advisory|block|off
pre-pushAuditoria de segurança com 19 regras (SSRF, injeção de SQL, segredos, IDOR, etc.)PREPUSH_MODE=advisory|block|off

O modo padrão é advisory (avisar mas permitir). Defina *_MODE=block para aplicação rígida. Os hooks procuram scripts de auditoria completos no repositório primeiro (hooks/lib/), depois o fallback ~/.claude/hooks/, e então verificações inline mínimas.


Self-hosting (Enterprise)

Execute a pilha completa de modelos no seu próprio hardware — sem nuvem, soberania total dos dados.

Requisitos: Mac M2 Pro+ (48 GB recomendado) ou Linux + GPU NVIDIA, além de Ollama.

ollama pull dcostenco/prism-coder:9b       # default router
export LOCAL_LLM_URL=http://localhost:11434

O roteamento auto-hospedado permanece local: 9b → 4b em desktop/servidor e 2b em mobile/iPhone, com 27B disponível quando instalado e seguro para RAM. Os níveis pagos hospedados pela Synalux podem usar o Gemini 3.6 Flash como fallback na nuvem. Para iOS ou outra máquina na mesma rede, execute OLLAMA_HOST=0.0.0.0 ollama serve e aponte LOCAL_LLM_URL para o IP do host.


Referência de configuração

VariávelFinalidadePadrão
PRISM_STORAGElocal / synalux / supabase / autoauto
PRISM_SYNALUX_API_KEYChave do portal do nível pago (synalux_sk_...)-- (local se não definido)
LOCAL_LLM_URLEndpoint do Ollamahttp://localhost:11434
PRISM_FORCE_LOCALForçar SQLite local independentemente das credenciaisfalse
TELEMETRY_WRITE_TOKENToken de análise do portal (opcional — a exibição de métricas funciona sem ele)--

Sem variáveis definidas, o Prism roda totalmente local. Com uma assinatura ativa de memória na nuvem, defina PRISM_SYNALUX_API_KEY (e deixe PRISM_STORAGE=auto) para usar o backend da Synalux; um nível gratuito confirmado pelo portal permanece no SQLite local.


Testes

npm test                 # full suite (vitest) — 95 files, 2841 tests
npm test -- --coverage   # coverage report

A cobertura abrange recuperação HRR, ingestão de conhecimento, a cascata de inferência e o verificador de fundamentação, métricas de inferência, allowlist de telemetria, gate de delegação, compactação, o seletor de modelos e round-trips de armazenamento.


Migração: local para nuvem

Para mover o histórico do nível gratuito para o portal pago:

node scripts/migrate-local-to-portal.mjs --dry-run        # preview, no network
PRISM_SYNALUX_API_KEY=synalux_sk_... \
  node scripts/migrate-local-to-portal.mjs                # push ledger + handoffs

Ele lê ~/.prism-mcp/data.db e envia (POST) entradas para o portal. As entradas do ledger são somente anexação e deduplicadas no servidor; as transferências usam last-write-wins por projeto. Reexecutar no mesmo banco de dados é seguro. Esta é uma migração única, não um daemon de sincronização — depois dela, defina PRISM_STORAGE=synalux (ou deixe em auto).


Licença e níveis

Este repositório (o cliente MCP Prism) é licenciado sob Apache-2.0.

Gratuito (sem conta)

RecursoDetalhes
Inferência localO uso direto do Ollama é irrestrito; o roteamento automático prism_infer seleciona até 4B
Memória de sessãoSessões persistentes, transferências, ledger — tudo em SQLite local
Busca de conhecimentoBusca semântica no histórico de sessões
SkillsTodas as skills disponíveis localmente (execute sync-skills.sh para popular)
Detecção de driftLembretes GATE 5 no servidor

Pago (assinatura Synalux)

Tudo do nível Gratuito, mais:

RecursoDetalhes
Teto de modeloRoteamento automático prism_infer até 27B + fallback Gemini 3.6 Flash quando o local não está disponível
Roteamento de skillsO portal resolve quais skills carregar com base no seu projeto e prompt
Memória entre dispositivosSincronização na nuvem Supabase — sessões sobrevivem entre máquinas
Verificador de fundamentaçãoVerificação L3 NLI nas saídas do modelo
Recursos de equipeHivemind multiagente, colaboração em workspace

O nível pago adiciona roteamento inteligente — o portal Synalux determina quais skills são relevantes para o seu projeto e prompt atuais, para que seu agente receba expertise de domínio (padrões de stripe, protocolos de treinamento, padrões clínicos) em vez de carregar tudo. Usuários gratuitos com o repositório podem executar sync-skills.sh para popular todas as skills localmente; o roteamento pago adiciona seleção ciente do projeto e do prompt.

  • Contribuições exigem a assinatura do CLA.
  • "Prism" e "Synalux" são nomes comerciais da Synalux LLC; a licença Apache não concede direitos de marca registrada (veja §6 da licença).

Mudança de licença (v20)

A partir deste lançamento, o prism-mcp é relicenciado de AGPL-3.0 para Apache-2.0. Versões anteriores permanecem sob AGPL-3.0. Forks existentes mantêm todos os direitos recebidos sob a licença original.

ProdutoLicença
prism-mcp-server (este repositório)Apache-2.0
Extensão VS Code (synalux-ai.synalux)BSL-1.1
Web IDE (synalux.ai/coder)Termos de Serviço da Synalux
Prism AACApache-2.0

Este repositório é licenciado sob Apache-2.0. Os recursos de nuvem (inferência hospedada, memória entre dispositivos, recursos de equipe) são fornecidos pelo serviço de nuvem da Synalux sob termos separados.

© 2026 Synalux, LLC.