meow-memory
项目级跨会话记忆:node:sqlite 七层存储(soul/user/project/fact/lesson/rules/topic),首条消息缓存友好注入 + 每条消息关键词命中,memory_remember/search/find_similar/read/update/project 工具,空闲窗口自动整理记忆(dream,峰时抑制)。prompt 文案按语言数据文件加载——框架支持多语言用户。
安装
dsh plugin --profile web add meow-memory
沙箱测试结果
| 阶段 | 结果 |
|---|---|
| 1 安装 | ✓ |
| 2 列装 | ✓ |
| 3 挂载 | — |
| 4 启动 | — |
四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。
README
meow-memory 🐱📝
[中文](README.md) · [English](README.en.md) · [Português (BR)](README.pt-br.md) · [MIT License](LICENSE)
Memória entre sessões para o DeepSeek Harness (DSH).
Versão 0.31.0 | Histórico: [CHANGELOG.md](CHANGELOG.md) | Suporta dsh 0.1.5
✨ Recursos
- Memória em sete níveis:
soul(a própria IA) /user(fatos e preferências do usuário) /project(informação de projeto, comsubcategory) /fact(fato atômico) /lesson(o que se aprendeu e correções) /topic(assunto em andamento com frase-objetivo) /rules(princípios de design e diretrizes de comportamento). Uma tabela SQLite por nível, UUID com prefixo de tempo, a ordem dos ids é a ordem de criação. - Injeção da primeira rodada (bloco de memória de longo prazo): antes da primeira mensagem do usuário, injeta soul / user / princípios de design / guia de memória. A memória entra como uma mensagem plugin snapshot independente antes da mensagem real do usuário e nunca reescreve o prompt dele; a primeira rodada não roda acertos por palavra-chave (eles começam na segunda).
- Acerto por palavra-chave a cada mensagem: a partir da segunda mensagem do usuário, cada mensagem real busca fact/lesson/rules/topic (global + ancorado no projeto atual) e injeta os top-2 acertos. O acerto usa as palavras-chave da entrada, não o texto inteiro.
- Ancoragem no projeto atual: passar o parâmetro
projectancora o projeto atual daquela sessão; sem ancoragem os acertos buscam só o global (conversa fiada do usuário não atrapalha). - Projetado para cache: a section estática
meow-memory:guideé registrada uma vez no system prompt — texto constante, então não quebra o cache KV do provider. - Reinjeção após compactação: depois que a sessão é compactada, a rodada seguinte reinjeta automaticamente o snapshot de longo prazo + o panorama dos projetos consultados nesta sessão com
memory_project+ o texto das memórias que esta sessão escreveu/atualizou — a IA não perde a lembrança de repente. - Três coisas além dos níveis: a escrita deduplica e faz merge automaticamente; o timestamp exibido é sempre o
updated_at; informação global usa a marca global (distinto de deixar o campo vazio). - Dream por janela: com a janela ociosa por ≥3 horas ela fica elegível, e o próprio agente principal dela consolida em rodadas (memórias atômicas / topic / resumo de projeto); a supressão em horário de pico (09:00–12:00 e 14:00–18:00 no
timeZoneconfigurado, padrão Asia/Shanghai — os picos de tarifa da API) impede o disparo. Digitar/dreamconsolida na hora, sob demanda. - Reflexão: depois de ≥7 passos de ferramenta seguidos dentro de uma mesma tarefa, o plugin pergunta ao modelo se há algo que valha memorizar desde a última consolidação. Se a última ferramenta for
memory_*, considera que já houve memorização ativa e não reflete de novo. - Portão de confiança de memória externa: um
.dsh-meowtrazido pelo workspace que não foi criado nesta máquina (ex.: repositório externo clonado) fica pausado por padrão — um aviso na primeira rodada, e/meow-trustreativa na hora; bibliotecas criadas localmente e workspaces abertos antes do upgrade são confiados automaticamente, sem nenhum atrito no uso normal. - UI do cliente: o texto injetado é recolhido em uma barra, as rodadas de reflexão/dream em um card expansível, e a lista de sessões mostra ícones de estado do dream (🌙 consolidado / lua em respiração em andamento / lua cinza com barra pulado).
- Sem dependências de runtime instaladas separadamente:
node:sqlite+ artefato esbuild (lib/index.js); o host DSH resolve os peersschemasteryedsh-llm. Nenhum módulo nativo.
📦 Instalação
Instalação em um comando (recomendada)
dsh plugin --profile web add github:Phant0Meow/dsh-meow-memory
Um comando instala e já vale: a instalação compila automaticamente (o pacote traz o script prepare), monta sozinho, e depois de reiniciar o dsh web novas sessões carregam o plugin automaticamente.
O pnpm ≥10 bloqueia por padrão scripts de build na instalação: o primeiroaddpode falhar pedindoallowBuilds; siga a instrução, adicione as chaves mostradas nopnpm-workspace.yamldo profile e rode de novo.
Fork em PT-BR
dsh plugin --profile web add github:coutogilson/dsh-meow-memory
Desinstalação
dsh plugin --profile web remove meow-memory
Instalação manual (desenvolvedores, qualquer instalação do DSH, sem npm)
1. Copie (ou crie um link simbólico de) este pacote para o node_modules do profile:
mkdir -p ~/.dsh/profiles/web/node_modules ln -s /path/to/meow-memory ~/.dsh/profiles/web/node_modules/meow-memory
(Windows: New-Item -ItemType Junction ... — junction NTFS, sem precisar de administrador.)
2. Adicione meow-memory ao dsh.profile.bundles do package.json do profile (como acima).
3. Reinicie o dsh web. Novas sessões carregam o plugin automaticamente.
🔌 Compatibilidade
Suporta dsh 0.1.5 (incluindo o 0.1.5-rc.1 mais recente) e também versões antigas — atualizar o dsh não exige mudar este plugin nem nenhuma configuração.
O plugin não fixa número de versão: ele detecta as capacidades do host em runtime, então cada versão segue o ramo correto. Duas gerações já foram testadas de verdade: no 0.1.5-rc.1 a primeira injeção, as chamadas das ferramentas de memória e a renderização no cliente funcionam; no 0.1.1-rc.2 o comportamento é idêntico ao das versões anteriores.
⚙️ Configuração
Todos os campos são opcionais (patch do profile ou cordis.patch.yml). Também dá para não editar arquivo nenhum: a página de configurações do DSH tem a aba "Meow memory" deste plugin (no mesmo nível de "Geral" e "Modelos"), onde todos os itens abaixo são editáveis na interface, com grav
…(truncated)
以上内容来自 npm 上的 README,我们只做格式化,不改内容。
版本
npm 上共发布:38,最后更新 2026-11-06