| title | Quickstart |
|---|---|
| description | Get Signet running in about five minutes. |
| order | 1 |
| section | Getting Started |
Get Signet running in about five minutes. For the full [[configuration]] reference, see that doc. For [[cli|CLI commands]], see [[cli]].
Your agent starts every session from zero. It doesn't know what you worked on yesterday. It doesn't know your preferences, your projects, or the decisions you've already made together. Every session is a first date.
The industry's answer to this has often been to give agents memory tools — "remember this," "recall that." That's not memory. That's a filing cabinet the agent sometimes opens. It puts the LLM in charge of micromanaging what to store and when to retrieve it.
Signet takes a different approach. The goal is ambient context selection: turn interactions into durable memory substrate, preserve the record of what actually happened, and surface the right pieces when the next session begins.
At the end of every conversation, Signet reviews the session and distills it. A local LLM breaks the conversation into atomic facts, checks them against what's already known, and decides whether to add new facts, skip duplicates, or record proposals for more complex changes. Your agent won't store "prefers dark mode" fourteen times.
Named entities — people, projects, tools, concepts — are extracted and linked. When you ask about a project, Signet traverses the graph: the project's architecture, the people involved, the tools it depends on, the constraints that apply. This structure improves the quality of candidate context instead of treating memory as a flat pile of fragments.
The structured candidate pool gives Signet something better than a flat list of snippets. Retrieval can combine graph traversal, keyword search, semantic similarity, provenance, scope, recency, and feedback without hiding the result behind an opaque ranking model.
The aim is practical precision: surface the context that helps the agent work now, and keep noisy or repeatedly unhelpful memories from haunting the context window forever.
Retrieval blends graph traversal, keyword search, and semantic similarity into a bounded candidate set, then reranks and filters it. The constellation view in the dashboard lets you inspect the agent's knowledge topology.
Feed any document into the distillation layer. PDFs, specs, reference pages, URLs. They're chunked, embedded, and indexed alongside your agent's insights.
- Raw-first: content is persisted before any LLM processing begins
- Pinned insights are sacred: the distillation layer cannot modify them. Only you can.
- Everything is recoverable: deletions are soft, with a recovery window and full audit trail
Automatic destructive memory mutations remain conservative and gated in the current implementation. Explicit user/operator repair flows are the reliable path today.
The same agent follows you across Claude Code, OpenCode, and OpenClaw. Same personality, same knowledge, same secrets. Switch tools without starting over.
For deeper technical details, see [[architecture]]. For the long-term vision, see VISION.md.
- Node.js 18+ (or Bun 1.0+)
- Embeddings (choose one):
- Built-in (recommended, no extra setup)
- Ollama (local)
- OpenAI API key
- macOS or Linux (Windows support planned)
Quickstart is for installing and using Signet. If you want to work on Signet itself from source, use the contributor workflow in Contributing instead of the global install path below.
# bun (recommended)
bun add -g signetai
# npm
npm install -g signetai
# or one-line installer
curl -sL https://signetai.sh/install | bashRunning signet setup launches an interactive wizard that walks you through
the full setup. You don't need to read anything else first. Signet records
your primary package manager during setup and reuses it for skill installs
and update commands.
For agent-driven onboarding, use non-interactive mode:
signet setup --non-interactive \
--name "My Agent" \
--harness claude-code \
--deployment-type vps \
--embedding-provider native--deployment-type supports local, vps, or server and adjusts inferred
defaults when provider flags are omitted. Explicit provider flags always
override inferred defaults.
Signet Secrets is a bundled core plugin and is enabled by default for existing
workspaces. New interactive installs include a Core plugins step that
explains what it does before asking whether to enable it. For automation, pass
--disable-signet-secrets if you want the plugin installed but disabled.
GraphIQ is an optional verified managed plugin for fast local code retrieval.
It is not installed by default. Interactive setup asks whether to install it;
automation can pass --with-graphiq to install via script from GitHub releases,
fallback, or --disable-graphiq to keep it disabled.
If OpenClaw is configured to use the same workspace path, setup now enforces
backup posture before finishing. In automation, either configure a git
origin remote ahead of time, or pass --create-local-backup (or
--allow-unprotected-workspace if you intentionally accept the risk).
Snapshot-backed protection is considered fresh for 7 days; after that, run
setup with --create-local-backup again or configure origin.
Extraction safety note:
- intended usage is Claude Code on Haiku, Codex CLI on GPT Mini with a
Pro/Max subscription, or local Ollama with at least
qwen3:4b - with
--deployment-type vps, setup prefers non-local extraction defaults from selected harnesses when those tools are available locally, then other detected tooling, and avoids defaulting to local Ollama extraction - on a VPS, set extraction to
noneif you do not want background LLM calls - remote API extraction can rack up extreme fees fast
The wizard asks a series of questions:
1. Agent name
Pick a name for your agent — this appears in harness prompts and the dashboard.
2. Harnesses
Select which AI platforms you use. Signet will configure integrations for each:
- Claude Code — hooks + CLAUDE.md sync
- OpenCode — plugin + AGENTS.md sync
- OpenClaw — adapter-openclaw hooks
- Codex — wrapper install + session hooks
3. Agent description
Add a short description of your agent. This is used in generated identity metadata and dashboard summaries.
4. Core plugins
Signet Secrets stores reusable credentials outside chat, memory, logs, and source files. It connects to Signet's encrypted local store and compatible 1Password references, then exposes value-safe CLI, MCP, and SDK helpers plus command injection with output redaction. This is safer than pasting API keys into prompts because agents can list secret names and run commands with injected values without reading the raw secrets.
5. Optional code retrieval
GraphIQ can index active projects into each project's local .graphiq/
directory and expose generic code retrieval tools through Signet. Use it when
you want fast symbol search, structural context, constants, and blast-radius
analysis alongside Signet memory retrieval.
After setup, index a project with:
signet index ~/signet/signetaiThat path becomes the active code project for GraphIQ-backed MCP tools until
another signet index <path> command changes it.
6. Deployment context
Choose where Signet is running (local, vps, server). Setup uses
this to show guidance before extraction provider selection.
7. Embedding provider
Embeddings power semantic (meaning-based) memory search. Choose:
- Built-in (recommended) — no extra setup required.
- Ollama — runs locally, free, no API key needed. Setup checks your binary, service, and model, and guides install/pull when needed.
- OpenAI — uses the OpenAI embeddings API. Requires
OPENAI_API_KEY. - Skip — memory still works via keyword search, just no semantic search.
8. Embedding model
For Ollama, nomic-embed-text is a good default. Setup can pull it for
you (with confirmation), or you can do it manually:
ollama pull nomic-embed-text9. Search balance
The alpha setting controls how much weight goes to semantic vs. keyword
search. 0.7 (70% semantic, 30% keyword) works well for most people.
9. Git & auto-commit
The wizard can initialize a git repo in $SIGNET_WORKSPACE/ so every change to
your agent files is automatically versioned.
Setup also clones a managed Signet source checkout into
$SIGNET_WORKSPACE/signetai/. Future signet update and signet sync
operations fetch the latest upstream changes, but they only auto-pull when that
checkout is clean and still sitting on the default branch. If you are hacking on
the internals locally, Signet fetches and leaves your changes alone.
After the wizard completes, the [[daemon]] starts automatically and the
[[dashboard]] opens at http://localhost:3850.
$SIGNET_WORKSPACE/
├── agent.yaml # Your config & manifest
├── AGENTS.md # Agent identity & instructions
├── SOUL.md # Personality & tone
├── MEMORY.md # Generated working memory (starts empty)
├── memory/
│ ├── memories.db # SQLite memory database
│ └── scripts/ # Optional batch tools (memory.py)
├── signetai/ # Managed local Signet source checkout for debugging
├── skills/
│ ├── remember/ # Built-in: /remember command
│ └── recall/ # Built-in: /recall command
└── .daemon/
├── plugins/ # Bundled core plugin registry
└── logs/ # Daemon logs
If you selected Claude Code:
~/.claude/CLAUDE.md— auto-synced from AGENTS.md~/.claude/settings.json— hooks for session start/end
If you selected OpenCode:
~/.config/opencode/AGENTS.md— auto-synced~/.config/opencode/plugins/signet.mjs— bundled plugin with remember/recall tools
Once running, Signet gives you a persistent agent identity that works across all your AI tools. The core features:
- [[pipeline|Memory pipeline]] — conversations are processed automatically by
Pipeline V2, which extracts meaningful facts and decisions using a
configured extraction backend. The safe intended setups are Claude
Code on Haiku, Codex on GPT Mini, or local Ollama with at least
qwen3:4b. Set the extraction provider tononeif you want Signet without background extraction. Memories accumulate over time and are recalled in future sessions. - Hybrid search — recall combines semantic and keyword search so you find relevant memories even when phrasing varies.
- Connectors — platform adapters for Claude Code, OpenCode, and OpenClaw keep your agent config in sync across tools.
- Analytics — the dashboard tracks memory growth, session activity, and pipeline health over time.
- Document ingest — feed local files or URLs into the memory pipeline to give your agent persistent knowledge about a codebase, spec, or doc.
- Diagnostics — built-in health checks and pipeline status endpoints help you spot issues fast.
- SDK — embed Signet into your own apps via
@signet/sdk. - Secrets — API keys stored encrypted at rest, never exposed to agents directly.
- Skills — installable instruction packages that extend agent behavior.
- Auth — token-based access control for local, team, and hybrid deployments. See Auth for details.
signet statusShows daemon state, file health, and memory count.
signet dashboardOpens http://localhost:3850 in your browser. From here you can edit
your agent config, browse memories, view analytics, and manage skills.
You can also reach it directly in your browser any time the daemon is
running.
Use the CLI or /remember command in any connected harness:
# CLI
signet remember "nicholai prefers bun over npm"
signet remember "critical memory" --critical
signet remember "tagged memory" -t project,signet
# In harness
/remember nicholai prefers bun over npm
/remember critical: never commit secrets to git
/remember [project,signet]: daemon runs on port 3850The critical: prefix or --critical flag pins a memory so it never
decays. The [tag1,tag2]: prefix or -t flag adds searchable tags.
You can also let the pipeline do this automatically — at the end of a
session, Pipeline V2 reads the conversation and extracts memories on its
own. Manual /remember is for things you want to ensure are captured.
# CLI
signet recall "coding preferences"
signet recall "signet" --type decision -l 5
# In harness
/recall coding preferences
/recall signet architecture
/recall what did we decide about authenticationsignet daemon logs
signet daemon logs -n 100signet daemon stop
signet daemon start
signet daemon restartStore API keys and other sensitive values encrypted at rest:
# Add a secret (value is never echoed)
signet secret put OPENAI_API_KEY
# List stored secrets (names only)
signet secret list
# Remove a secret
signet secret delete GITHUB_TOKENSecrets are encrypted with libsodium using a machine-bound key. Agents never see secret values directly.
Skills are packaged instructions in $SIGNET_WORKSPACE/skills/. They extend
what your agent can do.
# See what's installed
signet skill list
# Search the skills.sh registry
signet skill search browser
# Install a skill
signet skill install browser-use
# Remove a skill
signet skill remove weatherTo have Signet start automatically on boot:
cd platform/daemon
bun run install:servicemacOS (launchd):
launchctl load ~/Library/LaunchAgents/ai.signet.daemon.plistLinux (systemd):
systemctl --user enable signet.service
systemctl --user start signet.serviceYour agent identity lives in four self-managed files:
$SIGNET_WORKSPACE/AGENTS.md — How the agent operates, including rules,
workflow, and constraints. This is the main file that syncs to harnesses.
$SIGNET_WORKSPACE/SOUL.md — Personality, voice, values, and temperament.
$SIGNET_WORKSPACE/IDENTITY.md — Who the agent is.
$SIGNET_WORKSPACE/USER.md — Who you are to the agent, plus preferences
and relationship context.
These files are meant to be maintained over time as durable context.
$SIGNET_WORKSPACE/MEMORY.md is different. It is auto-generated by
Signet as episodic and operational memory. Do not edit it manually.
Edit the four identity files directly in your editor or via the dashboard's config editor. Changes sync to harnesses automatically within 2 seconds.
By default, Signet runs in local mode with no auth required on requests. In the default local setup, the daemon also binds to localhost only, which keeps that unauthenticated mode local by default. For team deployments or self-hosted remote access, Signet supports token-based auth with roles and scopes. See Auth and Self-Hosting for setup details.
Daemon won't start
Check if port 3850 is in use:
lsof -i :3850Remove a stale PID file if needed:
rm $SIGNET_WORKSPACE/.daemon/pid
signet daemon startEmbeddings not working
Make sure Ollama is running:
ollama serve &
ollama pull nomic-embed-textOr check that OPENAI_API_KEY is set in your environment (or stored
as a secret and referenced in agent.yaml).
Changes not syncing to Claude Code
Make sure ~/.claude/ exists and you have the harness configured:
ls ~/.claude/CLAUDE.md
signet statusDashboard not loading
curl http://localhost:3850/health
signet daemon logs- Configuration Reference — all agent.yaml options
- Memory System — how remember/recall works
- Pipeline — how Pipeline V2 extracts and processes memories
- Connectors — platform connector details
- Hooks — lifecycle hooks for harness integration
- Analytics — session and memory analytics
- Diagnostics — health checks and pipeline status
- Documents — ingest files and URLs into memory
- SDK — embed Signet in your own apps
- Auth — token-based auth and team deployment modes
- Harnesses — detailed integration docs
- API Reference — HTTP API for scripting and tooling