> Font: https://www.esfis.com/novetats · esfis, memòria local per a qualsevol assistent. Actualitzat el 13 de setembre del 2026.

# Novetats

> Tots els canvis publicats a esfis: el motor, el servidor MCP, la línia d'ordres i l'app.

## esfis --import puja la memòria que ja tens escrita

Terminal · 12 de setembre del 2026 · v1.1.0

Els assistents ja desen fets en fitxers: un `.md` per fet, amb frontmatter, dins de `~/.claude/projects/<projecte>/memory/`. Bons records, però tancats al projecte on es van escriure.

```sh
esfis --import                      # ~/.claude/projects
esfis --import ~/notes ~/altra/mem  # o les carpetes que diguis
```

Agafa tot `.md` que tingui `description:` al frontmatter i el desa; els `MEMORY.md`, que són índex, se salten. Un `type: feedback` entra com a instrucció i la resta com a fets.

**Detalls**

- Cada record recorda de quin fitxer ve (`source: md:<name>`): tornar-hi a passar no duplica res, i un fitxer editat substitueix la versió vella en comptes d'afegir-se-li.
- D'una instrucció se'n desa la frase del `description`, perquè viatja a cada `recall`. D'un fet, el cos sencer.
- El vector surt sempre del `description`: els embeddings de frase es difuminen en un text llarg, i el cos ja pesa a la meitat lèxica.

---

## esfis 1.0

App · 8 de setembre del 2026 · v1.0.0

La primera versió estable. L'app de macOS, la línia d'ordres i el servidor MCP són el mateix binari: `./build-app.sh` genera `Esfis.app` i deixa `~/.esfis/bin/esfis`, que és el que criden els assistents.

**Novetat**

- Una finestra i tres pestanyes: **Observa** (enganxa-hi una conversa i el model en treu els records), **Recorda** (mira i esborra el que sap de tu) i la configuració, amb la clau d'API al clauer.
- Ordres: `--recall`, `--add`, `--list` i `--mcp`.

**Encara no**

- Sincronització entre dispositius: el magatzem no surt de la màquina.
- Linux i Windows: els vectors surten dels models que porta macOS.

---

## El servidor MCP, amb quatre eines i dues menes de record

MCP · 28 d’agost del 2026 · v0.4.0

`esfis --mcp` parla JSON-RPC per l'entrada estàndard i exposa `recall`, `remember`, `forget` i `memories`. No obre cap port i no vol cap clau.

La política d'extracció viu a la descripció de `remember`: qui decideix què val la pena desar és l'assistent que ja tens obert, i esfis no fa cap segona crida a cap model.

**Novetat**

- Un record pot ser un **fet** o una **instrucció**. Els fets es busquen; les instruccions van al davant de cada `recall` i al camp `instructions` de l'`initialize`, perquè són l'encàrrec que s'ha de seguir tant si la pregunta hi té a veure com si no.
- `remember` no desa una frase que ja hi és gairebé igual: respon quin id ja la conté.
- Cada resposta torna els records semblants, perquè l'assistent pugui substituir en comptes d'acumular contradiccions.

---

## Una línia per canvi, al costat de la base de dades

Motor · 12 d’agost del 2026 · v0.3.0

Cada canvi al magatzem escriu una línia a `~/.esfis/log.jsonl`: `add`, `supersede`, `forget` o `delete`, amb l'id, la data i d'on ve. S'hi afegeix pel final i no es reescriu mai. En parlem al [bloc](/bloc/una-linia-per-canvi).

**Canvis**

- `forget` desactiva el record (`active = 0`) en comptes d'esborrar-lo.
- Un `supersede` desactiva el vell i l'hi apunta amb `superseded_by`.
- El magatzem es mou d'Application Support a `~/.esfis/`, i es migra sola el primer cop.

---

## El rànquing passa a fer servir dos senyals

Motor · 30 de juliol del 2026 · v0.2.0

Recuperar ja no és només una cerca de vectors. Ara cada pregunta puntua el magatzem amb BM25 i amb els vectors de `NLEmbedding`, i combina les dues meitats.

Els cosinus de `NLEmbedding` s'amunteguen en una banda estreta, o sigui que es puntuen relatius a la resta del magatzem per aquesta pregunta i no contra cap llindar fix. La meitat lèxica és la que diu si el primer candidat val alguna cosa.

**Canvis**

- Els tokens es pleguen sense accents i es tallen a sis caràcters: desplego, desplega i desplegar són el mateix senyal.
- Les paraules buides del català, el castellà i l'anglès no compten.
- Una pregunta que no toca res retorna zero records, que abans retornava el menys dolent.
