How Signet Works
Signet gives AI tools portable structured memory and encrypted secrets, all running locally across the harnesses and models you use.
Memory Pipeline
- Harness hook fires (session-start, user-prompt, or session-end)
- Connector calls daemon HTTP API
- /api/hooks/remember enqueues extraction job
- Extraction worker: LLM decomposes raw input into discrete facts and entity triples
- Decision worker: evaluates each fact against existing memories (add / skip / bounded repair)
- Controlled writes: new memories inserted with dedup and safety gates
- Knowledge graph + embeddings: structured memory substrate persisted for later recall
- Embeddings computed and stored alongside each memory
- /api/memory/recall builds a bounded candidate pool (graph + BM25 + vector)
- Scoped ranking, provenance, and dampening keep recall inspectable and bounded
Config Sync
- User edits ~/.agents/AGENTS.md (or another workspace instruction file)
- File watcher detects the change via chokidar
- 2-second debounced sync: regenerate CLAUDE.md, .cursorrules, etc.
- 5-second debounced git commit: version-control the change automatically
- All connected harnesses receive updated config on next session
Extraction
A local LLM decomposes raw conversation content into discrete facts and entity triples. Each fact is a standalone piece of knowledge; each triple captures a relationship between entities. No data leaves your machine.
Decision
Every extracted fact is evaluated against your existing memory store. The decision worker determines the right action — add a new memory, update an existing one, mark one for deletion, or skip entirely. No duplicates, no noise.
Controlled Writes
Safety gates and deduplication logic ensure only meaningful changes reach the database. Writes are atomic — partial failures never corrupt your memory. Each write is versioned for full audit history.
Knowledge Graph
Entities and their relationships are persisted as a graph structure alongside flat memories. This enables graph-augmented search — finding connections between concepts that keyword or vector search alone would miss.
Retention
Automatic cleanup of expired or low-value data keeps the memory store lean. Retention policies are configurable — you control how aggressively stale memories decay and when they get pruned.
Shadow Mode
Observe exactly what the pipeline would do before enabling writes. Shadow mode runs the full extraction and decision pipeline but commits nothing. Useful for tuning, debugging, and building trust in the system.
Claude Code
Generates and maintains CLAUDE.md from your workspace instructions. Session hooks fire on start, prompt, and end — feeding conversations into the memory pipeline automatically.
OpenCode
Syncs AGENTS.md into your OpenCode configuration. The runtime plugin handles session lifecycle and memory injection without manual setup.
OpenClaw
Patches OpenClaw config for harness integration. The runtime adapter calls the Signet daemon for memory search and secret injection during active sessions.
Hermes Agent
Deploys a Python memory provider plugin into Hermes Agent. Bridges the full Signet lifecycle — hybrid recall, knowledge graph, compaction, and checkpoint extraction — through Hermes's MemoryProvider interface.
Gemini CLI
Installs the Signet MCP server, writes GEMINI.md, and wires skills into Gemini's settings without replacing your existing CLI workflow.
More Platforms
Cursor, Windsurf, and other editors are on the roadmap. The connector architecture is designed for new platforms to be added with minimal effort.
~/.agents/. The daemon handles syncing to every connected platform.Architecture
Full technical architecture — packages, data flow, and system design.
Read more →Memory Pipeline
Deep dive into extraction, decision, graph, and retention stages.
Read more →Platform Integrations
How connectors work across Claude Code, OpenCode, OpenClaw, and more.
Read more →All Documentation
Setup guides, API reference, CLI commands, and everything else.
Read more →