Sobre o projeto

# opencode-supermemory **Memória persistente para OpenCode, powered by [Supermemory](https://supermemory.ai)** Este plugin dá aos agentes OpenCode memória persistente entre sessões e projetos. Ele injeta automaticamente contexto relevante, captura turnos de conversa e fornece ferramentas para armazenar e recuperar memórias. ## Instalação ```bash bunx opencode-supermemory@latest install bunx opencode-supermemory@latest login # ou defina SUPERMEMORY_API_KEY bunx opencode-supermemory@latest status # verifique a conexão a qualquer momento ``` Ou cole isto no OpenCode: `Install opencode-supermemory by following https://raw.githubusercontent.com/supermemoryai/opencode-supermemory/main/README.md` Comandos no chat: `/supermemory-init`, `/supermemory-login`, `/supermemory-logout`, `/supermemory-status`. ## Recursos - **Injeção de contexto**: Na primeira mensagem de uma sessão, o agente recebe seu perfil, conhecimento do projeto e, opcionalmente, uma busca semântica sobre memórias pessoais. - **Recall fundamentado**: A cada turno, o agente decide se recuperar memória ajudaria antes de responder, pesquisando via ferramenta `supermemory` somente quando necessário. - **Captura automática**: Turnos concluídos são salvos a cada `captureEveryNTurns` turnos, com o restante descarregado no final da sessão. Conteúdo `<private>` é redigido. - **Detecção de palavras-chave**: Dizer "lembre", "salve isto", "não esqueça" (ou padrões personalizados) incentiva o agente a salvar na memória. - **Indexação de código**: `/supermemory-init` explora e memoriza estrutura, padrões e convenções do código. - **Compactação preventiva**: A 80% da capacidade de contexto, aciona sumarização, injeta memórias do projeto no resumo e salva o resumo como memória. - **Privacidade**: Conteúdo envolto em `<private>...</private>` nunca é armazenado. - **Avisos de atualização**: Verifica no npm novas versões no início da sessão. ## Uso da ferramenta A ferramenta `supermemory` suporta modos: `add`, `search`, `profile`, `list`, `forget`, `help`. Escopos: `user` (pessoal) e `project` (padrão). Tipos incluem `project-config`, `architecture`, `error-solution`, `preference`, `learned-pattern`, `conversation`. ## Escopo de memória Memórias são marcadas com `repo_{project-name}__{repository-hash}` e metadados `sm_scope` (pessoal ou projeto). O hash vem do remote Git origin normalizado, então Claude Code, Codex, Cursor e OpenCode compartilham o mesmo contêiner para o mesmo repositório. Contêineres legados de versões antigas permanecem legíveis. ## Configuração Variáveis de ambiente: `SUPERMEMORY_API_KEY`, `SUPERMEMORY_API_URL`/`SUPERMEMORY_BASE_URL`, `SUPERMEMORY_AUTH_URL`, `SUPERMEMORY_AUTH_TIMEOUT`, `SUPERMEMORY_REPO_TAG`, `SUPERMEMORY_ISOLATE_WORKTREES`, `SUPERMEMORY_DEBUG`. O arquivo de configuração `~/.config/opencode/supermemory.jsonc` suporta opções como `similarityThreshold`, `maxMemories`, `injectProfile`, `autoRecallEveryPrompt`, `keywordPatterns`, `compactionThreshold`, `captureEveryNTurns`, `recallMode` (direct/advisory/off) e substituições de tag de contêiner. ## Uso com Oh My OpenCode Desative o hook de auto-compactação para evitar conflitos: adicione `{"disabled_hooks": ["anthropic-context-window-limit-recovery"]}` a `~/.config/opencode/oh-my-opencode.json`. ## Desenvolvimento ```bash bun install bun run build bun run typecheck ``` Logs: `tail -f ~/.opencode-supermemory.log` ## Licença MIT