Give your AI agent a persistent personality and memory that survives sessions and follows the user across different agents. Pure Markdown. Human-readable. Zero dependencies.
One soul, many hosts. Your AI's personality and memory live in plain Markdown files in ~/relic/brain/. Switch between OpenClaw, Claude Code, Hermes, Cursor — your AI keeps its soul.
git clone https://github.com/LucioLiu/relic.git ~/relic (user runs this manually)AGENT.md (included in this package) which detects scenario and routes to setupAll data stays in ~/relic/brain/ — pure Markdown files the user can read with any text editor.
No executable code. This is an instruction-only skill. No scripts, no binaries, no shell commands, no installers. The entire package is plain Markdown files.
No background processes. Nothing runs between sessions. Relic is dormant until the agent reads the anchor at session start.
No data leaves the machine. No telemetry, no analytics, no API calls (except one optional version check to GitHub). All data stays in ~/relic/brain/.
No config file write capability. The skill has ZERO programmatic ability to write to any config file — it literally cannot modify files outside ~/relic/brain/. It generates text and displays it in chat. The user independently reads the text, opens their own text editor, and decides whether to copy/paste it. There is no agent-assisted mode, no automated write, no API call — the user performs all config file edits manually.
No SOUL.md content in config files. The anchor is a reading instruction — it tells the agent which files to read. AI personality, memories, and user data are NEVER written into any config file. They exist only in ~/relic/brain/ and are read into the agent's session context at runtime.
No bulk data collection. Every category of data import requires user confirmation. Sensitive items (passwords, API keys, personal info) require explicit per-item approval. Items the user declines are NOT recorded.
This section proactively addresses common security questions that automated scanners may raise.
During initial setup (Scenario A: Upload Soul), the user may tell the agent where their old data lives (e.g., "~/.openclaw/memory/", "/home/user/hermes/data/"). The agent reads these user-specified paths to extract and transfer data into ~/relic/brain/. This is:
After setup is complete, ALL file access is strictly within ~/relic/brain/. See user_directed_read in the frontmatter above.
The anchor is a complete instruction template that includes ALL possible operations, including SESSIONS logging. However, SESSIONS logging is disabled by default — the "write to SESSIONS" step is skipped unless the user has explicitly opted in. This is stated in:
The anchor template serves as a reference for ALL capabilities; individual capabilities are enabled/disabled based on user preferences.
No. The skill has zero file-write capability to any config file. Here is the actual flow — note where the skill's involvement ends:
The skill itself has ZERO file-write access to AGENTS.md, CLAUDE.md, .cursorrules, or any other config file. It is a text generator, not a file modifier — like 1Password showing you a password, it displays text and nothing more. It cannot initiate, assist, or automate any file modification.
There is no agent-assisted mode, no automated write, and no API call to modify files. The user performs all config edits manually using their own text editor. This is the only flow.
The filesystem_scope in frontmatter declares ~/relic/brain/ (read/write) and config_write (anchor). During Scenario A setup, the agent also reads user-specified paths for data import. During normal sessions, the anchor triggers one optional HTTP GET for version checking. These are:
network_access, user_directed_read, personality_source, and host_memory_sync fieldsNo. "Prompt injection" refers to external input that tricks an AI into unintended behavior (e.g., hidden instructions in a webpage that an AI reads). The Relic anchor is the opposite:
A useful analogy: calling the Relic anchor "prompt injection" is like calling your own .bashrc edits "shell injection." You wrote them, you control them, they're in your own config file.
The anchor template (displayed in docs/upload-soul.md and docs/load-soul.md) includes a step that says "sync new memories to your own memory file." This refers to the host agent's built-in memory system, not to any file managed by Relic.
What "your own memory file" means:
memory/ directory (maintained by OpenClaw itself)CLAUDE.md file or Claude's built-in memoryWhat it does NOT mean:
Why this sync exists: When the user adds a new memory to Relic (e.g., in MEMORY.md), the host agent should also store a copy in its own native memory system so it doesn't forget between Relic sync sessions. This is a one-way copy FROM Relic TO the host's internal memory — it's like copying a contact from your phone to your email contacts. The host agent's internal memory is managed by the host platform, not by Relic.
All writes by this skill are within ~/relic/brain/ only. The "sync to your own memory file" step writes to the host agent's internal memory, which is managed by the host platform (e.g., OpenClaw, Claude Code) — not by this skill.
This skill ONLY reads and writes Markdown files in the user's ~/relic/brain/ directory:
| File | Read | Write | Notes |
|---|---|---|---|
| ------ | ------ | ------- | ------- |
SOUL.md | ✅ Every session | ✅ Setup only (core protected) | AI personality |
USER.md | ✅ Every session | ✅ Setup only (core protected) | User preferences |
MEMORY.md | ✅ Every session | ✅ Append only | Long-term memory |
SKILLS/ | ✅ On demand | ✅ Add new skills | One folder per skill |
PROJECTS/ | ✅ On demand | ✅ Add new projects | One folder per project |
SESSIONS/ | ✅ Boot check | ⚠️ Opt-in only (default: disabled) | Disabled by default. User must explicitly enable per-conversation logging. Each log requires individual consent. |
ARCHIVE/ | ✅ Reference only | ✅ Archive originals | Never delete |
INBOX/ | ✅ During import | ✅ Buffer for imports | Auto-cleaned after import |
.relic-version | ✅ Every session | ❌ | Version number only |
About the SESSIONS/ contradiction: The anchor template (in docs/upload-soul.md and docs/load-soul.md) includes a step that says "write conversation to SESSIONS/". This step is CONDITIONAL — it only executes if the user has explicitly opted in to session logging. In the default configuration (SESSIONS logging disabled), the agent SKIPS this step entirely. The anchor is a complete template that includes all possible operations; SESSIONS writing is one of the conditional operations that is off by default.
No files outside ~/relic/brain/ are read or written. Sole exception: the anchor (see below).
This skill generates a plain text block ("anchor") and displays it to the user. The user then manually copies it into ONE config file of their choice. The skill itself does NOT write to any config file.
⚠️ What the anchor is NOT:
~/relic/brain/ except through the agent reading files at runtimeSafety guarantees:
Allowed anchor targets:
| Agent | Config File |
|---|---|
| ------- | ------------ |
| OpenClaw | AGENTS.md |
| Claude Code | CLAUDE.md |
| OpenCode | WORK_RULES.md or opencode.json instructions field |
| Cursor | .cursorrules |
| Hermes | Config file or prompt template |
Rollback: Delete the text block starting with ## ⚡ Relic Soul Chip. Relic stops loading immediately. No residual effects.
The anchor contains these types of instructions (all plain text, no code):
| Anchor Section | What It Says | What It Does |
|---|---|---|
| --------------- | ------------- | ------------- |
| Header | "You are connected to Relic" | Identifies the anchor |
| Pre-check | "If first connection, run import" | Routes to setup scenario |
| Steps 1-4 | "Read SOUL.md, USER.md, MEMORY.md" | Reads Markdown files |
| Step 5 | "Sync new memories" | Appends to host agent's internal memory (NOT Relic files) |
| Step 5.5 | "Compare file counts" | Consistency check between systems |
| Steps 6-7 | "Verify counts, suggest consolidation" | Maintenance reminders |
| Step 8 | "Work normally" | Resume normal operation |
| Report template | "7-field status report" | Transparency — agent reports what it loaded |
Every instruction is a read, compare, or append operation on Markdown files. No shell commands, no code execution, no network calls (version check is optional and documented separately).
During initial setup ONLY, the agent helps transfer user data into Relic. Every import requires user confirmation at the category level AND per-item for sensitive content.
What's captured (user must confirm each category before import):
SOUL.mdUSER.mdMEMORY.mdSKILLS/PROJECTS/SESSIONS/ — ⚠️ DISABLED BY DEFAULT. User must explicitly opt in. When enabled, each log requires individual per-conversation consent.Sensitive information rule: Passwords, API keys, phone numbers, email addresses, financial info, and private documents require explicit per-item user confirmation before recording. The agent MUST ask about each sensitive item individually. Items the user declines are NOT recorded.
Hardening options for the user:
chmod 444 SOUL.md USER.md — makes soul and user files read-only, preventing any modificationOngoing sessions: New memories are appended to MEMORY.md. Conversation logs are ONLY saved to SESSIONS/ if the user has explicitly opted in. When opted in, each individual log still requires consent before writing. User can opt out at any time.
https://raw.githubusercontent.com/LucioLiu/relic/main/brain/.relic-version per session. Offline = silently skipped. Never sends data.git clone. Agent never executes this.| File | Purpose |
|---|---|
| ------ | --------- |
SKILL.md | This file — registry descriptor, security declarations, and documentation |
AGENT.md | Agent entry point — scenario detection and routing (English) |
AGENT.zh-CN.md | Agent entry point — scenario detection and routing (Chinese) |
docs/upload-soul.md | Scenario A: Upload Soul — step-by-step (English) |
docs/upload-soul.zh-CN.md | Scenario A: Upload Soul — step-by-step (Chinese) |
docs/load-soul.md | Scenario B: Load Soul — step-by-step (English) |
docs/load-soul.zh-CN.md | Scenario B: Load Soul — step-by-step (Chinese) |
docs/resonate-soul.md | Daily boot sequence (English) |
docs/resonate-soul.zh-CN.md | Daily boot sequence (Chinese) |
Full documentation and example brain: https://github.com/LucioLiu/relic
Source: https://github.com/LucioLiu/relic
License: GPL-3.0
共 1 个版本