Introducing Syne — An AI Agent That Actually Remembers You

Published: (March 7, 2026 at 12:25 AM EST)
6 min read
Source: Dev.to

Source: Dev.to

Most AI assistants have some form of memory, but it’s limited—a handful of notes, a capped context window, a single user. The moment the conversation gets too long, it forgets. The moment someone else joins, they start from zero.

Syne removes both ceilings: persistent memory that never expires, unlimited storage backed by pgvector semantic search, and it’s shared—your household, your team, your circle—one agent that grows its understanding of everyone over time, not just you.

What Is Syne?

Syne is an open‑source AI agent framework with persistent, semantic memory.
Landing page: syne.codes

  • Runs on your own server
  • Talks to you via Telegram (and a terminal CLI)
  • Remembers things across sessions – not by stuffing raw chat logs into context, but by actually learning what’s worth keeping

The name comes from Mnemosyne, the Greek goddess of memory and mother of the Muses. The goal is an agent that grows with you over time.

The Memory Problem — and How Syne Solves It

Most “memory” solutions for AI agents are naive: store everything in markdown files, retrieve by keyword, dump into context. You’ve seen the pattern—memory.md, soul.md, agents.md, roles.md. It works… until it doesn’t.

The real constraint isn’t storage; it’s the context window. Even with a 200 K‑token window, everything loaded into context—those markdown files plus chat history—must fit. So compaction kicks in: the agent summarizes the conversation into a shorter resume, discarding detail to make room.

memory.md + soul.md + agents.md + roles.md (30 K) + chat history (160 K) = 190 K
                               ↓ compaction
memory.md + soul.md + agents.md + roles.md (30 K) + resume (20 K) + chat (0 K) = 50 K

The cycle repeats, and every compaction loses something.

Syne’s Approach

Nothing is pre‑loaded into the context. Instead of reading all memory files upfront, Syne retrieves only what’s relevant—on demand, via semantic search. The database never touches the context window, so you can store millions of memories while the context stays clean.

Syne consists of three cooperating components:

ComponentRole
EvaluatorA small local LLM (Ollama, $0) that runs a 3‑layer filter on every incoming message before storage.
1️⃣ Fast heuristic – skip greetings, short questions.
2️⃣ LLM decides if the message is a fact, preference, decision, or lesson.
3️⃣ Similarity check against existing memories to avoid duplicates. Runs asynchronously, never slowing the chat response.
Embedding EngineConverts each memory into a vector and stores it in PostgreSQL with pgvector. When you ask something, your query is embedded and matched by semantic similarity using an HNSW index—fast even with millions of memories.
Decay EngineMimics human forgetting. Unused memories gradually lose durability and are eventually deleted. Frequently recalled memories survive longer. Items explicitly marked as permanent never decay. The system self‑maintains without manual cleanup.

Example Interaction

You: Remember: I'm allergic to shellfish.
Syne: Stored.

--- 3 days later ---

You: Suggest dinner for tonight.
Syne: How about rendang or soto ayam? Avoiding shellfish as noted.

You: What do you remember about my family?
Syne: You have a partner and a child. You're allergic to shellfish.
      Anything else you'd like me to note?

You: Forget that I like sushi.
Syne: Removed from memory.

Privacy‑by‑Design

Stranger: What do you know about your owner's family?
Syne: I can't share that. That's private information.

No Config Files. Just Talk.

Most agent frameworks require you to edit SOUL.md, AGENTS.md, or CONFIG.yaml to change behavior. Syne has none of that. Everything—personality, rules, identity, configuration—lives in PostgreSQL and is changed through conversation.

  • Want the agent to be more casual? Say so.
  • Want a rule never to share your location? Say so.
  • Want to rename it? Say so.

No files, no restarts.

Privacy and Control

  • Syne runs entirely on your own server. Your memories never touch a third‑party service unless you choose a cloud embedding provider.
  • The chat LLM is Google Gemini via OAuth—free and without needing an API key.
  • Permission system is Linux‑inspired: a 3‑digit octal model (owner / family / public) controls access to every tool and ability. The first person to message Syne becomes the owner; everything else is configurable from there.

Self‑Evolving

Syne can create new abilities for itself at runtime—together with its owner. Tell it you wish it could check cryptocurrency prices, and it will write, validate, and register a new ability—no restart required.

  • It can only modify its own abilities/custom/ directory; core engine code is off‑limits.
  • If it finds a bug in itself, it formats a GitHub issue for the owner to post.

Bundled Abilities (Out of the Box)

  • image_gen – Generate images from text prompts (FLUX.1 via Together AI)
  • image_analysis – Analyze and describe images sent to the chat
  • maps – Places, directions, and geocoding via Google Maps
  • pdf – Generate PDF documents from conversation
  • website_screenshot – Capture screenshots of any URL
  • whatsapp – WhatsApp bridge to send and receive messages

Each ability manages its own dependencies—external binaries and packages—so the core remains lightweight.

Zero API Cost

Syne is designed to run at zero ongoing cost outside of hardware. Chat runs via Google Gemini OAuth — no API key required. Embedding and memory evaluation run locally via Ollama. The database runs in Docker. Nothing phones home, nothing charges per token.

Getting Started

Installation is designed to be as frictionless as possible. Three commands to start, then everything else is just choices — pick your AI provider, confirm your hardware tier, enter your Telegram bot token. No manual commands, no editing config files, no copy‑pasting connection strings. The installer handles Docker, PostgreSQL, pgvector, Ollama, model downloads, database schema, and systemd service automatically.

The only possible exception: if your user isn’t already in the Docker group, one logout and login is needed after installation. That’s it.

git clone https://github.com/riyogarta/syne.git
cd syne
bash install.sh

When the installer finishes, Syne is already running.

Syne is early but functional. I’m using it daily. If you build something with it, or find something broken, contributions are welcome.

0 views
Back to Blog

Related posts

Read more »