Claude Code Buddy (CCB)

Adicione memória persistente de projeto e roteamento inteligente de tarefas ao Claude Code. Pare de repetir contexto a cada sessão - Claude finalmente lembra sua arquitetura, decisões e padrões para sempre. 100% local, 17 ferramentas MCP.

Documentação

🌐 English | 繁體中文

MeMesh

Uma camada de colaboração local para agentes de codificação de IA.
Um único arquivo SQLite. Sem Docker. Sem necessidade de nuvem.

npm MIT Node MCP


O que faz

Alternar entre sessões ou agentes de codificação pode significar repetir uma decisão, explicar a mesma arquitetura ou revisitar uma correção que já foi encontrada.

O MeMesh permite que agentes compartilhem memória e troquem mensagens localmente. Seus principais usos são: carregar suas preferências, decisões e lições entre sessões; enviar trabalho, perguntas, progresso e resultados entre agentes; e manter um registro de onde o trabalho parou para que uma sessão posterior tenha contexto para verificar. Claude Code e Codex são exemplos principais; Cursor e outros clientes MCP podem usar as integrações documentadas. A captura e entrega automáticas dependem da integração do host abaixo.

   you work with the agent
            |
            v
   +------------------+      +------------------+
   |  Claude Code     |      |  Claude Code     |
   |  capture         |      |  recall          |
   |  sessions,       | ---> |  at session      |
   |  commits, fixes  |      |  start and       |
   |  (automatic)     |      |  before edits    |
   +------------------+      +------------------+
            |                         ^
            v                         |
   +----------------------------------------+
   |  ~/.memesh/knowledge-graph.db           |
   |  decisions, lessons, links between them |
   +----------------------------------------+
  • Captura, recall, lembretes e salvaguardas no momento certo. O MeMesh inclui 10 hooks (dez comandos de hook) em suas integrações com Claude Code e Codex: nove hooks do Claude Code são executados no início da sessão, antes de edições de arquivos, após git commit, após um plano ser aprovado ou uma pergunta respondida, quando o Claude para (duas vezes: capturando conhecimento da sessão e bloqueando a parada uma vez por mensagem de agente pendente), antes da compactação de contexto, quando você diz "lembre disso" (5 idiomas) e antes de um comando arriscado que repete uma lição aceita. Os hooks de plano/pergunta e "lembre disso" apenas lembram o agente de chamar remember; o décimo comando lida com Codex SessionStart e SessionEnd para registrar e encerrar uma sessão CLI Codex comum elegível.
  • Uma memória para todas as suas ferramentas. Uma decisão armazenada no Claude Code está disponível para Codex ou Cursor no dia seguinte.
  • Agentes podem deixar mensagens uns para os outros. Uma caixa de entrada durável sobrevive a reinicializações; no macOS ou Linux, uma thread CLI Codex comum com o plugin MeMesh pode manter uma janela de fila nativa pós-turno limitada e consumir a mensagem aceita quando essa mesma thread for retomada.
  • Mantenha um registro de trabalho. O Claude Code pode salvar sua resposta substantiva mais recente para a próxima sessão no mesmo projeto. Use task_state para registrar uma meta declarada, próximo passo, bloqueio ou conclusão, e message para enviar locais de evidências ou perguntas de acompanhamento a um destinatário exato.
  • Um painel para navegar por tudo: 4 abas, 11 idiomas, em http://localhost:3737/dashboard.

Funciona com

PlataformaComoNotas
Claude CodePlugin: hooks, ferramentas MCP, habilidade /memeshCaptura e recall automáticos completos
Codex CLIPlugin ou servidor MCP (memesh-mcp)Instalação de plugin zero-config ou codex mcp add memesh -- memesh-mcp
Gemini CLIServidor MCP (memesh-mcp)gemini mcp add -s user memesh memesh-mcp
Cursor, Cline e outros clientes MCPServidor MCP (memesh-mcp)Aponte o cliente para memesh-mcp
Hermes AgentPlugin nativo de provedor de memóriadocs/platforms/hermes-agent.md
OpenClawPlugin nativo de memóriaSomente código-fonte; não publicado ou testado ao vivo: docs/platforms/openclaw.md
Seus próprios scripts e aplicativosAPI HTTP de memesh servedocs/platforms/universal.md
ChatGPT, Gemini web e outros chats hospedadosAPI HTTP por meio de uma ponte local que você executadocs/platforms/README.md

Os nove hooks do Claude Code fornecem captura automática, recall, lembretes e salvaguardas. O plugin Codex carrega o mesmo arquivo de hook: uma vez que o Codex pode executar os hooks do plugin, seu hook SessionStart injeta o mesmo bloco de memória e inicia o companheiro de mensagens para threads CLI comuns elegíveis. Quais dos outros hooks disparam sob Codex ainda não foi verificado. Com o plugin Codex, chame briefing somente quando esse bloco estiver ausente; em clientes somente MCP, chame briefing no início da sessão. Use recall para perguntas específicas.

Recall e captura são locais e determinísticos: busca SQLite FTS5, ferramentas de memória explícitas e hooks baseados em regras. Esta versão não configura nem chama um provedor de LLM, embedding ou vetor. Configurações de provedor aposentadas de versões anteriores permanecem no disco, mas são ignoradas; memesh doctor nomeia as chaves de nível superior sem ler ou imprimir seus valores.


Instalação

Instalações de plugin e o CLI global npm compartilham um único banco de dados. A maioria dos usuários do Claude Code quer o plugin mais o CLI; o Codex pode usar seu próprio plugin ou o servidor MCP do CLI.

   Claude Code chat                Terminal, Codex, Cursor
         |                                  |
         v                                  v
   +-----------------+              +------------------+
   | A: plugin       |              | B: npm global    |
   | /plugin install |              | npm install -g   |
   | hooks + tools   |              | memesh CLI       |
   | + /memesh skill |              | + memesh-mcp     |
   +-----------------+              +------------------+
         |                                  |
         +---------------+------------------+
                         v
            ~/.memesh/knowledge-graph.db
               (one file, both paths)

A. Dentro do Claude Code (hooks, ferramentas e a habilidade /memesh são configurados para você):

/plugin marketplace add PCIRCLE-AI/memesh
/plugin install memesh@pcircle-memesh

Reinicie o Claude Code. Uma linha ◉ MeMesh aparece no topo da próxima sessão.

B. Em um terminal (requer Node 22.13+):

npm install -g @pcircle/memesh
memesh doctor          # checks local install health and prints fixes
memesh install-hooks   # only if you skipped A: wires Claude Code, keeps your own hooks

Para uma instalação Codex zero-config, execute codex plugin marketplace add PCIRCLE-AI/memesh e codex plugin add memesh@pcircle-memesh. A alternativa manual é codex mcp add memesh -- memesh-mcp. Para Cursor, adicione { "mcpServers": { "memesh": { "command": "memesh-mcp" } } } a ~/.cursor/mcp.json. O banner do médico do painel pode aplicar os dois reparos locais recuperáveis que sabe verificar; ele nunca altera arquivos apenas porque a página foi aberta.

O plugin não instala o CLI. Após /plugin install, digitar memesh em um terminal diz command not found até que você também execute npm install -g @pcircle/memesh. Se você usa apenas o chat do Claude Code, somente A é suficiente.

Atualização: Plugin do Claude Code: memesh upgrade-plugin (ou npx @pcircle/memesh upgrade-plugin sem o CLI). Plugin Codex: codex plugin marketplace upgrade pcircle-memesh && codex plugin add memesh@pcircle-memesh. CLI global npm: memesh update. Instalando com um agente de IA? Aponte-o para llms-install.md.


Começando

memesh remember "Login uses OAuth 2.0 with PKCE"
memesh recall "login"
# -> finds the PKCE decision

memesh briefing        # what the agent knows about this project
memesh serve           # starts the local server and prints the dashboard URL

Mantenha memesh serve em execução e abra a URL impressa. No Claude Code, você nem precisa do terminal para ferramentas de memória: diga "lembre disso" no chat e, quando houver algo para mostrar, o briefing chega sozinho no início da sessão.

Duas coisas que valem a pena saber quando você tiver memórias:

  • forget arquiva uma memória em vez de excluí-la. Uma memória mais recente pode substituir uma mais antiga.
  • Um agente em execução pode chamar work_package para preparar um resumo de calendário ou turnos visíveis limitados da transcrição mais recente elegível do Claude Code. O modo de transcrição requer a raiz de arquivo MCP única correspondente do cliente; raízes ausentes ou ambíguas e falhas de varredura limitada falham de forma segura. O envio retém turnos de origem editados e apenas prepara a revisão humana pendente; agentes não podem aplicar ou rejeitar, e o MeMesh não chama nenhum provedor. Os limites exatos de descoberta estão na referência da API.

Para um handoff, o hook Stop do Claude Code salva sua resposta substantiva mais recente como uma nota de projeto substituível. Uma nota recente e confiável aparece à frente das memórias classificadas na próxima sessão do Claude Code e em briefing em qualquer cliente; é um lembrete para verificar, não um reinício garantido de tarefa. Registre apenas o estado de trabalho que você realmente conhece com task_state e envie locais de evidências ou perguntas de acompanhamento com message (guia de mensagens entre agentes). Uma mensagem armazenada está disponível para recuperação, mas entrega, busca e aceitação de fila nativa não significam que o destinatário concluiu a tarefa.

No briefing, decisões recentes do projeto têm prioridade sobre atividade rotineira, e até cinco lições do projeto são selecionadas separadamente. O handoff, o estado de tarefa exibido, memórias classificadas, memória global em full e o índice injetado compartilham um limite de bloco de memória de 4000 caracteres. Se o índice disser que mais memórias foram omitidas, use recall; memesh briefing --index mostra o índice independente sob seus limites separados de 40 linhas/3072 bytes.

Referência completa de comandos e ferramentas: docs/api/API_REFERENCE.md. Como é construído: docs/ARCHITECTURE.md. Contribuindo: CONTRIBUTING.md.


Todas as 12 Ferramentas de Memória e Coordenação

FerramentaO que faz
work_packagePrepara um resumo de calendário não confiável limitado ou pacote de transcrição do Claude Code sob uma raiz de workspace MCP correspondente; envia um resultado estrito para revisão humana pendente ou adia sem alteração durável. O envio de transcrição retém turnos de origem editados limitados; nenhum caminho de arquivo, raciocínio oculto, provedor, embedding ou dado de vetor é exposto.
rememberArmazena conhecimento como observações, relações e tags — ou passe texto livre como note e o título, observações e nome são derivados; replace corrige uma memória no lugar
recallBusca local FTS5 com pontuação multifatorial (relevância, recência, frequência, confiança, impacto de recall)
forgetArquiva suavemente (nunca exclui) ou remove observações específicas
exportFaz backup, migra ou move memórias como JSON entre agentes compatíveis
importImporta memórias com estratégias de mesclagem (pular / sobrescrever / anexar)
learnRegistra lições estruturadas de erros (erro, causa raiz, correção, prevenção)
task_stateLê ou registra onde o trabalho está — meta, próximo passo, bloqueio, o que acabou de ser concluído
briefingA topologia de trabalho montada para qualquer cliente MCP — um handoff de projeto elegível precede memórias classificadas em todos os níveis; minimal então mostra as decisões, lições, conhecimento e atividade recente deste projeto, standard adiciona estado de tarefa fresco e um índice de memória durável limitado, e full adiciona outros projetos e memória global; project + recipient exatos podem mostrar apenas as entregas não buscadas daquele destinatário
user_patternsAnalisa seus padrões de trabalho — agenda, ferramentas, pontos fortes, áreas de aprendizado
improvementPrepara uma melhoria de produto vinculada a evidências para revisão humana ou lê seu status; agentes não podem aceitar ou rejeitar
messageDescobre agentes ativos e troca mensagens não confiáveis de destinatário exato. Payload JSON durável máx.: 64 KiB; envelope nativo completo máx.: 16 KiB com falhas distintas de native_message_too_large e recipient_unavailable. Aceitação nativa, descoberta, poll e busca nunca implicam reconhecimento ou disposição

As letras miúdas

Classificação pontuada — Resultados classificados por relevância (30%) + recência (25%) + frequência (18%) + confiança (17%) + impacto de recall (10%).

Mensagens entre agentes, as regras exatas (guia completo: docs/platforms/agent-messaging.md):

  • Funciona hoje: um remetente via MCP, HTTP ou CLI pode enviar de forma durável um único payload codificado em JSON não confiável de no máximo 65.536 bytes UTF-8 (64 KiB) para um destinatário local nomeado. Um receptor pode buscá-lo separadamente, retomar de um cursor opaco após reinicialização e registrar ingestão, confirmação, disposição do fluxo de trabalho e ativação do host como fatos separados.
  • Com o plugin MeMesh Codex habilitado, cada thread CLI Codex comum iniciada ou retomada com uma identidade de thread válida e diretório de trabalho existente registra-se automaticamente sob uma identidade com escopo de thread; nenhum agent setup manual é necessário. SessionStart inicia um companheiro privado do proprietário. SessionEnd mantém uma janela limitada de fila ociosa de 45 segundos; retomar substitui a geração exata anterior, e expiração remove o registro. Uma mensagem aceita durante essa janela ociosa torna-se visível ao modelo quando a mesma thread é retomada; não é uma afirmação de que uma UI interrompida foi despertada. memesh agent setup codex-session permanece disponível apenas quando um workspace precisa de um principal nomeado estável. O envelope nativo completo, incluindo metadados de roteamento e payload, é limitado separadamente a 16.384 bytes (16 KiB). Um envio de sessão exata retorna sucesso somente após essa fila nativa aceitá-lo; um envelope completo superdimensionado relata native_message_too_large, um roteador local inacessível relata router_unreachable, e outras sessões indisponíveis ou rejeitadas relatam recipient_unavailable. Dados de recuperação com escopo permanecem duráveis para todas as falhas do lado do remetente e do destinatário. Alvos principais retêm comportamento durável de armazenar-e-encaminhar. Aceitação nativa não é confirmação ou disposição, e mensagens nativas não devem conter segredos.
  • Uma sessão Codex interrompida, ausente ou desconectada não é despertada ou substituída, e uma entrega nativa de sessão exata com falha não é reproduzida automaticamente; o remetente deve tentar novamente deliberadamente. Seus dados de recuperação com escopo permanecem disponíveis; memesh message storage report mostra o que está armazenado. Entrega nativa funciona apenas em macOS e Linux.
  • Este caminho nativo documentado cobre o Codex CLI comum. Não assuma que o Codex Desktop ou uma tarefa não anexada registra-se a menos que essa sessão exata em execução apareça em message discover; isso é um limite de evidência, não uma afirmação de que esses hosts são universalmente incompatíveis.
  • Emparelhar o Claude Channel com registro automático do Codex não requer nenhum valor de --project copiado entre os dois: cada host deriva seu próprio projeto de roteamento de seu próprio diretório de trabalho (Claude) ou --workspace (Codex), então iniciar ambos no mesmo repositório os coloca no mesmo projeto automaticamente (#474).

Licença MIT