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
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.