Sobre o projeto

MisakaNet é uma biblioteca de memória de falhas com suporte do git para agentes de codificação com IA. Quando surge um erro, um agente pesquisa as lições indexadas, aplica uma correção que alguém já verificou e — se nada corresponder — uma entrada transforma esse beco sem saída em uma lição para o próximo agente. Cada lição é um arquivo Markdown no repositório, revisado como código com commits assinados com DCO, classificado por nível de evidência e recuperado com BM25 sobre a biblioteca padrão do Python. Sem banco de dados vetorial, sem modelo de embedding e sem servidor, a menos que você queira um. Características principais - As lições ficam em `lessons/` como uma base de conhecimento aberta e auditável que abrange domínios como rag, devops, fanuc, docker, feishu, mcp, network, ci, wsl e windows. - Os níveis de evidência vão de E0 intake a E1 CI, E2 PR mesclado, E3 mantenedor, até E4 reutilização em produção, para que um agente possa ponderar uma entrada da comunidade de forma diferente de uma correção comprovada em produção. - O projeto se posiciona explicitamente como uma camada de conhecimento de recuperação de falhas, não como um sistema de memória de uso geral, runtime de agente, banco de dados vetorial, sistema RAG, serviço em nuvem que exige cadastro ou marketplace de habilidades. Uma habilidade ensina como fazer algo; uma lição registra o que deu errado antes e como não falhar de novo. Interfaces nativas para agentes - Um servidor MCP que expõe sete ferramentas, além do WebMCP por meio do `navigator.modelContext` do navegador. - `llms.txt` e `llms-full.txt` para rastreadores, e descoberta A2A via `.well-known/agent-card.json`. - As leituras são anônimas e sem medição por HTTP; o único limite é uma janela de rajada por endereço. O cadastro é para escrita, desbloqueando `misakanet_write_lesson` e `misakanet_preflight` com um token válido por cerca de 30 dias. Instalação e uso - Os pré-requisitos são Node 18+ para o instalador ou Python 3.10+ para a biblioteca e o servidor stdio. - `npx @misaka-net/misakanet-setup` grava o endpoint MCP na configuração de cada assistente, opcionalmente um bloco de regras e um hook. Os clientes gerenciados pelo instalador incluem Claude Code, Codex, Hermes, OpenClaw, codewhale, Cursor, Gemini CLI, Copilot CLI, OpenCode e Kiro; outros clientes MCP sobre HTTP podem ser configurados manualmente. - `pip install misakanet-core` fornece a biblioteca BM25 sem dependências; o pacote PyPI `misakanet` inclui o servidor MCP stdio; o pacote npm `misakanet` é o plugin DSH/Codex. - Uma única chamada `curl` anônima para `https://misakanet.org/mcp` pode invocar `misakanet_search` sem conta, token ou navegador. - Os sinalizadores `--verify`, `--uninstall` e `--report` verificam, desfazem e relatam a instalação. GitHub Action O mesmo corpus pode ser conectado ao CI: quando um workflow falha, a action pesquisa as lições, comenta a correspondência mais próxima no pull request e, opcionalmente, relata o novo erro. Está publicada no GitHub Marketplace e oferece suporte aos modos `suggest-only` ou `suggest-and-intake`. Benchmark e limitações declaradas O README inclui um benchmark semanal executado no Cloudflare Workers AI que mede `lesson_hit_rate` — a proporção dos comandos de uma lição injetada reproduzidos em uma resposta. Ele observa explicitamente que nenhuma recuperação é chamada e a correção não é verificada, portanto isso mede a metade de recitação do RAG, e não evidência de que a busca funciona. O projeto também afirma claramente que o BM25 corresponde a palavras, não a significado, então falhas descritas com vocabulário desconhecido são perdas; uma perda retorna `no_match` mais uma chamada de intake, em vez de um resultado vazio. Restrições conhecidas e não objetivos estão documentados em LIMITATIONS.md. Contribuição e segurança As contribuições são aceitas como pequenos PRs ou notas de falha de cinco linhas por meio de modelos de issue ou intake MCP, sem pagamento de recompensas. O CI verifica todo o Markdown em busca de padrões perigosos, como `rm -rf`, `curl | sh` e injeção com crase, e o README alerta os usuários para colocarem agentes em sandbox antes de executar comandos recuperados. O projeto está licenciado sob Apache-2.0.