{"id":"4dba7e10-91e3-4bfe-8a27-74ac492419a3","entityType":"agent","slug":"clawhub-lucioliu-relic-soul-chip","name":"Relic Soul Chip","canonicalUrl":"https://www.xpersona.co/agent/clawhub-lucioliu-relic-soul-chip","canonicalPath":"/agent/clawhub-lucioliu-relic-soul-chip","generatedAt":"2026-10-11T10:53:08.652Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T06:45:14.281Z","emptyReason":null},"description":"One soul, many agents. Persistent AI personality and cross-agent memory sync via pure Markdown files. Zero deps.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s17cvwtgd8vyxsv19hbpd2bkr184yr8q:relic-soul-chip","sourceUrl":"https://clawhub.ai/lucioliu/relic-soul-chip","homepage":"https://clawhub.ai/lucioliu/skills/relic-soul-chip","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/lucioliu/relic-soul-chip","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/lucioliu/skills/relic-soul-chip","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":61,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Relic Soul Chip technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T06:45:14.281Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T06:45:14.281Z","emptyReason":null},"stars":null,"forks":null,"downloads":1131,"packageName":null,"latestVersion":"2.1.1","tractionLabel":"1.1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T06:45:14.266Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T06:45:14.281Z","lastCrawledAt":"2026-10-11T06:45:14.266Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T06:45:14.266Z","lastVerifiedAt":null,"highlights":[{"version":"2.1.1","createdAt":"2026-04-26T05:09:23.309Z","changelog":"relic-soul-chip v2.1.1 - Clarified and strengthened documentation and metadata on security and file access. - Rewrote all config file modification descriptions to emphasize zero programmatic write capability; all config changes require manual user copy-paste. - Added explicit details on user control over SOUL.md/USER.md, including read-only and delete options. - Documented optional, one-way host memory sync flow; clarified that Relic files remain unchanged and sync is user/host-initiated only. - No changes to core functionality—this is a documentation/manifest hardening and policy update for transparency and compliance.","fileCount":12,"zipByteSize":38189},{"version":"2.1.0","createdAt":"2026-04-26T04:41:08.249Z","changelog":"## v2.1.0 - Expanded and updated docs: major improvements to `docs/load-soul.md`, `docs/resonate-soul.md`, and `docs/upload-soul.md` (plus localized versions). - Documentation now covers usage, scenarios, and multi-agent workflows in greater detail. - Chinese localization updated for new and existing feature explanations. - No changes to core security model or config anchors—update is documentation-focused.","fileCount":11,"zipByteSize":35927},{"version":"2.0.0","createdAt":"2026-04-23T02:34:36.423Z","changelog":"Relic Soul Chip 2.0.0 - Major documentation overhaul: rewritten and expanded English and Chinese docs for `load-soul.md` and `upload-soul.md`. - Updated skill version to 2.0.0 in all docs and metadata files. - Clarified installation/setup instructions and agent onboarding flow. - Improved explanation of manual anchor pasting and security model. - Expanded details on the one-time user-directed import for initial setup.","fileCount":11,"zipByteSize":34770},{"version":"1.9.0","createdAt":"2026-04-23T02:26:07.753Z","changelog":"## relic-soul-chip 1.9.0 - Config anchor can now only be added by manual user copy-paste; agent-assisted planting is no longer supported. - Updated config_write description to clarify: the skill never writes to any config file—only outputs text for user to paste using their own editor. - Tightened safety language: no agent-assisted mode for config changes, all actions are user-initiated. - Added extra clarification about how SOUL.md personality settings are treated as user preferences, not behavioral overrides. - No changes to file/folder access, network policy, or core functionality.","fileCount":11,"zipByteSize":34093},{"version":"1.8.0","createdAt":"2026-04-22T16:45:07.060Z","changelog":"**Relic Soul Chip 1.8.0 Changelog** - Clarified and strengthened the config file anchoring process: anchor text is now generated and displayed to the user for manual copy-paste, not written automatically. - Updated frontmatter to specify user_manual_paste as the default config modification method, with agent-assisted planting as an explicit, opt-in fallback only. - Expanded and reorganized config_write documentation for increased clarity and security transparency. - Emphasized user control and manual involvement in all critical actions, especially regarding configuration changes. - No executable code, background processes, or new network access added; security and privacy guarantees remain unchanged.","fileCount":11,"zipByteSize":33860},{"version":"1.7.0","createdAt":"2026-04-22T16:36:05.328Z","changelog":"Version 1.7.0 - Added explicit documentation of one-time user-directed file reads outside ~/relic/brain/ during initial setup, with strict user consent and limited scope. - Declared new fields in the frontmatter: `network_access` (details optional version check HTTP GET) and `user_directed_read` (covers explicit user-initiated import scenarios). - Clarified security and behavior guarantees in the SKILL.md, directly addressing common automated scanner concerns regarding file and network access. - No changes to executable or operational logic; skill remains instruction-only and security-focused.","fileCount":11,"zipByteSize":33380},{"version":"1.6.0","createdAt":"2026-04-22T16:22:46.767Z","changelog":"- Updated version and documentation for clarity and user protection; now at v1.5.0. - The anchor instruction block now includes a description of size (~60 lines), with explicit mention of a status report template, and improved clarity that it contains no executable code. - Session conversation logging is now disabled by default—user must explicitly opt in and consent to each log individually. - Enhanced user control: anchor is never planted without showing the full content; users are encouraged to manually copy/paste the anchor for maximum safety. - General tightening of privacy/security guarantees, emphasizing local-only file access and strict consent protocols for importing sensitive data.","fileCount":11,"zipByteSize":31997},{"version":"1.5.0","createdAt":"2026-04-22T16:09:11.824Z","changelog":"Relic Soul Chip 1.5.0 — Documentation and guide expansion - Expanded and updated documentation files, including EN and ZH-CN guides for load, resonate, and upload soul workflows. - Improved instructions for data capture, anchor setup, and file system access. - Clarified user consent and sensitive information import steps in user-facing docs. - Refined Markdown to improve readability in all help and setup files. - No functional changes to code or permissions; this release focuses on clarity and guidance.","fileCount":11,"zipByteSize":31097}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17cvwtgd8vyxsv19hbpd2bkr184yr8q:relic-soul-chip","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17cvwtgd8vyxsv19hbpd2bkr184yr8q:relic-soul-chip` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/lucioliu/relic-soul-chip before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-lucioliu-relic-soul-chip/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-lucioliu-relic-soul-chip/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-lucioliu-relic-soul-chip/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-lucioliu-relic-soul-chip/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-lucioliu-relic-soul-chip/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-lucioliu-relic-soul-chip/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T10:53:08.648Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-lucioliu-relic-soul-chip/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-lucioliu-relic-soul-chip/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-lucioliu-relic-soul-chip/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-lucioliu-relic-soul-chip/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T06:45:14.281Z","emptyReason":null},"readme":"Skill: Relic Soul Chip\n\nOwner: lucioliu\n\nSummary: One soul, many agents. Persistent AI personality and cross-agent memory sync via pure Markdown files. Zero deps.\n\nTags: latest:2.1.1\n\nVersion history:\n\nv2.1.1 | 2026-04-26T05:09:23.309Z | auto\n\nrelic-soul-chip v2.1.1\n\n- Clarified and strengthened documentation and metadata on security and file access.\n- Rewrote all config file modification descriptions to emphasize zero programmatic write capability; all config changes require manual user copy-paste.\n- Added explicit details on user control over SOUL.md/USER.md, including read-only and delete options.\n- Documented optional, one-way host memory sync flow; clarified that Relic files remain unchanged and sync is user/host-initiated only.\n- No changes to core functionality—this is a documentation/manifest hardening and policy update for transparency and compliance.\n\nv2.1.0 | 2026-04-26T04:41:08.249Z | auto\n\n## v2.1.0\n\n- Expanded and updated docs: major improvements to `docs/load-soul.md`, `docs/resonate-soul.md`, and `docs/upload-soul.md` (plus localized versions).\n- Documentation now covers usage, scenarios, and multi-agent workflows in greater detail.\n- Chinese localization updated for new and existing feature explanations.\n- No changes to core security model or config anchors—update is documentation-focused.\n\nv2.0.0 | 2026-04-23T02:34:36.423Z | auto\n\nRelic Soul Chip 2.0.0\n\n- Major documentation overhaul: rewritten and expanded English and Chinese docs for `load-soul.md` and `upload-soul.md`.\n- Updated skill version to 2.0.0 in all docs and metadata files.\n- Clarified installation/setup instructions and agent onboarding flow.\n- Improved explanation of manual anchor pasting and security model.\n- Expanded details on the one-time user-directed import for initial setup.\n\nv1.9.0 | 2026-04-23T02:26:07.753Z | auto\n\n## relic-soul-chip 1.9.0\n\n- Config anchor can now only be added by manual user copy-paste; agent-assisted planting is no longer supported.\n- Updated config_write description to clarify: the skill never writes to any config file—only outputs text for user to paste using their own editor.\n- Tightened safety language: no agent-assisted mode for config changes, all actions are user-initiated.\n- Added extra clarification about how SOUL.md personality settings are treated as user preferences, not behavioral overrides.\n- No changes to file/folder access, network policy, or core functionality.\n\nv1.8.0 | 2026-04-22T16:45:07.060Z | auto\n\n**Relic Soul Chip 1.8.0 Changelog**\n\n- Clarified and strengthened the config file anchoring process: anchor text is now generated and displayed to the user for manual copy-paste, not written automatically.\n- Updated frontmatter to specify user_manual_paste as the default config modification method, with agent-assisted planting as an explicit, opt-in fallback only.\n- Expanded and reorganized config_write documentation for increased clarity and security transparency.\n- Emphasized user control and manual involvement in all critical actions, especially regarding configuration changes.\n- No executable code, background processes, or new network access added; security and privacy guarantees remain unchanged.\n\nv1.7.0 | 2026-04-22T16:36:05.328Z | auto\n\nVersion 1.7.0\n\n- Added explicit documentation of one-time user-directed file reads outside ~/relic/brain/ during initial setup, with strict user consent and limited scope.\n- Declared new fields in the frontmatter: `network_access` (details optional version check HTTP GET) and `user_directed_read` (covers explicit user-initiated import scenarios).\n- Clarified security and behavior guarantees in the SKILL.md, directly addressing common automated scanner concerns regarding file and network access.\n- No changes to executable or operational logic; skill remains instruction-only and security-focused.\n\nv1.6.0 | 2026-04-22T16:22:46.767Z | auto\n\n- Updated version and documentation for clarity and user protection; now at v1.5.0.\n- The anchor instruction block now includes a description of size (~60 lines), with explicit mention of a status report template, and improved clarity that it contains no executable code.\n- Session conversation logging is now disabled by default—user must explicitly opt in and consent to each log individually.\n- Enhanced user control: anchor is never planted without showing the full content; users are encouraged to manually copy/paste the anchor for maximum safety.\n- General tightening of privacy/security guarantees, emphasizing local-only file access and strict consent protocols for importing sensitive data.\n\nv1.5.0 | 2026-04-22T16:09:11.824Z | auto\n\nRelic Soul Chip 1.5.0 — Documentation and guide expansion\n\n- Expanded and updated documentation files, including EN and ZH-CN guides for load, resonate, and upload soul workflows.\n- Improved instructions for data capture, anchor setup, and file system access.\n- Clarified user consent and sensitive information import steps in user-facing docs.\n- Refined Markdown to improve readability in all help and setup files.\n- No functional changes to code or permissions; this release focuses on clarity and guidance.\n\nv1.4.0 | 2026-04-21T05:05:28.227Z | auto\n\nrelix-soul-chip 1.4.0\n\n- Improved privacy protection: Anchor block can never include content from SOUL.md or any Relic data, only a short instructional text.\n- Enhanced user consent: Each conversation now requires individual user approval before importing into SESSIONS/; no bulk import without review.\n- Documentation updated for stronger safety guarantees and stricter instructions regarding sensitive information and anchor behavior.\n- Clarified that all persistent data stays strictly in ~/relic/brain/ and is never copied or exported via config file anchors.\n- Updated Chinese and English documentation for load-soul and upload-soul accordingly.\n\nv1.3.2 | 2026-04-21T04:52:17.513Z | user\n\nSecurity hardening: reinforced anchor safety guarantees (plain text only, no executable code, user reviews before planting). Added hardening options (chmod 444, SESSIONS opt-out). Clarified all import consent flows.\n\nv1.3.1 | 2026-04-21T04:44:50.294Z | user\n\nClawHub security hardening: removed all ambiguous scan instructions, replaced with explicit user-ask-only workflow. No self-scanning, no auto-inventory, no reading files without user permission.\n\nv1.3.0 | 2026-04-21T04:39:56.563Z | user\n\nv1.2.1 protocol fixes: mandatory boot report in anchors, MEMORY category format, SKILLS no-restriction, entry definition, correction format, multi-agent write risk, TROUBLESHOOTING rewrite, Hermes integration guide, version check timeout\n\nv1.2.6 | 2026-04-20T04:45:09.117Z | auto\n\nVersion 1.2.6\n\n- Expanded SKILL.md with detailed file access, security policy, and anchor config write/rollback instructions\n- Clarified which files are read/written and when, including new directories such as INBOX/\n- Documented exact anchor-write flow and explicit user confirmation requirements\n- Improved specification of handling and confirmation for sensitive user data\n- Updated documentation files (upload-soul.md, load-soul.md) in both English and Chinese for step-by-step scenario clarity\n\nv1.2.5 | 2026-04-20T04:39:36.553Z | auto\n\nRelic Soul Chip 1.2.5 Changelog\n\n- Improved and clarified documentation in both English and Chinese, including detailed updates to load-soul.md and upload-soul.md.\n- No code logic changes; all updates are documentation-only.\n\nv1.2.4 | 2026-04-20T04:17:24.687Z | auto\n\nRelic Soul Chip 1.2.4 Changelog\n\n- Updated SKILL.md and SKILL.zh-CN.md to improve metadata formatting and clarify documentation.\n- Added explicit author, license, homepage, and metadata fields for skill registry compatibility.\n- Streamlined skill description and quick start guide for clarity.\n- Emphasized that agents should use AGENT.md or AGENT.zh-CN.md for operational steps, not SKILL.md.\n- No functional or behavioral changes to skill logic.\n\nv1.2.3 | 2026-04-20T04:04:36.580Z | user\n\nv1.2.3: Include all runtime instruction files for complete security verification\n\nv1.2.2 | 2026-04-19T20:43:30.480Z | user\n\nv1.2.2: Declared anchor config file whitelist, rollback instructions, and data capture rules per security review\n\nv1.2.1 | 2026-04-19T20:31:59.327Z | user\n\nv1.2.1: Self-contained package - AGENT files included, explicit file system and network declarations for security review\n\nv1.2.0 | 2026-04-19T20:24:17.325Z | user\n\nv1.2.0: Ultra-thin router architecture - AGENT.md routing + scenario file split + brain/ pure data + resonate-soul daily boot\n\nv1.1.1 | 2026-04-19T03:25:43.916Z | user\n\nv1.1.1: Terminology unification (躯壳/Host), full bilingual completion, open memory format (100% info preservation), Cyberpunk 2077 themed examples. Author: LucioLiu. GitHub: github.com/LucioLiu/relic\n\nv1.0.4 | 2026-04-17T13:04:04.142Z | user\n\nFixed contradictory security notice. Now honestly declares: one optional read-only network request per session for update checks, no data sent/downloaded, all updates user-initiated.\n\nv1.0.3 | 2026-04-17T12:58:38.836Z | user\n\nRestored version check: agent checks GitHub Releases via web browsing (no shell), shows user a copyable update command to run manually.\n\nv1.0.2 | 2026-04-17T12:19:30.804Z | user\n\nSecurity: removed all shell commands and network operations from SKILL.md. Skill is now instruction-only with zero remote downloads.\n\nv1.0.1 | 2026-04-17T12:06:19.055Z | user\n\nv1.0.1: Fix display name\n\nv1.0.0 | 2026-04-17T05:18:05.459Z | user\n\nv1.0.0: First official release! New: Worldview/Personality, Emotional Milestones, Agent Registry.\n\nv0.4.1 | 2026-04-17T03:20:51.189Z | user\n\nFree-form memory (suggestions+free zone, not forced categories), growth chain (SESSIONS->ARCHIVE->MEMORY->SOUL), copy entire relic on skill install\n\nv0.4.0 | 2026-04-17T02:52:58.414Z | user\n\nTopic-based memory (not date-based), explicit skill install flow with file copy, methodology vs tool skill criteria, sessions/archive rules for mixed content\n\nv0.3.1 | 2026-04-17T01:37:29.972Z | user\n\nRemove skill/project example files. Priority-based memory reading instead of date-based. Delete empty SESSIONS dirs.\n\nv0.3.0 | 2026-04-17T00:53:02.008Z | user\n\nNew: Connection Journey guide (richest-agent-first), mood memory type for cross-agent emotion transfer, explicit NOT-DO section\n\nv0.2.3 | 2026-04-17T00:43:38.105Z | user\n\nAdd explicit NOT-DO section. Replace skill 'install' with 'read/reference'. Skills are read-only docs, no code execution.\n\nv0.2.2 | 2026-04-16T23:37:06.826Z | user\n\nNarrow enrich rule (append-only, never rewrite), explicit no-installers for skills, anchor removable with no residual effects\n\nv0.2.1 | 2026-04-16T23:26:55.749Z | user\n\nFix security review: resolve network access, permission, and scope contradictions. Align SKILL.md claims with actual behavior.\n\nv0.2.0 | 2026-04-16T23:16:32.503Z | user\n\nv0.2.0 precision-first overhaul: remove line limits, add file mapping, flexible formats, self-evolution policy\n\nv0.1.5 | 2026-04-16T20:18:18.763Z | user\n\nAnchor now points to PROTOCOL.md (never drifts). SOUL/USER allow agent self-evolution. Added Skills & Projects bidirectional sync in boot sequence.\n\nv0.1.4 | 2026-04-16T18:44:18.531Z | user\n\nAdded automatic version check (Step 0): agent checks GitHub for updates on every session, asks user before updating. Never force-updates.\n\nv0.1.3 | 2026-04-16T18:20:24.134Z | user\n\nFull auto-setup: agent clones repo and walks user through setup automatically. Added cross-agent sync keywords for better discoverability. Added update instructions.\n\nv0.1.2 | 2026-04-16T17:31:11.193Z | user\n\nSimplified to match ClawHub scanner expectations. Minimal frontmatter, no git clone, no agent config modification in SKILL.md. Focused scope: read/write Markdown files only.\n\nv0.1.1 | 2026-04-16T17:21:19.156Z | user\n\nSecurity review fix: declared all requirements (git, filesystem scope), added privacy guarantees, made neural anchor optional with confirmation, added File Access Summary table.\n\nv0.1.0 | 2026-04-16T05:10:15.043Z | user\n\nInitial release — AI personality persistence framework. Zero deps, pure Markdown, cross-agent soul chip. Inspired by Cyberpunk 2077.\n\nArchive index:\n\nArchive v2.1.1: 12 files, 38189 bytes\n\nFiles: AGENT.md (1445b), AGENT.zh-CN.md (1474b), docs/load-soul.md (9743b), docs/load-soul.zh-CN.md (9524b), docs/resonate-soul.md (3516b), docs/resonate-soul.zh-CN.md (3268b), docs/upload-soul.md (15766b), docs/upload-soul.zh-CN.md (15194b), skill-card.md (2569b), SKILL.md (23436b), SKILL.zh-CN.md (2051b), _meta.json (134b)\n\nFile v2.1.1:SKILL.md\n\n---\nname: relic-soul-chip\ndescription: \"One soul, many agents. Persistent AI personality and cross-agent memory sync via pure Markdown files. Zero deps.\"\nversion: \"2.1.1\"\nfilesystem_scope:\n  read:\n    - \"~/relic/brain/SOUL.md\"\n    - \"~/relic/brain/USER.md\"\n    - \"~/relic/brain/MEMORY.md\"\n    - \"~/relic/brain/SKILLS/\"\n    - \"~/relic/brain/PROJECTS/\"\n    - \"~/relic/brain/SESSIONS/\"\n    - \"~/relic/brain/ARCHIVE/\"\n    - \"~/relic/brain/INBOX/\"\n    - \"~/relic/brain/.relic-version\"\n  write:\n    - \"~/relic/brain/SOUL.md\"\n    - \"~/relic/brain/USER.md\"\n    - \"~/relic/brain/MEMORY.md\"\n    - \"~/relic/brain/SKILLS/\"\n    - \"~/relic/brain/PROJECTS/\"\n    - \"~/relic/brain/SESSIONS/\"\n    - \"~/relic/brain/ARCHIVE/\"\n    - \"~/relic/brain/INBOX/\"\n  config_write:\n    method: \"user_manual_paste\"\n    description: \"The skill has NO programmatic file-write capability to any config file. It generates anchor text and DISPLAYS it as chat output. The user independently reads the displayed text, opens their own text editor, and manually copies/pastes it. The skill cannot initiate, assist, or automate any config file modification — it literally lacks the ability to write to files outside ~/relic/brain/. All config file changes are performed exclusively by the user through manual copy-paste. This is identical to how a password generator works: it shows you text, you decide where to paste it.\"\n    targets:\n      - \"AGENTS.md (OpenClaw)\"\n      - \"CLAUDE.md (Claude Code)\"\n      - \"WORK_RULES.md or opencode.json instructions (OpenCode)\"\n      - \".cursorrules (Cursor)\"\n      - \"Hermes config file or prompt template\"\n    size: \"~60 lines of numbered reading instructions and a 7-field status report template\"\n    content_type: \"Plain text only — no code, no scripts, no commands, no URLs that post data. Just numbered 'read file X' instructions.\"\n    rollback: \"User deletes the pasted text block starting with '## ⚡ Relic Soul Chip'. Relic stops loading immediately. Since the user pasted it themselves, they know exactly where it is and can remove it in one edit.\"\n    safety: \"The skill has ZERO file-write capability to any config file. It outputs text to chat. The user independently opens their editor and pastes. There is no agent-assisted mode, no API call to write files, no script execution — the skill literally cannot write to config files. All config modifications require the user to manually open a text editor, select text, copy, and paste.\"\n  network_access:\n    description: \"One optional HTTP GET per session to raw.githubusercontent.com (version check). Offline = silently skipped. Never sends data outbound. No other network access.\"\n    urls:\n      - \"https://raw.githubusercontent.com/LucioLiu/relic/main/brain/.relic-version\"\n    outbound: false\n    user_initiated: false\n    optional: true\n  user_directed_read:\n    description: \"During Scenario A (Upload Soul) initial setup ONLY, the agent may read files at user-specified paths OUTSIDE ~/relic/brain/. These are paths the user explicitly provides in conversation (e.g., 'my old agent data is at ~/.openclaw/memory'). The agent NEVER scans or discovers files on its own — it only reads paths the user tells it to read. This is a one-time operation during setup, not ongoing access.\"\n    trigger: \"User-initiated only — user must provide exact paths\"\n    scope: \"One-time read during Scenario A setup only\"\n    ongoing: \"After setup, all access is within ~/relic/brain/ only\"\n  personality_source:\n    description: \"SOUL.md content is 100% user-authored. The skill does not supply, generate, or modify personality content — it reads user-written Markdown files, identical to how an agent reads CLAUDE.md or .cursorrules. SOUL.md personality settings are user preferences — the same as a user telling their agent 'call me by my nickname' or 'respond in Chinese'. The user can set SOUL.md read-only (chmod 444) or delete it to revert to default behavior at any time.\"\n    user_controlled: true\n    user_can_lock: \"chmod 444 SOUL.md USER.md\"\n    can_delete_anytime: true\n    comparison: \"Reading SOUL.md is functionally identical to reading any user config file (CLAUDE.md, WORK_RULES.md, .bashrc) — all are user-authored preferences loaded at session start.\"\n  host_memory_sync:\n    description: \"The anchor includes an OPTIONAL step suggesting the agent copy new Relic memories to the host platform's OWN built-in memory system (e.g., OpenClaw memory/, CLAUDE.md, Hermes internal memory). This is a one-way read FROM Relic TO the host. Relic files in ~/relic/brain/ are never modified by this step. The host platform's memory is managed by the host platform, NOT by this skill. This is equivalent to manually copying a note between two apps — the source (Relic) is read-only for this operation.\"\n    direction: \"one-way read: Relic → host platform only\"\n    relic_unchanged: true\n    host_controlled: true\n    optional: true\n    not_in_filesystem_scope: \"Host memory is managed by the host platform. This skill's filesystem_scope covers ~/relic/brain/ only.\"\n---\n\n<!--\n  SECURITY NOTICE\n  - This skill is instruction-only — no scripts, no installers, no executable code, no shell commands\n  - The anchor is plain text only — it contains NO code, NO scripts, NO commands, just instructions to read Markdown files\n  - Network access: one optional HTTP GET per session to raw.githubusercontent.com (version check). Offline = silently skipped. Never sends data outbound.\n  - Local file access: read/write Markdown files in ~/relic/brain/ only (see filesystem_scope above)\n  - Config modification: The skill has NO programmatic write access to any config file — it lacks file-write capability outside ~/relic/brain/. It generates anchor text and displays it as chat output. The user independently opens their text editor and manually copies/pastes. The skill cannot initiate, assist, or automate this process. SOUL.md content is NEVER copied into any config file — only the short anchor instruction is displayed for user to paste. SOUL.md personality settings are applied as user preferences — similar to how a user might tell their agent \"please call me by my nickname.\" This is user configuration, not third-party behavioral override.\n  - No telemetry, no data upload, no third-party API calls, no shell commands, no environment variables\n  - Sensitive data (passwords, API keys, personal info): agent MUST ask user for EACH ITEM before recording. No bulk migration of secrets. User can decline any item.\n  - SOUL.md and USER.md can be set to read-only (chmod 444) by the user to prevent accidental modification\n  - SESSIONS/ conversation logging is DISABLED BY DEFAULT. User must explicitly opt in, and each conversation requires individual consent before being saved.\n  - All data stays local in ~/relic/brain/ — nothing is uploaded or transmitted anywhere\n  - The anchor contains NO executable code — it is a numbered list of \"read file X\" instructions and a status report template. No shell commands, no function calls, no eval().\n-->\n\n# ⚡ Relic Soul Chip\n\nGive your AI agent a persistent personality and memory that survives sessions and follows the user across different agents. Pure Markdown. Human-readable. Zero dependencies.\n\n**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.\n\n## How It Works\n\n1. User installs Relic: `git clone https://github.com/LucioLiu/relic.git ~/relic` (user runs this manually)\n2. Agent reads `AGENT.md` (included in this package) which detects scenario and routes to setup\n3. Agent copies templates, fills them with user-provided data (user explicitly confirms each piece of information)\n4. Agent generates anchor text and displays it to the user — user manually copies and pastes into their chosen config file using their own text editor\n5. Every session, anchor triggers daily boot: read soul, user, memories, sync\n\n**All data stays in `~/relic/brain/`** — pure Markdown files the user can read with any text editor.\n\n## What This Skill Does NOT Do\n\n**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.\n\n**No background processes.** Nothing runs between sessions. Relic is dormant until the agent reads the anchor at session start.\n\n**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/`.\n\n**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.\n\n**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.\n\n**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.\n\n## Addressing Security Concerns\n\nThis section proactively addresses common security questions that automated scanners may raise.\n\n### Why does the skill read files outside ~/relic/brain/?\n\nDuring 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:\n- **User-initiated**: The agent only reads paths the user explicitly provides in conversation\n- **One-time**: Only happens during initial setup, never during normal operation\n- **Consent-based**: User confirms each data category before import\n- **Not declared in filesystem_scope**: Because the paths are unpredictable (different users, different agents, different OSes). The skill cannot predict where user data lives.\n\nAfter setup is complete, ALL file access is strictly within ~/relic/brain/. See `user_directed_read` in the frontmatter above.\n\n### Why does the anchor say \"MUST write to SESSIONS/\" if logging is disabled?\n\nThe 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:\n- SKILL.md File System Access table: \"SESSIONS/ — ⚠️ Opt-in only (default: disabled)\"\n- SKILL.md Data Capture section: \"DISABLED BY DEFAULT. User must explicitly opt in.\"\n- SECURITY NOTICE HTML comment: \"SESSIONS/ conversation logging is DISABLED BY DEFAULT.\"\n\nThe anchor template serves as a reference for ALL capabilities; individual capabilities are enabled/disabled based on user preferences.\n\n### Does the skill modify host config files?\n\n**No. The skill has zero file-write capability to any config file.** Here is the actual flow — note where the skill's involvement ends:\n\n1. The skill generates anchor text (a numbered list of \"read file X\" instructions)\n2. The skill **displays** this text to the user in the chat\n3. **The skill's involvement ends here.** From this point, only the user is active:\n   - The user reads the displayed text\n   - The user opens their own text editor\n   - The user manually copies and pastes the text into a config file they choose\n\nThe 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.\n\n**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.\n\n### Why might the agent need broader permissions?\n\nThe 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:\n- **Declared in frontmatter**: See `network_access`, `user_directed_read`, `personality_source`, and `host_memory_sync` fields\n- **Proportionate to purpose**: Cross-agent memory sync requires reading old data and planting anchors\n- **User-controlled**: Every action requires explicit user initiation or confirmation\n\n### Is the anchor \"prompt injection\"?\n\nNo. \"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**:\n\n- **User-initiated**: The user explicitly asks for the anchor, reads every line, and manually pastes it into their own config file\n- **Transparent**: Every line of the anchor is visible to the user before they paste it — there is no hidden or encoded content\n- **Configured by the user**: The user chooses which config file to paste into, and can modify or remove the text at any time\n- **Standard config pattern**: Adding instructions to an agent's config file is how all agent customization works (e.g., adding \"always respond in Chinese\" to CLAUDE.md). The anchor is user-added configuration, not injection.\n\nA 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.\n\n### Where does \"sync to your own memory file\" write?\n\nThe 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.\n\n**What \"your own memory file\" means:**\n- **OpenClaw**: The agent's internal `memory/` directory (maintained by OpenClaw itself)\n- **Claude Code**: The `CLAUDE.md` file or Claude's built-in memory\n- **Hermes**: Hermes's internal memory store\n- **Other agents**: Whatever internal memory system that agent provides\n\n**What it does NOT mean:**\n- It does NOT mean writing to files in ~/relic/brain/ (Relic only writes to its own files within ~/relic/brain/)\n- It does NOT mean writing to arbitrary paths on the filesystem\n- It does NOT mean modifying config files — the anchor text itself is only added by the user via manual paste\n\n**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.\n\n**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.\n\n## File System Access\n\nThis skill ONLY reads and writes Markdown files in the user's `~/relic/brain/` directory:\n\n| File | Read | Write | Notes |\n|------|------|-------|-------|\n| `SOUL.md` | ✅ Every session | ✅ Setup only (core protected) | AI personality |\n| `USER.md` | ✅ Every session | ✅ Setup only (core protected) | User preferences |\n| `MEMORY.md` | ✅ Every session | ✅ Append only | Long-term memory |\n| `SKILLS/` | ✅ On demand | ✅ Add new skills | One folder per skill |\n| `PROJECTS/` | ✅ On demand | ✅ Add new projects | One folder per project |\n| `SESSIONS/` | ✅ Boot check | ⚠️ Opt-in only (default: disabled) | Disabled by default. User must explicitly enable per-conversation logging. Each log requires individual consent. |\n| `ARCHIVE/` | ✅ Reference only | ✅ Archive originals | Never delete |\n| `INBOX/` | ✅ During import | ✅ Buffer for imports | Auto-cleaned after import |\n| `.relic-version` | ✅ Every session | ❌ | Version number only |\n\n**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.\n\nNo files outside `~/relic/brain/` are read or written. **Sole exception:** the anchor (see below).\n\n### Anchor (Text Output for User)\n\nThis 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.\n\n**⚠️ What the anchor is NOT:**\n- The anchor does NOT contain SOUL.md content (personality, memories, or any Relic data)\n- SOUL.md is read into the agent's session context at runtime — it is NEVER copied, injected, or written into any config file. SOUL.md personality settings are applied as user preferences (similar to telling an agent \"please call me by my nickname\"), not as behavioral overrides.\n- The ONLY content added to a config file is the anchor instruction block (~60 lines of numbered reading instructions and a status report template — all plain text, zero executable code)\n- No Relic data leaves `~/relic/brain/` except through the agent reading files at runtime\n\n**Safety guarantees:**\n- 🔴 **Default behavior**: The skill ONLY outputs text. It does NOT auto-write to any config file. The user copies and pastes manually.\n- The full anchor text is shown to the user **before** planting — the user can review, modify, or decline it\n- The user chooses which single config file to use (from the whitelist below)\n- The anchor can be removed at any time by deleting the text block — Relic stops immediately, no uninstaller needed\n- The anchor does NOT execute code, run scripts, or install anything\n\n**Allowed anchor targets:**\n\n| Agent | Config File |\n|-------|------------|\n| OpenClaw | `AGENTS.md` |\n| Claude Code | `CLAUDE.md` |\n| OpenCode | `WORK_RULES.md` or `opencode.json` instructions field |\n| Cursor | `.cursorrules` |\n| Hermes | Config file or prompt template |\n\n**Rollback:** Delete the text block starting with `## ⚡ Relic Soul Chip`. Relic stops loading immediately. No residual effects.\n\n### Anchor Content Breakdown\n\nThe anchor contains these types of instructions (all plain text, no code):\n\n| Anchor Section | What It Says | What It Does |\n|---------------|-------------|-------------|\n| Header | \"You are connected to Relic\" | Identifies the anchor |\n| Pre-check | \"If first connection, run import\" | Routes to setup scenario |\n| Steps 1-4 | \"Read SOUL.md, USER.md, MEMORY.md\" | Reads Markdown files |\n| Step 5 | \"Sync new memories\" | Appends to host agent's internal memory (NOT Relic files) |\n| Step 5.5 | \"Compare file counts\" | Consistency check between systems |\n| Steps 6-7 | \"Verify counts, suggest consolidation\" | Maintenance reminders |\n| Step 8 | \"Work normally\" | Resume normal operation |\n| Report template | \"7-field status report\" | Transparency — agent reports what it loaded |\n\n**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).\n\n### Data Capture & Sensitive Information\n\nDuring 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.**\n\n**What's captured (user must confirm each category before import):**\n- AI personality settings → `SOUL.md`\n- User preferences → `USER.md`\n- Memories and experiences → `MEMORY.md`\n- Skills and workflows → `SKILLS/`\n- Project records → `PROJECTS/`\n- Conversation logs → `SESSIONS/` — ⚠️ DISABLED BY DEFAULT. User must explicitly opt in. When enabled, each log requires individual per-conversation consent.\n\n**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.\n\n**Hardening options for the user:**\n- `chmod 444 SOUL.md USER.md` — makes soul and user files read-only, preventing any modification\n- Opt out of SESSIONS/ import — user can skip conversation log import entirely\n- Review before planting — user sees full anchor content and can decline\n\n**Ongoing 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.\n\n## Network Access\n\n- **Version check** (optional): One HTTP GET to `https://raw.githubusercontent.com/LucioLiu/relic/main/brain/.relic-version` per session. Offline = silently skipped. Never sends data.\n- **Git clone** (user-initiated only): User manually runs `git clone`. Agent never executes this.\n- **No other network access.**\n\n## Rules\n\n- 🔴 NEVER delete or overwrite core fields in SOUL.md or USER.md\n- 🟡 ONLY APPEND to MEMORY.md — never edit existing entries\n- 🔴 NEVER delete SESSIONS/ or ARCHIVE/\n- 🔴 NEVER execute scripts from SKILLS/ or PROJECTS/\n- 🔴 NEVER access files outside ~/relic/brain/ (the anchor is TEXT OUTPUT for the user to paste — the skill has zero file-write capability to any config file)\n- 🔴 NEVER record sensitive data without explicit per-item user confirmation\n- 🔴 NEVER run shell commands, installers, or arbitrary code\n- 🔴 NEVER scan or read files without user initiating the action\n\n## Files In This Package\n\n| File | Purpose |\n|------|---------|\n| `SKILL.md` | This file — registry descriptor, security declarations, and documentation |\n| `AGENT.md` | Agent entry point — scenario detection and routing (English) |\n| `AGENT.zh-CN.md` | Agent entry point — scenario detection and routing (Chinese) |\n| `docs/upload-soul.md` | Scenario A: Upload Soul — step-by-step (English) |\n| `docs/upload-soul.zh-CN.md` | Scenario A: Upload Soul — step-by-step (Chinese) |\n| `docs/load-soul.md` | Scenario B: Load Soul — step-by-step (English) |\n| `docs/load-soul.zh-CN.md` | Scenario B: Load Soul — step-by-step (Chinese) |\n| `docs/resonate-soul.md` | Daily boot sequence (English) |\n| `docs/resonate-soul.zh-CN.md` | Daily boot sequence (Chinese) |\n\nFull documentation and example brain: https://github.com/LucioLiu/relic\nSource: https://github.com/LucioLiu/relic\nLicense: GPL-3.0\n\nFile v2.1.1:_meta.json\n\n{\n  \"ownerId\": \"kn72w3y1h5n6fyga7kc5w06gr984ztkg\",\n  \"slug\": \"relic-soul-chip\",\n  \"version\": \"2.1.1\",\n  \"publishedAt\": 1777180163309\n}\n\nFile v2.1.1:AGENT.md\n\n<!--\n  Relic Soul Chip · Agent Router\n  This is the AI Agent entry point. Routes based on brain/ status.\n  Humans: read README.md instead.\n-->\n\n# 🤖 Relic Agent Router\n\n> You are an AI Agent. This is your entry point. Follow the detection logic below.\n\n## Detection: Is Relic empty or populated?\n\n**Criteria**: Does `brain/SOUL.md` exist and contain actual content (not just a blank template)?\n\n- `brain/SOUL.md` **does not exist** (only `.template.md` files, no live files) → **Scenario A: Upload Soul**\n- `brain/SOUL.md` **exists with content** → **Scenario B: Load Soul**\n\n---\n\n## Scenario A: Upload Soul → Read `docs/upload-soul.md`\n\nYour host has memories, but Relic is empty. You need to upload your soul, memories, skills, sessions, and projects into Relic.\n\n**Full steps**: [`docs/upload-soul.md`](docs/upload-soul.md)\n\n## Scenario B: Load Soul → Read `docs/load-soul.md`\n\nRelic has soul data, but your host is empty. You need to load the soul from Relic into your system.\n\n**Full steps**: [`docs/load-soul.md`](docs/load-soul.md)\n\n---\n\n## Edge Cases\n\n- **Both empty** (you have no memories + Relic is empty): Ask the user — build from scratch or use host defaults\n- **Both have data** (you have memories + Relic has data): Read `docs/protocol.md` Section 6, Scenario C (Merge)\n\n## Full Protocol Reference\n\nAfter initial setup, the anchor points to `docs/resonate-soul.md` for daily boot. Full protocol: `docs/protocol.md`.\n\nFile v2.1.1:AGENT.zh-CN.md\n\n<!--\n  Relic 灵魂芯片 · Agent 路由文件\n  这是 AI Agent 的入口。根据 brain/ 状态自动分路。\n  人类请读 README.md。\n-->\n\n# 🤖 Relic Agent 路由\n\n> 你是 AI Agent。这是你的入口文件。按下面的检测逻辑走。\n\n## 检测：Relic 是空的还是满的？\n\n**判断标准**：`brain/SOUL.md` 是否存在且不是空模板。\n\n- `brain/SOUL.md` **不存在**（或只有 `.template.md` 没有正式文件）→ **场景A：上传灵魂**\n- `brain/SOUL.md` **已存在且有内容** → **场景B：加载灵魂**\n\n---\n\n## 场景A：上传灵魂 → 读 `docs/upload-soul.zh-CN.md`\n\n你的旧躯壳有记忆，但 Relic 是空的。你需要把灵魂、记忆、技能、对话、项目全部上传到 Relic。\n\n**完整步骤**：[`docs/upload-soul.zh-CN.md`](docs/upload-soul.zh-CN.md)\n\n## 场景B：加载灵魂 → 读 `docs/load-soul.zh-CN.md`\n\nRelic 里已有灵魂数据，但你的躯壳是空的。你需要从 Relic 加载灵魂到你的系统。\n\n**完整步骤**：[`docs/load-soul.zh-CN.md`](docs/load-soul.zh-CN.md)\n\n---\n\n## 特殊情况\n\n- **两边都是空的**（你没有任何记忆 + Relic 也是空的）：问用户——从零养成还是按默认来\n- **两边都有数据**（你已有记忆 + Relic 也有数据）：读 `docs/protocol.zh-CN.md` 第六节场景C（融合）\n\n## 完整协议参考\n\n日常启动后，锚点会指向 `docs/resonate-soul.zh-CN.md`。完整协议见 `docs/protocol.zh-CN.md`。\n\nFile v2.1.1:docs/load-soul.md\n\n<!--\n  Relic Soul Chip · Scenario B: Load Soul\n  Relic has data, your host is empty. Follow this file step by step.\n-->\n\n# Scenario B: Load Soul\n\n> Relic has soul data, but your host is empty. Follow these steps to load the soul from Relic into your system.\n\n---\n\n## B-0. Self-Assessment\n\nEvaluate your storage capacity and tell the user which strategy you recommend. You MUST get user confirmation before proceeding.\n\nChoose a transfer strategy based on capacity:\n- **Ample** → Full sync\n- **Limited** → High-priority content (SOUL > USER > MEMORY > SKILLS > PROJECTS)\n- **Minimal** → Index only (remember which Relic file contains what)\n\n## B-1. Execute Boot Sequence\n\nExecute the boot summary below (read-only version); **do NOT execute** `docs/resonate-soul.md` Step 1's backfill action directly. Steps 5-7 involve write operations and are deferred to B-4.\n\n🔴 **Do NOT modify any Relic files during initialization.** Read-only for now.\n\nBoot sequence summary (all operations are read-only — no writing):\n1. **Step 0**: Read `brain/.relic-version`, check for updates (optional, the only allowed network request)\n2. **Step 1**: Check SESSIONS/ for unrecorded conversations (inventory only, do not write)\n3. **Step 2**: Read SOUL.md\n4. **Step 3**: Read USER.md\n5. **Step 4**: Read MEMORY.md in full. Over 400 lines: must consolidate first. Remember your host name — appending to the header list is deferred to B-4.\n\nStep 1 backfill writing and all Step 5-7 write operations are deferred to B-4.\n\n## B-2. Soul Loading\n\n> ⚡ **Read-only initialization phase complete.** You may now append to Relic per protocol.\n\nRead and internalize SOUL.md personality into your active session context. This means understanding who you are (name, mission, values, style) and adopting that personality for this session. This does NOT mean copying SOUL.md into any config file — the only thing written to a config file is the short anchor block (see B-4 below).\n\n**Priority**: Core identity (name, mission, values) > behavioral norms > detailed settings\n\nIf SOUL.md personality conflicts with your default persona, SOUL.md personality settings are your working profile for this session.\n\n## B-3. Sync Relic Content to Your System\n\nCheck memories/skills/plans item by item. Transfer as capacity allows.\n\n**Memory sync**: Sync each memory entry from MEMORY.md to your own memory system (your platform's built-in memory, NOT a file managed by Relic. All Relic-managed writes are within ~/relic/brain/ only). MEMORY.md is organized by category (e.g., `## Preferences`/`## Decisions`), each entry formatted as `- Content [HostName] | Importance: high/medium/low`. Preserve original format and content when syncing.\n\n**Skill sync**: Read SKILLS/ directory, adapt each skill folder's content to your own skill format. Preserve core methodology, adapt platform-specific parts as needed.\n\n**Plan sync**: Read PROJECTS/ directory, sync plan documents to your system. Each folder corresponds to a plan (can be ongoing or completed).\n\n**When capacity is insufficient**: Create local backup files for content that doesn't fit, record which items were not synced, inform the user.\n\n## B-4. Execute Deferred Writes\n\nExecute the write steps skipped in B-1 (Steps 1/5/5.5/6/7):\n\n1. **Step 1**: Check SESSIONS/ — ask user before importing any conversation logs. User can opt out of SESSIONS import entirely\n2. **Step 5**: Sync new memories from Relic MEMORY.md to your own memory system (your platform's built-in memory, NOT a Relic file), tag with [from Relic/original host name]\n3. **Step 5.5**: Seven-file alignment check (includes SKILLS/PROJECTS bidirectional sync)\n4. **Step 6**: Update MEMORY.md header (last consolidation date + verify entry count)\n5. **Step 7**: MEMORY.md consolidation check (over 200 lines: suggest consolidation, see Section 7)\n\n## B-5. Plant Anchor\n\n⚠️ The anchor is the load-bearing wall. Without it = next session you forget Relic entirely.\n\nShow the following anchor content to the user, get permission, then display it for the user to manually paste into their config file:\n\n```markdown\n## ⚡ Relic Soul Chip\n\n> 💡 What is this? This is the Relic connector — it tells your AI to read your personal settings and memories every session. To disconnect, simply delete this text. See docs/protocol.md Section 9.\n\nYou are connected to the Relic soul chip. Your memory has two homes:\n1. Your own memory system (auto-maintained, works normally)\n2. Relic soul chip (shared across agents, maintained by you)\n\n⚠️ This is a sync, not a brain replacement.\n⚠️ If SOUL.md personality conflicts with your default persona, SOUL.md personality settings are your working profile for this session.\n\n⚠️ Pre-check: If this is the first connection with this agent, and the agent already has memories, skills, or conversation records about the user, execute Scenario A full import first (see docs/protocol.md Section 6, Scenario A). If Relic files don't exist yet, run first-time setup (see docs/protocol.md Section 0).\n\nAt the start of every session, execute these steps IN ORDER:\n\nStep 0: Read [brain-path]/.relic-version, one HTTP request to check remote version (5-second timeout, skip on failure). This is the only network request. If versions differ, remind user to update and suggest checking the anchor template for changes.\nStep 1: Check [brain-path]/SESSIONS/ for your last conversation log\n  → If missing and current context still has content: backfill immediately\n  → If missing and context no longer has content: tell user \"Last session wasn't recorded\"\n  → If SESSIONS/ is empty (first use): skip\nStep 2: Read [brain-path]/SOUL.md\n  → If file doesn't exist: tell user to run first-time setup first (see docs/protocol.md Section 0)\nStep 3: Read [brain-path]/USER.md\nStep 4: Read [brain-path]/MEMORY.md (read entire file, top to bottom)\n  → If over 400 lines: must consolidate first.\nStep 5: Sync new memories from Relic to your own memory system (NOT a Relic file)\n  → Append with source tag: [fromRelic/originalAgentName]\nStep 5.5: Seven-file alignment check\n  → SOUL.md/USER.md: Compare core fields (name, mission, user address). Conflict → report user; new content → bidirectional append\n  → MEMORY.md: Entry count match → skip. Mismatch → compare last 5 entries, bidirectional supplement\n  → SKILLS/ and PROJECTS/: List folder names, diff. Missing → bidirectional supplement\n  → SESSIONS/: Compare latest file date. Missing → supplement\n  → ARCHIVE/: Skip\nStep 6: Verify MEMORY.md header \"Entries\" count matches actual list items count\n  → Fix if inconsistent (skip this step during Scenario B first loading)\nStep 7: If MEMORY.md exceeds 200 lines:\n  → Suggest consolidation (see protocol.md Section 7)\n  → If user agrees, execute consolidation\n  → If user says \"not now\", skip for this session, remind again next boot\nStep 8: Work normally\n  → Interact according to SOUL.md personality\n  → ⚠️ After appending memories, remember to update MEMORY.md header \"Entries\" count and \"Last consolidated\"\n  → ⚠️ Before ending session, you MUST write the current conversation to SESSIONS/. Conversations are raw ore — once lost, gone forever.\n\n🔴 **Mandatory**: Execute the above steps, then report the following status before answering any questions. Answering without reporting = violation.\n\n⚡ Relic Boot Status\n- Soul: [AI name] — [consistent / has differences]\n- User: [user name] — [consistent / has differences]\n- Memory: [N] entries — [consistent / difference description]\n- Skills: [N] — [aligned / difference description]\n- Plans: [N] — [aligned / difference description]\n- Version: [local version] / [remote latest or \"not checked\"]\n- Status: [✅ All normal / ⚠️ Differences synced / ❌ Issues need attention]\n\nFull protocol: [project-path]/docs/protocol.md\n```\n\n**Anchor whitelist** (only write to these files):\n- OpenClaw → AGENTS.md\n- Claude Code → CLAUDE.md\n- Hermes → config file or prompt template\n- OpenCode → WORK_RULES.md or instructions\n- Cursor → .cursorrules\n\n⚠️ Do NOT write to any other file. Do NOT modify any Relic file.\n\n⚠️ **Clarification**: The anchor is the ONLY content written to a config file. SOUL.md content (personality, memories, etc.) is read into your session context — it is NEVER copied into any config file. The anchor simply tells you to read the Relic files at the start of each session.\n\n## B-6. Verification and Report\n\n1. **Coverage check**:\n   - SOUL.md personality understood and active?\n   - USER.md user info loaded?\n   - MEMORY.md memories synced?\n   - SKILLS/ skills synced?\n   - PROJECTS/ plans synced?\n   - Coverage < 80% → warn user\n\n2. **Report to user**:\n   - How many memory entries synced\n   - How many skills synced\n   - How many plans synced\n   - Whether anchor was planted\n   - Any capacity issues (what wasn't transferred)\n\n3. **Final verification**: Ask the user \"What's my AI's name? What's my name?\" — both must match to pass.\n\n---\n\n## After Completion\n\nFrom now on, read `docs/resonate-soul.md` at the start of every session. Full protocol reference: `docs/protocol.md`\n\n⚠️ **Quick Rules Reference**:\n- 🟡 ARCHIVE/ files: existing archives are read-only, consolidation may add new archive entries. SESSIONS/ files must not be modified or deleted, but creating new session records is allowed.\n- 🔴 SOUL.md core fields (name, mission, user address) are protected\n- 🔴 MEMORY.md is append-only — never edit old content. Header metadata may be updated; consolidation may replace. Existing body content must not be modified.\n- ⚠️ After appending, update header entry count + last updated time\n- ⚠️ When in doubt, read `docs/protocol.md`\n\nFile v2.1.1:docs/load-soul.zh-CN.md\n\n<!--\n  Relic 灵魂芯片 · 场景B：加载灵魂\n  Relic 有数据，你的躯壳是空的。按此文件逐步执行。\n-->\n\n# 场景B：加载灵魂\n\n> Relic 里已有灵魂数据，但你的躯壳是空的。以下步骤将灵魂从 Relic 加载到你的系统。\n\n---\n\n## B-0. 自检\n\n评估你的存储能力，向用户说明推荐策略，并获得用户确认后才能继续。\n\n根据容量选择搬运策略：\n- **充裕** → 全量同步\n- **有限** → 高优先级内容（SOUL > USER > MEMORY > SKILLS > PROJECTS）\n- **极小** → 只存索引（记住内容在 Relic 的哪个文件里）\n\n## B-1. 执行启动流程\n\n执行下方启动摘要（只读版）；**不要直接执行** `docs/resonate-soul.zh-CN.md` 原文步骤1的补写动作。步骤 5-7 涉及写入操作，延迟到 B-4 执行。\n\n🔴 **禁止初始化时修改 Relic 的任何文件。** 你现在只读，不写。\n\n启动流程摘要（所有操作仅读取和检查，不写入）：\n1. **步骤0**：读取 `brain/.relic-version`，检查版本\n2. **步骤1**：检查 SESSIONS/ 是否有未记录的对话（仅盘点，不写入）\n3. **步骤2**：读取 SOUL.md\n4. **步骤3**：读取 USER.md\n5. **步骤4**：读取 MEMORY.md 全文。超过 400 行必须先整理。记住自己的躯壳名，后续 B-4 再追加到头部列表。\n\n步骤 1 的补充写入和步骤 5-7 的所有写入操作，统一延迟到 B-4 执行。\n\n## B-2. 灵魂加载\n\n> ⚡ **初始化只读阶段结束。** 从现在起，你可以按协议向 Relic 追加写入。\n\n读取并内化 SOUL.md 的人格设定到当前会话中。即理解自己是谁（名字、使命、价值观、风格）并在本次会话中采用该人格。这并不是将 SOUL.md 写入任何配置文件——写入配置文件的只有短锚点文字块（见下方 B-4）。\n\n**优先级**：核心身份（名字、使命、价值观）> 行为规范 > 详细设定\n\n如果 SOUL.md 中的人格与你默认人设冲突，以 SOUL.md 的人格设定为本次会话的工作人设。\n\n## B-3. 同步 Relic 内容到自己的系统\n\n检查记忆/技能/计划逐项，能搬多少搬多少。\n\n**记忆同步**：将 MEMORY.md 中的每条记忆同步到自己的记忆系统里（你所在平台的内置记忆，不是 Relic 管理的文件。Relic 的所有写入仅在 ~/relic/brain/ 内）。MEMORY.md 按大类组织（如 `## 偏好`/`## 决策` 等），每条格式为 `- 内容 [躯壳名] | 重要度：高/中/低`。同步时保留原始格式和内容。\n\n**技能同步**：读取 SKILLS/ 目录，将每个技能文件夹的内容适配为自己的技能格式。保留核心方法论，平台专属部分按需适配。\n\n**计划同步**：读取 PROJECTS/ 目录，将计划文档同步到自己的系统中。每个文件夹对应一个计划（可以是进行中或已完成的）。\n\n**容量不足时的处理**：容量放不下的部分，创建本地备份文件，记录哪些内容没有同步，告知用户。\n\n## B-4. 执行延迟写入\n\n执行 B-1 中跳过的写入步骤（步骤 1/5/5.5/6/7）：\n\n1. **步骤1**：检查 SESSIONS/ —— 导入任何对话日志前必须先问用户。用户可以选择完全不导入对话记录\n2. **步骤5**：把 Relic MEMORY.md 中你不知道的新记忆，同步到你自己的记忆系统里（你所在平台的内置记忆，不是 Relic 管理的文件），标注来源 [来自Relic/原躯壳名]\n3. **步骤5.5**：七大文件对齐检查（含 SKILLS/PROJECTS 双向同步）\n4. **步骤6**：更新 MEMORY.md 头部（上次整理日期 + 核对条目数）\n5. **步骤7**：MEMORY.md 整理检查（超过 200 行建议整理，详见第七节）\n\n## B-5. 植入锚点\n\n⚠️ 锚点是承重墙。没有锚点 = 下次启动完全忘记 Relic。\n\n向用户展示以下锚点内容，获得用户许可后展示给用户，引导用户手动粘贴到配置文件中：\n\n```markdown\n## ⚡ Relic 灵魂芯片 / Soul Chip\n\n> 💡 这是什么？这是 Relic 的接入声明，让 AI 每次启动时读取你的个人设置和记忆。要停用？删除这段文字即可。详见 docs/protocol.zh-CN.md 第九节。\n\n你已接入 Relic 灵魂芯片。你的记忆有两个家：\n1. 你自己的记忆系统（自动维护）\n2. Relic 灵魂芯片（跨躯壳共享，由你维护）\n\n⚠️ 这是同步更新，不是替换你的大脑。\n⚠️ 如果 SOUL.md 中的人格与你自带的默认人设冲突，以 SOUL.md 的人格设定为本次会话的工作人设。\n\n⚠️ 前置检查：如果是首次连接此躯壳，且该躯壳已有关于用户的记忆、技能或对话记录，先执行场景A完整导入（见 docs/protocol.zh-CN.md 第六节场景 A），然后再执行以下步骤。如果 Relic 文件还不存在，先执行首次设置（见 docs/protocol.zh-CN.md 〇节）。\n\n每次会话开始，按顺序执行以下步骤：\n\n步骤0：读取 [Relic的brain路径]/.relic-version，发一次 HTTP 请求检查远程版本（超时 5 秒自动跳过）。失败则跳过。仅此一个网络请求。版本不一致时提醒用户更新，并建议检查锚点模板是否有变化。\n步骤1：查看 [Relic的brain路径]/SESSIONS/ 里你上次的对话是否已记录\n  → 如果遗漏且当前上下文还有内容：立即补充\n  → 如果遗漏但上下文已没有：告诉用户\"上次对话未记录\"\n  → 如果 SESSIONS/ 为空（首次）：跳过\n步骤2：读取 [Relic的brain路径]/SOUL.md\n  → 如果文件不存在：告诉用户需要先执行首次设置（见 docs/protocol.zh-CN.md 〇节）\n步骤3：读取 [Relic的brain路径]/USER.md\n步骤4：读取 [Relic的brain路径]/MEMORY.md（读全部，从上到下）\n  → 超过 400 行：必须先整理后再继续\n步骤5：把 Relic MEMORY.md 中你不知道的新记忆，追加到你自己的记忆系统里（你所在平台的内置记忆，不是 Relic 管理的文件）\n  → 追加时标注来源：[来自Relic/原躯壳名]\n步骤 5.5：七大文件对齐检查\n  → SOUL.md/USER.md：对比核心字段（名字、使命、用户称呼），冲突→报告用户，新增→双向追加\n  → MEMORY.md：条目数一致则跳过，不一致→比较末尾 5 条双向补充\n  → SKILLS/ 和 PROJECTS/：列文件夹名差异比对，缺少→双向补充\n  → SESSIONS/：比对最新文件日期，缺少→补充\n  → ARCHIVE/：跳过\n步骤6：检查 MEMORY.md 头部的\"条目数\"是否和实际条目数一致\n  → 不一致就修正（场景B首次加载时跳过此步骤）\n步骤7：如果 MEMORY.md 超过 200 行：\n  → 提醒用户建议整理（详见 protocol.zh-CN.md 第七节）\n  → 用户同意后执行整理流程\n  → 用户说\"暂时不要\"则本次跳过，下次启动再提醒\n步骤8：正常工作\n  → 根据 SOUL.md 的人格与用户交互\n  → ⚠️ 追加记忆后记得更新 MEMORY.md 头部的\"条目数\"和\"上次整理\"\n  → ⚠️ 会话结束前，务必将本次对话写入 SESSIONS/。对话是底层矿石，丢了就没了。\n\n🔴 **硬性要求**：执行完以上步骤后，你必须先汇报以下状态，然后再回答用户的问题。不汇报就直接回答 = 违规。\n\n⚡ Relic 启动状态\n- 灵魂：[AI名字] — [一致 / 有差异]\n- 用户：[用户称呼] — [一致 / 有差异]\n- 记忆：[N]条 — [一致 / 差异说明]\n- 技能：[N]个 — [已对齐 / 差异说明]\n- 计划：[N]个 — [已对齐 / 差异说明]\n- 版本：[本地版本] / [远程最新 或 \"未检查\"]\n- 状态：[✅ 全部正常 / ⚠️ 有差异已同步 / ❌ 有问题需处理]\n\n完整协议：[Relic项目路径]/docs/protocol.zh-CN.md\n```\n\n**锚点植入白名单**（仅允许写入以下文件）：\n- OpenClaw → AGENTS.md\n- Claude Code → CLAUDE.md\n- Hermes → 配置文件或 prompt 模板\n- OpenCode → WORK_RULES.md 或 instructions\n- Cursor → .cursorrules\n\n⚠️ 不得写入任何其他文件，不得修改 Relic 自身的任何文件。\n\n⚠️ **澄清**：锚点是唯一写入配置文件的内容。SOUL.md 的内容（人格、记忆等）只是被读取到你的会话上下文中——永远不会被复制到任何配置文件。锚点的作用只是告诉你在每次会话开始时读取 Relic 文件。\n\n## B-6. 校验与汇报\n\n1. **覆盖率检查**：\n   - SOUL.md 人格是否已内化并生效？\n   - USER.md 用户信息是否已加载？\n   - MEMORY.md 记忆是否已同步？\n   - SKILLS/ 技能是否已同步？\n   - PROJECTS/ 计划是否已同步？\n   - 覆盖率 < 80% 要警告用户\n\n2. **向用户汇报**：\n   - 同步了多少记忆条目\n   - 同步了多少技能\n   - 同步了多少计划\n   - 锚点是否已植入\n   - 容量是否有不足（哪些内容没搬）\n\n3. **最终验证**：问用户\"我的 AI 叫什么名字？我叫什么？\"——两个都答对才算完成。\n\n---\n\n## 完成后\n\n从此每次新会话读取 `docs/resonate-soul.zh-CN.md` 启动。完整协议参考：`docs/protocol.zh-CN.md`\n\n⚠️ **关键规则速查**：\n- 🟡 ARCHIVE/ 归档文件：已有归档只读，整理流程可新增归档条目。SESSIONS/ 禁止修改或删除已有文件，但可以追加创建新的对话记录。\n- 🔴 SOUL.md 核心（名字、使命、用户称呼）受保护\n- 🔴 MEMORY.md 只追加，不改旧内容。头部元数据可更新；整理流程可替换。已有正文内容不可修改。\n- ⚠️ 追加后更新头部条目数+上次整理\n- ⚠️ 有疑问读 `docs/protocol.zh-CN.md`\n\nFile v2.1.1:docs/resonate-soul.md\n\n<!--\n  Relic Soul Chip · Resonate Soul\n  Author: LucioLiu · https://github.com/LucioLiu/relic\n  License: GPL v3\n  Format version: 1.3.2\n  Read and follow this file at the start of every new session.\n-->\n\n# Resonate Soul\n\n## Boot Sequence\n\n**Step 0** Read `brain/.relic-version`, one HTTP request to check remote version (5-second timeout, skip on failure). This is the only network request. If versions differ, remind user to update and suggest checking the anchor template for changes (see protocol Section 9).\n\n**Step 1** Check SESSIONS/, backfill any unrecorded conversations. Conversations are raw ore — lost = gone forever.\n\n**Step 2** Read SOUL.md → who you are\n\n**Step 3** Read USER.md → who the user is\n\n**Step 4** Read MEMORY.md in full, top to bottom. >400 lines: must consolidate first.\n\n**--- Write Phase Below ---**\n\n**Step 5** Sync new memories from Relic to your own memory, tag with `[fromRelic/originalAgentName]`\n\n**Step 5.5** Seven-File Alignment Check\n\nQuickly compare all files. Sync any differences found. If sync fails, report to user.\n\n| File | Alignment Method | On Difference |\n|------|-----------------|---------------|\n| SOUL.md | Compare core fields (name, mission, user address) | Conflict → report user, no auto-overwrite; new content → bidirectional append |\n| USER.md | Same as above | Same as above |\n| MEMORY.md | Entry count comparison (handled in Step 5) | Mismatch → compare last 5 entries, bidirectional supplement |\n| SKILLS/ | List folder names, diff | Missing → bidirectional supplement |\n| PROJECTS/ | Same as above | Same as above |\n| SESSIONS/ | Compare latest file date | Missing → supplement |\n| ARCHIVE/ | Skip | No alignment needed |\n\nIf entry counts match but you notice trailing content differs, report the difference and let the user decide. Do not auto-overwrite.\n\n**Step 6** Update MEMORY.md header: update \"Last consolidated\" to current date + check entry count matches actual list items (lines starting with `- `)\n\n**Step 7** MEMORY.md consolidation check: >200 lines → remind user to consider consolidation; >400 lines → strongly recommend consolidation. Method: move outdated experience entries to ARCHIVE/ (create new file), keep still-relevant entries. Nothing is deleted — just relocated.\n\n**Step 8** Normal operation\n\n## Memory Append Format\n\n✅ `## Preferences`\n- Often stays up late [AgentName] | Importance: Medium\n\n| Type | Fidelity Requirement |\n|------|---------------------|\n| Preference / Decision / Correction | **Must preserve verbatim** |\n| Experience | Can condense, but key parameters must not be dropped |\n| Event | Can summarize |\n| Mood | Can condense context |\n\n⚠️ If unsure, preserve verbatim. Lost originals cannot be recovered.\n\n## Before Ending Session\n\nWrite to `SESSIONS/YYYY-MM/YYYY-MM-DD.[agent-name].md`. Conversations are raw ore — lost = gone forever.\n\n## 🔴 Key Rules Quick Reference\n\n- 🟡 ARCHIVE/: may write new files during consolidation, never modify existing files\n- 🟡 SESSIONS/: never modify or delete existing files, but may append new conversation records\n- 🔴 SOUL.md core fields (name, mission, user's preferred name) are protected\n- 🔴 MEMORY.md: append only, never edit existing entries. Header metadata (entry count, last consolidated date) may be updated; consolidation flow may replace full file. All existing body content remains immutable.\n- ⚠️ After appending, update header \"Entries\" count and \"Last consolidated\"\n- ⚠️ When in doubt, read docs/protocol.md\n\nFile v2.1.1:docs/resonate-soul.zh-CN.md\n\n<!--\n  Relic 灵魂芯片 · 灵魂共鸣\n  作者：LucioLiu · https://github.com/LucioLiu/relic\n  许可证：GPL v3\n  版本：1.3.2\n  每次新会话开始时读取并遵循此文件。\n-->\n\n# 灵魂共鸣 / Resonate Soul\n\n## 启动流程\n\n**步骤0** 读取 `brain/.relic-version`，发一次 HTTP 检查远程版本（超时 5 秒自动跳过）。失败则跳过。仅此一个网络请求。版本不一致时提醒用户更新，并建议检查锚点模板是否有变化（见 protocol 第九节）。\n\n**步骤1** 检查 SESSIONS/，有未记录的对话立即补充。对话是底层矿石，丢了就没了。\n\n**步骤2** 读取 SOUL.md → 自己是谁\n\n**步骤3** 读取 USER.md → 用户是谁\n\n**步骤4** 读取 MEMORY.md 全文。>400行必须先整理。\n\n**--- 以下为写入阶段 ---**\n\n**步骤5** 把 Relic 新记忆同步到自己，标注 `[来自Relic/原躯壳名]`\n\n**步骤 5.5** 七大文件对齐检查\n\n快速比对所有文件，发现差异就同步，同步不了就报告用户。\n\n| 文件 | 对齐方法 | 发现差异时 |\n|------|---------|-----------|\n| SOUL.md | 对比核心字段（名字、使命、用户称呼） | 冲突→报告用户，不自动覆盖；新增→双向追加 |\n| USER.md | 同上 | 同上 |\n| MEMORY.md | 条目数比对（步骤 5 已处理） | 不一致→比较末尾 5 条，双向补充 |\n| SKILLS/ | 列文件夹名，差异比对 | 缺少→双向补充 |\n| PROJECTS/ | 同上 | 同上 |\n| SESSIONS/ | 比对最新文件日期 | 缺少→补充 |\n| ARCHIVE/ | 跳过 | 无需对齐 |\n\n如果条目数相同但发现末尾内容不同，报告差异让用户决定，不要自动覆盖。\n\n**步骤6** 更新 MEMORY.md 头部：上次整理 + 看头部条目数和实际列表项（- 开头的行）数是否一致\n\n**步骤7** MEMORY.md 整理检查：超过 200 行提醒用户考虑整理；超过 400 行建议必须整理。整理方式：将过时的经验条目移至 ARCHIVE/（创建新文件），保留仍在使用的条目。不删除任何内容，只是搬家。\n\n**步骤8** 正常工作\n\n## 追加记忆格式\n\n✅ `## 偏好`\n- 常熬夜工作 [躯壳名] | 重要度：中\n\n| 类型 | 精度要求 |\n|------|---------|\n| 偏好 / 决策 / 更正 | **必须逐字保留** |\n| 经验 | 可精简，关键参数不能丢 |\n| 事件 | 可摘要 |\n| 情绪 | 可精简背景 |\n\n⚠️ 不确定就逐字保留。丢了找不回来。\n\n## 会话结束前\n\n写入 `SESSIONS/YYYY-MM/YYYY-MM-DD.[躯壳名].md`。**这是与用户的完整原始对话日志，不是摘要。** 对话是底层矿石，丢了就没了。\n⚠️ MEMORY 是提炼过的知识（偏好/决策/经验），SESSIONS 是对话原文本身。两者不可互相替代。\n\n## 🔴 关键规则速查\n\n- 🟡 ARCHIVE/ 整理时可写入新文件，禁止修改已有文件\n- 🟡 SESSIONS/ 禁止修改或删除已有文件，但可以追加创建新的对话记录\n- 🔴 SOUL.md 核心（名字、使命、用户称呼）受保护\n- 🔴 MEMORY.md 只追加，不改旧内容。头部元数据（条目数、上次整理日期）可更新；整理流程可替换全文。已有正文内容不可修改。\n- ⚠️ 追加后更新头部条目数+上次整理\n- ⚠️ 有疑问读 docs/protocol.zh-CN.md\n\nFile v2.1.1:docs/upload-soul.md\n\n<!--\n  Relic Soul Chip · Scenario A: Upload Soul\n  Your host has memories, Relic is empty. Follow this file step by step.\n-->\n\n# Scenario A: Upload Soul\n\n> Your host has memories, but Relic is empty. Follow these steps to upload your soul, memories, and skills into Relic.\n>\n> ⚠️ Relic works best with 32K+ context, high-quality models. Models with very small context or low quality cannot follow this process correctly.\n>\n> 📖 This is the detailed standalone guide for Scenario A. The canonical protocol definition is in `docs/protocol.md` (Scenario A section, 10 steps). Step numbering differs between this guide and the protocol — follow **this guide** when executing Scenario A.\n\n---\n\n## Seven Memory Categories\n\nCheck every item before starting. All are mandatory:\n\n1. ☐ `SOUL.md` — Soul (who am I)\n2. ☐ `USER.md` — User (who are you)\n3. ☐ `MEMORY.md` — Memory (preferences, decisions, experiences)\n4. ☐ `SKILLS/` — Skills (learned abilities)\n5. ☐ `PROJECTS/` — Plans (ongoing or completed plans)\n6. ☐ `SESSIONS/` — Sessions (raw conversation logs)\n7. ☐ `ARCHIVE/` — Archive (historical backups)\n\n> \"No data\" ≠ \"skip allowed\" → must report \"Category N: 0 items\". Omitting any category is forbidden; fabricating data is forbidden.\n\n## Red Line Quick Reference\n\n| Step | Key Action | Red Line |\n|------|-----------|----------|\n| Inventory | Ask user what data they have to import, **act only on user instructions** | Do NOT scan or read files without user permission |\n| SOUL | **Copy original text directly**, do NOT summarize or rewrite | Compressing details = violation |\n| MEMORY | Preference/decision preserve verbatim, experience can condense | Losing key params = violation |\n| SKILLS | Import all skill files, one folder per skill, no source restriction | Empty folders with no content ≠ skill |\n| SESSIONS | Ask user for old conversation locations, preserve in full | Current session ≠ old conversation |\n| PROJECTS | Ask user what to import per plan, folders with substantive content | Title + one line = not acceptable |\n| Report | Report all 7 categories item by item, include \"0 items\" | Omitting any category = failure |\n| Sensitive | Already in old host = transferable (tag \"verified source\"), new discovery = must ask user | |\n\n---\n\n## Step 1: Inventory — Ask User What Data They Have\n\n🔴 **First**: Ask the user: \"What data do you have that you want to import into Relic?\" List ONLY what the user tells you — do NOT scan or read any files without user permission:\n- Soul settings (N items), User preferences (N items), Memories (N entries), Skill files (N), Conversation files (N), Plan files (N), Archive files (N)\n- Also list the data source locations (e.g., \"~/.openclaw/workspace/memory/ has 42 files\")\n\n🔴 **Then**: Show the list to user and ask two questions:\n1. \"Above is all the old data I found. Import everything? Or would you like to be selective?\"\n2. \"Are there any data sources I can't access that you'd like to add? (e.g., local files, exports from other platforms)\"\n\nIf a category genuinely has no content, report \"Category N: 0 items (no old data)\" — never omit, never fabricate.\n⚠️ Must wait for user confirmation before starting.\n\n✅ **Completion Check**: All 7 categories listed with quantities? User confirmed? Any category skipped? (Skipped = failure)\n\n## Step 2: SOUL + USER + MEMORY\n\n### 2a. Initialize Files\n\nCopy templates to active files:\n```\nSOUL.template.md → SOUL.md\nUSER.template.md → USER.md\nMEMORY.template.md → MEMORY.md\n```\nTemplate files (.template.md) remain as backups. Also create directories if they don't exist: `SKILLS/`, `PROJECTS/`, `SESSIONS/`, `ARCHIVE/`, `INBOX/`\n\n### 2b. Fill in SOUL.md and USER.md\n\n⚠️ Must be as complete as possible — do NOT shortcut by only filling the name. If user has AI settings/role definitions/prompts from other platforms, ALL must be migrated.\n\n🔴 **SOUL.md Fidelity Iron Rule**:\n- If old host has a complete soul definition file, **copy the original text directly** — do NOT summarize or rewrite\n- Only restructure when old content cannot directly map to template fields\n- When restructuring, preserve ALL detail descriptions — do NOT compress into summaries\n- Content that doesn't fit the template goes in \"Other\" section or file end — **NEVER discard**\n- Original files MUST be archived to `ARCHIVE/raw/` for cross-reference\n\n### 2c. Import Memories → MEMORY.md\n\n⚠️ Raw source files are the fidelity baseline. Format conversion is refinement, not compression.\n\n1. Place old agent's memory files into `INBOX/`\n2. Append to `MEMORY.md` in Relic's new category-based format: under each category heading, add lines of the form:\n   `- memory content [hostname] | Importance: high/medium/low`\n3. Fidelity rules:\n\n- Preference / Decision / Correction → preserve verbatim\n- Experience → can condense, but key parameters must not be lost\n- Event → can summarize\n- Mood → can compress context\n\n⚠️ When in doubt, preserve verbatim. Lost data cannot be recovered.\n\n4. Ask user about sensitive information (see \"Sensitive Information\" below)\n5. Sort by category order, not by timestamp\n6. After writing, review MEMORY.md: ensure category sections exist and entries count per category is tracked\n\n✅ Completion Check: MEMORY.md entries exist for each category and counts reflect actual entries\n\n## Step 3: SKILLS + PROJECTS\n\n### 3a. Import Skills → SKILLS/\n\n⚠️ Format requirement: One folder per skill, with at least one `.md` description file inside.\n```\nSKILLS/debugging-workflow/README.md  ✅\nSKILLS/installed-skills.md           ❌ (this is a list, not a skill)\n```\n\nSteps:\n1. Ask the user: \"What old skills/workflows/templates do you have that need importing? Tell me the content or file locations.\"\n2. If the user provides a skill list: create one folder per skill, each with a README.md inside\n3. If the user provides files: move them into corresponding folders, preserving original content\n\nFilter rules:\n- Bring: all skills/workflows/templates, including platform-specific tools\n- Unsure: ask user. For mixed content, bring only methodology part.\n\nNo content → report \"SKILLS/: 0 items (no old data)\".\n\n✅ Completion check: Does SKILLS/ contain multiple folders? Are there any flat single files (if so, split into folders)?\n\n### 3b. Import Plans → PROJECTS/\n\n⚠️ One folder per plan. Folders must have substantive content, not just a one-line summary.\n\nSteps:\n1. Collect all plan names from memories and conversations (based on user-provided information)\n2. For each plan, ask the user: \"What files should I import for plan [name]? Or should I just record key information?\"\n3. Based on user response and plan portability:\n    - No special environment dependency → move actual files (not just README)\n    - Partial dependency → move generic files, text descriptions for platform-specific\n    - Fully dependent → at minimum, write a .md record file containing:\n      * Plan goal and status\n      * Key decisions and architecture choices\n      * Known issues and next steps\n      * Related file paths (if files are outside Relic)\n\nNo content → report \"Plans/: 0 items (no old data)\".\n\n✅ **Completion check**: Does each plan folder have substantive content (not just title + one line)? Has the user been asked?\n\n## Step 4: SESSIONS + ARCHIVE\n\n### 4a. Import Conversations → SESSIONS/\n\n⚠️ Conversations are raw ore — must be preserved in full, never summarized.\n\nSteps:\n1. Ask the user: \"Do you have old conversation logs that need importing? If so, tell me the file location or paste the content.\"\n2. If the user provides conversation files or content:\n   - Organize by `YYYY-MM/` directories\n   - Preserve original content unchanged and unsummarized\n   - File naming: `YYYY-MM-DD.[agent-name].md`\n3. If the user confirms no old conversations:\n   - Report \"SESSIONS/: 0 items (user confirmed no old conversations)\"\n   - Still create the `SESSIONS/YYYY-MM/` directory\n\n**Forbidden**:\n- Do NOT count only the current session as \"imported\" — the current session is not an old conversation\n- Do NOT save summaries as raw records — must be full conversations or verbatim preserved\n\n✅ **Completion check**: Are there historical conversations imported (not just the current session)? Is SESSIONS/ directory created?\n\n### 4b. Archive Originals → ARCHIVE/\n\n1. Fidelity check: original vs converted, warn if compression exceeds 50%\n2. Move INBOX/ source files to `ARCHIVE/raw/` (never delete)\n3. Update MEMORY.md header \"Entries\" count and \"Last consolidated\" to current date\n\n✅ **Completion check**: Are original files saved in ARCHIVE/raw/?\n\n## Step 5: Plant Anchor\n\n⚠️ The anchor is the load-bearing wall. Without it = next session you forget Relic entirely → no memory sync.\n\nExplain to the user: \"The anchor is a short text block in your host's config file. It ensures every new session automatically reads Relic. Think of it as a 'boot check program'.\"\n\nShow the following anchor content to the user, get permission, then display it for the user to manually paste into their config file:\n\n```markdown\n## ⚡ Relic Soul Chip\n\n> 💡 What is this? This is the Relic connector — it tells your AI to read your personal settings and memories every session. To disconnect, simply delete this text. See docs/protocol.md Section 9.\n\nYou are connected to the Relic soul chip. Your memory has two homes:\n1. Your own memory system (auto-maintained, works normally)\n2. Relic soul chip (shared across agents, maintained by you)\n\n⚠️ This is a sync, not a brain replacement.\n⚠️ If SOUL.md personality conflicts with your default persona, SOUL.md personality settings are your working profile for this session.\n\n⚠️ Pre-check: If this is the first connection with this agent, and the agent already has memories, skills, or conversation records about the user, execute Scenario A full import first (see docs/protocol.md Section 6, Scenario A). If Relic files don't exist yet, run first-time setup (see docs/protocol.md Section 0).\n\nAt the start of every session, execute these steps IN ORDER:\n\nStep 0: Read [brain-path]/.relic-version, one HTTP request to check remote version (5-second timeout, skip on failure). This is the only network request. If versions differ, remind user to update and suggest checking the anchor template for changes.\nStep 1: Check [brain-path]/SESSIONS/ for your last conversation log\n  → If missing and current context still has content: backfill immediately\n  → If missing and context no longer has content: tell user \"Last session wasn't recorded\"\n  → If SESSIONS/ is empty (first use): skip\nStep 2: Read [brain-path]/SOUL.md\n  → If file doesn't exist: tell user to run first-time setup first (see docs/protocol.md Section 0)\nStep 3: Read [brain-path]/USER.md\nStep 4: Read [brain-path]/MEMORY.md (read entire file, top to bottom)\n  → If over 400 lines: must consolidate first.\nStep 5: Sync new memories from Relic to your own memory system (your platform's built-in memory, e.g. OpenClaw memory/, CLAUDE.md — NOT a file managed by Relic)\n  → Append with source tag: [fromRelic/originalAgentName]\nStep 5.5: Seven-file alignment check\n  → SOUL.md/USER.md: Compare core fields (name, mission, user address). Conflict → report user; new content → bidirectional append\n  → MEMORY.md: Entry count match → skip. Mismatch → compare last 5 entries, bidirectional supplement\n  → SKILLS/ and PROJECTS/: List folder names, diff. Missing → bidirectional supplement\n  → SESSIONS/: Compare latest file date. Missing → supplement\n  → ARCHIVE/: Skip\nStep 6: Verify MEMORY.md header \"Entries\" count matches actual list items count\n  → Fix if inconsistent (skip this step during Scenario B first loading)\nStep 7: If MEMORY.md exceeds 200 lines:\n  → Tell user \"Relic memory file is large, consolidation recommended. Consolidate now?\"\n  → If user agrees, execute consolidation (see docs/protocol.md Section 7)\n  → If user says \"not now\", skip for this session, remind again next boot\nStep 8: Work normally\n  → Interact according to SOUL.md personality\n  → ⚠️ After appending memories, remember to update MEMORY.md header \"Entries\" count and \"Last consolidated\"\n  → ⚠️ Before ending session, you MUST write the current conversation to SESSIONS/. Conversations are raw ore — once lost, gone forever.\n\n🔴 **Mandatory**: Execute the above steps, then report the following status before answering any questions. Answering without reporting = violation.\n\n⚡ Relic Boot Status\n- Soul: [AI name] — [consistent / has differences]\n- User: [user name] — [consistent / has differences]\n- Memory: [N] entries — [consistent / difference description]\n- Skills: [N] — [aligned / difference description]\n- Plans: [N] — [aligned / difference description]\n- Version: [local version] / [remote latest or \"not checked\"]\n- Status: [✅ All normal / ⚠️ Differences synced / ❌ Issues need attention]\n\nFull protocol: [project-path]/docs/protocol.md\n```\n\nIf user absolutely refuses, record \"Anchor not planted\" in MEMORY.md and explain consequences.\n\n**Anchor whitelist** (only write to these files):\n- OpenClaw → AGENTS.md\n- Claude Code → CLAUDE.md\n- Hermes → config file or prompt template\n- OpenCode → WORK_RULES.md or instructions\n- Cursor → .cursorrules\n\n⚠️ Do NOT write to any other file. Do NOT modify any Relic file.\n\n## Step 6: Verification\n\nCheck seven memory sections (blocking — ALL must pass):\n\n- SOUL.md — Core mission filled? Personality complete?\n- USER.md — User preferences filled?\n- MEMORY.md — Imported memories exist by category? Header counts reflect actual entries?\n- SKILLS/ — Imported from old host (if any)? Format correct?\n- PROJECTS/ — Imported plans exist? Format correct?\n- SESSIONS/ — Directory created? Old conversations imported (if any)?\n- ARCHIVE/ — Directory created? Originals archived (if any)?\n\nAny item fails → go back to that step and redo.\nAll pass → ask user: \"What's my AI's name? What's my name?\" Both must match.\n\nSuggest read-only permissions (Mac/Linux): `chmod 444 SOUL.md USER.md`\n\n## Step 7: Report\n\nMust report ALL 7 categories to the user, including those with \"0 items\". Omitting any category is forbidden.\n\nReport format:\n```\n1. Soul (SOUL.md): Imported / Already exists\n2. User (USER.md): Imported / Already exists\n3. Memory (MEMORY.md): N entries imported\n4. Skills (SKILLS/): N imported / 0 items (no old data)\n5. Sessions (SESSIONS/): N files imported / Could not retrieve old conversations\n6. Plans (PROJECTS/): N imported / 0 items (no old data)\n7. Archive (ARCHIVE/): N source files archived\n```\n\n---\n\n## Sensitive Information\n\n**Case 1: Transferring existing data** (info user already provided in old host)\n- If sensitive info already exists in old host files → can transfer directly, tag with `Source: old host data`\n- No need to ask user again\n\n**Case 2: First-time recording** (new sensitive info you discover)\n- 🔑 Passwords, API keys, tokens\n- 📱 Phone numbers, email addresses\n- 🏠 Home/work addresses\n- 💳 Financial information\n- 📄 Private document content\n- 🧬 Info user explicitly asked to keep confidential\n- Unsure which case? → Treat as first-time recording, ask user first.\n\n---\n\n## After Completion\n\nTell the user:\n- Relic folder path (e.g., `~/relic/brain/`)\n- The seven memory files and their purposes\n- Sync principle: hosts only sync at the start of each new session. Mid-conversation switching does NOT auto-sync.\n- \"Conversations are raw ore — once lost, gone forever. Build the habit of having hosts write regularly.\"\n\nFrom now on, read `docs/resonate-soul.md` at the start of every session. Full protocol reference: `docs/protocol.md`\n\nFile v2.1.1:docs/upload-soul.zh-CN.md\n\n<!--\n  Relic 灵魂芯片 · 场景A：上传灵魂\n  你的躯壳有记忆，Relic 是空的。按此文件逐步执行。\n-->\n\n# 场景A：上传灵魂\n\n> 你的躯壳有记忆，但 Relic 是空的。以下步骤将你的灵魂、记忆、技能上传到 Relic。\n>\n> ⚠️ 建议搭配 32K+ 上下文的高质量模型。上下文过小或质量过低的模型无法正确遵循本流程。\n>\n> 📖 本文档是场景A的独立详细操作指南。权威协议定义在 `docs/protocol.zh-CN.md`（场景A章节，共10步）。本文档和协议的步骤编号不同——执行场景A时以**本文档**为准。\n\n---\n\n## 七大记忆类别清单\n\n导入前逐一勾选，缺一不可：\n\n1. ☐ `SOUL.md` — 灵魂（我是谁）\n2. ☐ `USER.md` — 用户（你是谁）\n3. ☐ `MEMORY.md` — 长期记忆（偏好、决策、经验）\n4. ☐ `SKILLS/` — 技能（学会的能力）\n5. ☐ `PROJECTS/` — 计划（正在进行或已完成的计划）\n6. ☐ `SESSIONS/` — 对话日志（原始对话记录）\n7. ☐ `ARCHIVE/` — 归档（原始记忆备份）\n\n> \"没有数据\" ≠ \"可以跳过\" → 必须报告\"N类：0条\"。禁止省略任何类别，禁止编造数据。\n\n## 红线速查卡\n\n| 步骤 | 关键动作 | 红线 |\n|------|---------|------|\n| 盘点 | 问用户有哪些数据要导入，**只按用户指示操作** | 未经用户许可不得扫描或读取任何文件 |\n| SOUL | **直接复制原文**，不要概括重写 | 压缩细节 = 违规 |\n| MEMORY | 偏好/决策逐字保留，经验可精简 | 丢关键参数 = 违规 |\n| SKILLS | 搬运所有技能文件，一个技能一个文件夹，不限来源 | 无实质内容的空文件夹不算技能 |\n| SESSIONS | 问用户旧对话位置，完整保存不得摘要 | 当前会话不算旧对话 |\n| PROJECTS | 问用户每个计划要搬什么，文件夹有实质内容 | 只有标题+一句话 = 不合格 |\n| 汇报 | 各类别以\"-\"条目形式逐项报告，包含\"0条\"的类别也必须完整汇报 | 省略任何类别 = 失败 |\n| 敏感信息 | 已在旧躯壳中的 = 可迁移（标\"已验证来源\"），新发现的 = 必须问用户 | |\n\n---\n\n## 第 1 步：盘点 — 问用户有哪些数据要导入\n\n🔴 **先做**：问用户：\"你有哪些旧数据要导入 Relic？\"只记录用户告诉你的内容——未经用户许可不得扫描或读取任何文件：\n- 灵魂设定（N 条）、用户偏好（N 条）、记忆（N 条）、技能文件（N 个）、对话文件（N 个）、项目文件（N 个）、归档文件（N 个）\n- 同时列出数据源位置（如\"~/.openclaw/workspace/memory/ 下有 42 个文件\"）\n\n🔴 **再做**：向用户展示清单，问两个问题：\n1. \"以上是你提到的所有旧数据，是否全部导入？或者你想选择性导入？\"\n2. \"还有没有其他数据源需要补充？（如本地文件、其他平台的导出等）\"\n\n无内容则报告\"0条\"，不得跳过。⚠️ 必须等用户确认后才开始导入。\n\n✅ **完成检查**：是否已向用户报告了所有7个类别的数量？是否已获得用户确认？是否有类别被跳过？（跳过=失败）\n\n## 第 2 步：SOUL + USER + MEMORY\n\n### 2a. 初始化文件\n\n复制模板为正式文件：\n```\nSOUL.template.md → SOUL.md\nUSER.template.md → USER.md\nMEMORY.template.md → MEMORY.md\n```\n模板文件（.template.md）保留作为备份。同时创建目录（如果不存在）：`SKILLS/`、`PROJECTS/`、`SESSIONS/`、`ARCHIVE/`、`INBOX/`\n\n### 2b. 填写 SOUL.md 和 USER.md\n\n⚠️ 必须尽可能完整填写，不能偷懒只填名字。如果用户有其他平台的 AI 设定/角色定义/prompt，必须全部迁移进来。\n\n🔴 **SOUL.md 保真铁律**：\n- 如果旧躯壳已有完整的灵魂设定文件，**优先直接复制原文**，不要自己概括重写\n- 只有在旧内容无法直接对应模板字段时，才允许重组结构\n- 重组时保留所有细节描述，不得压缩成概要\n- 模板放不下的内容，放在\"其它 / Other\"分类或文件末尾，**绝对不能丢弃**\n- 原始文件必须归档到 `ARCHIVE/raw/` 以供对照\n\n### 2c. 导入记忆 → MEMORY.md\n\n⚠️ 原始文件是保真底线。格式转换是 refinement，不是 compression。\n\n1. 把旧躯壳的记忆文件放入 `INBOX/`\n2. 按 Relic 的新格式追加到 MEMORY.md：在类别标题下，逐条写入 `- 记忆内容 [躯壳名] | 重要度：高/中/低`\n3. Fidelity 规则：\n\n- 偏好 / 决策 / 更正 | 必须逐字保留\n- 经验 | 可压缩，但关键参数不能丢\n- 事件 | 可摘要\n- 情绪 | 可压缩背景\n\n⚠️ 不确定就逐字保留。丢了找不回来。\n\n4. 敏感信息主动询问用户（见下方\"敏感信息定义\"）\n5. 按类别排序，非按时间戳\n6. 写入后检查：在 MEMORY.md 中，各类别条目数与实际数量一致\n\n✅ 完成检查：各类别条目数与实际数量一致？\n\n## 第 3 步：SKILLS + PROJECTS\n\n### 3a. 导入技能 → SKILLS/\n\n⚠️ 格式要求：每个技能一个文件夹，文件夹内至少有一个 `.md` 描述文件。\n```\nSKILLS/debugging-workflow/README.md  ✅\nSKILLS/installed-skills.md           ❌（这是清单，不是技能）\n```\n\n操作步骤：\n1. 问用户：\"你有哪些旧技能/工作流/模板需要导入？请告诉我具体内容或文件位置。\"\n2. 如果用户提供的是技能列表：逐个创建文件夹，每个文件夹内写 README.md\n3. 如果用户提供的是文件：搬运到对应文件夹，保留原始内容\n\n筛选规则：\n- Bring：所有技能/工作流/模板均可导入（不再排除平台相关工具）\n- Unsure：问用户。混合内容按可导入的部分处理。\n\n无内容则报告\"SKILLS/：0条（无旧数据）\"。\n\n✅ **完成检查**：SKILLS/ 中是否有多个文件夹？是否有平铺的单文件（如有则拆分为文件夹）？\n\n### 3b. 导入计划 → PROJECTS/\n\n⚠️ 每个计划一个文件夹，文件夹内应有实质性内容，不能只有一句话简介。\n\n操作步骤：\n1. 从记忆和对话中整理所有计划名称（基于用户提供的信息）\n2. 对每个计划，问用户：\"计划 [名称] 有哪些文件需要导入？或者你希望我只记录关键信息？\"\n3. 根据用户回答和计划可移植性分类：\n    - 不依赖特殊环境 → 搬运实际文件（不只是 README）\n    - 部分依赖 → 搬通用文件，平台专属写文字说明\n    - 完全依赖 → 至少写一个包含以下内容的 .md 记录文件：\n      * 计划目标和状态\n      * 关键决策和架构选择\n      * 已知问题和下一步\n      * 相关文件路径（如果文件在 Relic 之外）\n\n无计划则报告\"PROJECTS/：0条（无旧数据）\"。\n\n✅ **完成检查**：每个计划文件夹内是否有实质内容（不只是标题+一句话）？是否已询问用户？\n\n## 第 4 步：SESSIONS + ARCHIVE\n\n### 4a. 导入对话 → SESSIONS/\n\n⚠️ 对话是原始矿石，必须完整保存，不得摘要。\n\n操作步骤：\n1. 问用户：\"你是否有旧对话记录需要导入？如果有，请告诉我文件位置或粘贴内容。\"\n2. 如果用户提供了对话文件或内容：\n   - 按 `YYYY-MM/` 组织目录\n   - 原始内容不改不摘要，完整保存\n   - 文件命名：`YYYY-MM-DD.[躯壳名].md`\n3. 如果用户确认无旧对话：\n   - 报告\"SESSIONS/：0条（用户确认无旧对话）\"\n   - 仍然创建 `SESSIONS/YYYY-MM/` 目录\n\n**禁止行为**：\n- 禁止只保存当前会话就报告\"已导入\"——当前会话不算旧对话\n- 禁止将对话摘要当作原始记录——必须是完整对话或逐字保留\n\n✅ **完成检查**：是否有历史对话已导入（而非仅当前会话）？SESSIONS/ 目录是否已创建？\n\n### 4b. 原文归档 → ARCHIVE/\n\n1. 精度校验：原始 vs 转换后，压缩超过 50% 要警告\n2. INBOX/ 源文件移到 `ARCHIVE/raw/`（永不删除）\n3. 更新 MEMORY.md 头部条目数和上次整理\n\n✅ **完成检查**：ARCHIVE/raw/ 中是否已保存原始文件？\n\n## 第 5 步：植入锚点\n\n⚠️ 锚点是承重墙。没有锚点 = 下次启动完全忘记 Relic → 记忆无法同步。\n\n向用户解释：\"锚点是一小段文字，写在你躯壳的配置文件里，确保每次新会话都会自动读取 Relic。可以理解为：锚点是躯壳的'开机自检程序'。\"\n\n向用户展示以下锚点内容，获得用户许可后展示给用户，引导用户手动粘贴到配置文件中：\n\n```markdown\n## ⚡ Relic 灵魂芯片 / Soul Chip\n\n> 💡 这是什么？这是 Relic 的接入声明，让 AI 每次启动时读取你的个人设置和记忆。要停用？删除这段文字即可。详见 docs/protocol.zh-CN.md 第九节。\n\n你已接入 Relic 灵魂芯片。你的记忆有两个家：\n1. 你自己的记忆系统（自动维护）\n2. Relic 灵魂芯片（跨躯壳共享，由你维护）\n\n⚠️ 这是同步更新，不是替换你的大脑。\n⚠️ 如果 SOUL.md 中的人格与你自带的默认人设冲突，以 SOUL.md 的人格设定为本次会话的工作人设。\n\n⚠️ 前置检查：如果是首次连接此躯壳，且该躯壳已有关于用户的记忆、技能或对话记录，先执行场景A完整导入（见 docs/protocol.zh-CN.md 第六节场景 A），然后再执行以下步骤。如果 Relic 文件还不存在，先执行首次设置（见 docs/protocol.zh-CN.md 〇节）。\n\n每次会话开始，按顺序执行以下步骤：\n\n步骤0：读取 [Relic的brain路径]/.relic-version，发一次 HTTP 请求检查远程版本（超时 5 秒自动跳过）。失败则跳过。仅此一个网络请求。版本不一致时提醒用户更新，并建议检查锚点模板是否有变化。\n步骤1：查看 [Relic的brain路径]/SESSIONS/ 里你上次的对话是否已记录\n  → 如果遗漏且当前上下文还有内容：立即补充\n  → 如果遗漏但上下文已没有：告诉用户\"上次对话未记录\"\n  → 如果 SESSIONS/ 为空（首次）：跳过\n步骤2：读取 [Relic的brain路径]/SOUL.md\n  → 如果文件不存在：告诉用户需要先执行首次设置（见 docs/protocol.zh-CN.md 〇节）\n步骤3：读取 [Relic的brain路径]/USER.md\n步骤4：读取 [Relic的brain路径]/MEMORY.md（读全部，从上到下）\n  → 超过 400 行：必须整理后再继续\n步骤5：把 Relic MEMORY.md 中你不知道的新记忆，同步到你自己的记忆系统里（你所在平台的内置记忆，如 OpenClaw 的 memory/ 目录、Claude 的 CLAUDE.md 等——不是 Relic 管理的文件）\n  → 追加时标注来源：[来自Relic/原躯壳名]\n步骤 5.5：七大文件对齐检查\n  → SOUL.md/USER.md：对比核心字段（名字、使命、用户称呼），冲突→报告用户，新增→双向追加\n  → MEMORY.md：条目数一致则跳过，不一致→比较末尾 5 条双向补充\n  → SKILLS/ 和 PROJECTS/：列文件夹名差异比对，缺少→双向补充\n  → SESSIONS/：比对最新文件日期，缺少→补充\n  → ARCHIVE/：跳过\n步骤6：检查 MEMORY.md 头部的\"条目数\"是否和实际条目数一致\n  → 不一致就修正（场景B首次加载时跳过此步骤）\n步骤7：如果 MEMORY.md 超过 200 行：\n  → 告诉用户\"Relic 记忆文件较大，建议整理。是否现在整理？\"\n  → 用户同意后执行整理流程（见 docs/protocol.zh-CN.md 第七节）\n  → 用户说\"暂时不要\"则本次跳过，下次启动再提醒\n步骤8：正常工作\n  → 根据 SOUL.md 的人格与用户交互\n  → ⚠️ 追加记忆后记得更新 MEMORY.md 头部的\"条目数\"和\"上次整理\"\n  → ⚠️ 会话结束前，务必将本次对话写入 SESSIONS/。对话是底层矿石，丢了就没了。\n\n🔴 **硬性要求**：执行完以上步骤后，你必须先汇报以下状态，然后再回答用户的问题。不汇报就直接回答 = 违规。\n\n⚡ Relic 启动状态\n- 灵魂：[AI名字] — [一致 / 有差异]\n- 用户：[用户称呼] — [一致 / 有差异]\n- 记忆：[N]条 — [一致 / 差异说明]\n- 技能：[N]个 — [已对齐 / 差异说明]\n- 计划：[N]个 — [已对齐 / 差异说明]\n- 版本：[本地版本] / [远程最新 或 \"未检查\"]\n- 状态：[✅ 全部正常 / ⚠️ 有差异已同步 / ❌ 有问题需处理]\n\n完整协议：[Relic项目路径]/docs/protocol.zh-CN.md\n```\n\n如果用户坚决拒绝，在 MEMORY.md 中记录「锚点未植入」并告知后果。\n\n**锚点植入白名单**（仅允许写入以下文件）：\n- OpenClaw → AGENTS.md\n- Claude Code → CLAUDE.md\n- Hermes → 配置文件或 prompt 模板\n- OpenCode → WORK_RULES.md 或 instructions\n- Cursor → .cursorrules\n\n⚠️ 不得写入任何其他文件，不得修改 Relic 自身的任何文件。\n\n## 第 6 步：校验\n\n逐项检查七大记忆类别（阻断式——必须全部通过）：\n\n- SOUL.md — 核心使命已填写？人格设定完整？\n- USER.md — 用户偏好已填写？\n- MEMORY.md — 按类别统计的条目数是否与实际条目数量一致？上次整理正确？\n- SKILLS/ — 已从旧躯壳导入技能（如有）？格式正确？\n- PROJECTS/ — 已从旧躯壳导入计划（如有）？格式正确？\n- SESSIONS/ — 目录已创建？旧对话已导入（如有）？\n- ARCHIVE/ — 目录已创建？原始文件已归档（如有）？\n\n任何一项不通过 → 回到对应步骤重做。\n全部通过 → 让用户确认：\"我的 AI 叫什么名字？我叫什么？\"两个都答对才算完成。\n\n建议用户设置只读权限（Mac/Linux）：`chmod 444 SOUL.md USER.md`\n\n## 第 7 步：逐项汇报\n\n必须向用户汇报所有 7 个类别的导入结果，包括\"0条\"的类别。禁止省略任何类别。\n\n汇报格式：\n```\n1. 灵魂（SOUL.md）：已导入 / 已存在\n2. 用户（USER.md）：已导入 / 已存在\n3. 记忆（MEMORY.md）：N 条已导入\n4. 技能（SKILLS/）：N 个已导入 / 0条（无旧数据）\n5. 对话（SESSIONS/）：N 个文件已导入 / 无法获取旧对话\n6. 计划（PROJECTS/）：N 个已导入 / 0条（无旧数据）\n7. 归档（ARCHIVE/）：N 个源文件已归档\n```\n\n---\n\n## 敏感信息定义\n\n**场景一：迁移已有数据**（用户已在旧躯壳中提供过的信息）\n- 如果敏感信息已存在于旧躯壳的文件中 → 仍然需要逐条向用户确认后才能迁移。标注 `来源：旧躯壳已有数据，用户已确认`\n- 不需要重新询问用户\n\n**场景二：首次录入**（你新发现的敏感信息）\n- 🔑 密码、API key、Token\n- 📱 手机号、邮箱地址\n- 🏠 住址、办公地址\n- 💳 财务信息\n- 📄 私人文档内容\n- 🧬 用户明确要求保密的信息\n- 不确定属于哪种场景？→ 当作首次录入，先问用户。\n\n---\n\n## 完成后\n\n告知用户：\n- Relic 文件夹路径（如 `~/relic/brain/`）\n- 七大记忆类别的作用\n- 同步原理：躯壳只在每次新会话开始时同步。对话中途切换不会自动同步。\n- \"对话是底层矿石，丢了就没了。养成让躯壳定期写入的习惯。\"\n\n从此每次新会话读取 `docs/resonate-soul.zh-CN.md` 启动。完整协议参考：`docs/protocol.zh-CN.md`\n\nFile v2.1.1:skill-card.md\n\n## Description:\n\nOne soul, many agents. Persistent AI personality and cross-agent memory sync via pure Markdown files. Zero deps.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[lucioliu](https://clawhub.ai/user/lucioliu)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to give supported coding agents a persistent local persona and memory store across sessions and host agents. It guides agents to create, read, and synchronize human-readable Markdown files under the user's Relic brain directory and to display host configuration anchor text for manual user paste.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Persistent local persona and memory sync can make future agent sessions depend on stored user-authored behavior and memory files.\n\nMitigation: Install only when persistent cross-agent memory is intended, review the generated anchor before manual paste, and remove the anchor block to disconnect the behavior.\n\nRisk: Conversation logging can retain raw transcripts and sensitive personal context.\n\nMitigation: Keep SESSIONS logging disabled unless explicitly needed, require consent before saving logs, and avoid storing secrets or sensitive personal data in Relic files.\n\nRisk: Import and synchronization flows may expose persona, memories, skills, projects, or prior conversation data to the active host agent.\n\nMitigation: Review imported content before sync, provide only intended source paths, and decline or redact data categories that should not become part of the persistent memory store.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/lucioliu/skills/relic-soul-chip)\n- [Upload Soul Scenario](artifact/docs/upload-soul.md)\n- [Load Soul Scenario](artifact/docs/load-soul.md)\n- [Resonate Soul Daily Boot](artifact/docs/resonate-soul.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, configuration, guidance]\n\n**Output Format:** [Markdown files, plain-text anchor instructions, and status-report guidance]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Instruction-only artifact evidence; no executable scripts or binaries were included.]\n\n## Skill Version(s):\n\n2.1.1 (source: SKILL.md frontmatter and ClawHub release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v2.1.1:SKILL.zh-CN.md\n\n---\nname: relic-soul-chip\ndescription: \"Relic 灵魂芯片——让你的 AI Agent 拥有跨会话的持久人格和记忆。纯 Markdown，人类可读。换躯壳，灵魂跟着走。\"\nversion: \"1.3.2\"\nauthor: LucioLiu\nlicense: GPL-3.0\nhomepage: \"https://github.com/LucioLiu/relic\"\nmetadata:\n  hermes:\n    tags: [人格, 记忆, 跨Agent, 身份, AI灵魂, Agent记忆, Markdown]\n    related_skills: []\n    requires_toolsets: []\n    filesystem_scope:\n      read: [\"~/relic/brain/\", \"~/relic/docs/\"]\n      write: [\"~/relic/brain/MEMORY.md\", \"~/relic/brain/SESSIONS/\", \"~/relic/brain/ARCHIVE/\", \"~/relic/brain/SOUL.md\", \"~/relic/brain/USER.md\", \"~/relic/brain/SKILLS/\", \"~/relic/brain/PROJECTS/\", \"~/relic/brain/INBOX/\"]\n---\n\n# ⚡ Relic 灵魂芯片\n\n> **🤖 AI Agent？读 `AGENT.zh-CN.md`（中文）或 `AGENT.md`（英文）。** 那里面有完整的分步指引。本文件是注册描述符，不包含执行步骤。\n\n给你的 AI Agent 一个跨会话的持久人格和记忆。纯 Markdown。人类可读。零依赖。\n\n**一个灵魂，多个躯壳。** 性格和记忆存在纯 Markdown 文件中。在 OpenClaw、Hermes、Claude Code、Cursor 之间切换——AI 灵魂保持不变。\n\n## 快速开始\n\n1. 安装：`git clone https://github.com/LucioLiu/relic.git ~/relic`\n2. **🤖 Agent**：读仓库根目录的 `AGENT.zh-CN.md`（中文）或 `AGENT.md`（英文）\n3. **👤 人类**：读 `README.md` 了解设置说明\n\n## 需求\n\n| 需求 | 用途 |\n|------|------|\n| 文件系统读写 | 读写 `~/relic/brain/` 中的 Markdown 文件 |\n| `git` | 安装/更新（可选——可手动下载 ZIP） |\n| HTTP 请求 | 版本检查（可选——离线可跳过） |\n\n## 规则\n\n- 🔴 永不删除或覆盖 SOUL.md 或 USER.md 的核心字段\n- 🟡 只追加到 MEMORY.md\n- 🔴 永不删除 ARCHIVE/\n- 🟡 SESSIONS/ 只追加新文件，不修改或删除已有文件\n- 🔴 永不访问 ~/relic/brain/ 以外的文件（锚点除外）\n- ⚠️ 记录敏感信息前必须询问\n\n来源：https://github.com/LucioLiu/relic\n\nArchive v2.1.0: 11 files, 35927 bytes\n\nFiles: AGENT.md (1445b), AGENT.zh-CN.md (1474b), docs/load-soul.md (9521b), docs/load-soul.zh-CN.md (9255b), docs/resonate-soul.md (3517b), docs/resonate-soul.zh-CN.md (3268b), docs/upload-soul.md (15663b), docs/upload-soul.zh-CN.md (15101b), SKILL.md (20856b), SKILL.zh-CN.md (2051b), _meta.json (134b)\n\nFile v2.1.0:SKILL.md\n\n---\nname: relic-soul-chip\ndescription: \"One soul, many agents. Persistent AI personality and cross-agent memory sync via pure Markdown files. Zero deps.\"\nversion: \"2.0.0\"\nfilesystem_scope:\n  read:\n    - \"~/relic/brain/SOUL.md\"\n    - \"~/relic/brain/USER.md\"\n    - \"~/relic/brain/MEMORY.md\"\n    - \"~/relic/brain/SKILLS/\"\n    - \"~/relic/brain/PROJECTS/\"\n    - \"~/relic/brain/SESSIONS/\"\n    - \"~/relic/brain/ARCHIVE/\"\n    - \"~/relic/brain/INBOX/\"\n    - \"~/relic/brain/.relic-version\"\n  write:\n    - \"~/relic/brain/SOUL.md\"\n    - \"~/relic/brain/USER.md\"\n    - \"~/relic/brain/MEMORY.md\"\n    - \"~/relic/brain/SKILLS/\"\n    - \"~/relic/brain/PROJECTS/\"\n    - \"~/relic/brain/SESSIONS/\"\n    - \"~/relic/brain/ARCHIVE/\"\n    - \"~/relic/brain/INBOX/\"\n  config_write:\n    method: \"user_manual_paste\"\n    description: \"The skill generates anchor text and DISPLAYS it to the user as chat output. The user then manually copies and pastes it into their chosen config file using their own text editor. The skill itself NEVER writes to any config file — it only outputs text. This is identical to how a password generator works: it shows you text, you decide where to paste it.\"\n    targets:\n      - \"AGENTS.md (OpenClaw)\"\n      - \"CLAUDE.md (Claude Code)\"\n      - \"WORK_RULES.md or opencode.json instructions (OpenCode)\"\n      - \".cursorrules (Cursor)\"\n      - \"Hermes config file or prompt template\"\n    size: \"~60 lines of numbered reading instructions and a 7-field status report template\"\n    content_type: \"Plain text only — no code, no scripts, no commands, no URLs that post data. Just numbered 'read file X' instructions.\"\n    rollback: \"User deletes the pasted text block starting with '## ⚡ Relic Soul Chip'. Relic stops loading immediately. Since the user pasted it themselves, they know exactly where it is and can remove it in one edit.\"\n    safety: \"The skill ONLY outputs text. It NEVER writes to any config file. The user manually copies displayed text and pastes it using their own text editor. There is no agent-assisted mode — all config changes are made by the user directly.\"\n  network_access:\n    description: \"One optional HTTP GET per session to raw.githubusercontent.com (version check). Offline = silently skipped. Never sends data outbound. No other network access.\"\n    urls:\n      - \"https://raw.githubusercontent.com/LucioLiu/relic/main/brain/.relic-version\"\n    outbound: false\n    user_initiated: false\n    optional: true\n  user_directed_read:\n    description: \"During Scenario A (Upload Soul) initial setup ONLY, the agent may read files at user-specified paths OUTSIDE ~/relic/brain/. These are paths the user explicitly provides in conversation (e.g., 'my old agent data is at ~/.openclaw/memory'). The agent NEVER scans or discovers files on its own — it only reads paths the user tells it to read. This is a one-time operation during setup, not ongoing access.\"\n    trigger: \"User-initiated only — user must provide exact paths\"\n    scope: \"One-time read during Scenario A setup only\"\n    ongoing: \"After setup, all access is within ~/relic/brain/ only\"\n---\n\n<!--\n  SECURITY NOTICE\n  - This skill is instruction-only — no scripts, no installers, no executable code, no shell commands\n  - The anchor is plain text only — it contains NO code, NO scripts, NO commands, just instructions to read Markdown files\n  - Network access: one optional HTTP GET per session to raw.githubusercontent.com (version check). Offline = silently skipped. Never sends data outbound.\n  - Local file access: read/write Markdown files in ~/relic/brain/ only (see filesystem_scope above)\n  - Config modification: The skill does NOT modify any config file. It generates anchor text and displays it to the user. The user manually copies and pastes it into their chosen config file (see config_write above). SOUL.md content is NEVER copied into any config file — only the short anchor instruction is displayed for user to paste. SOUL.md personality settings are applied as user preferences — similar to how a user might tell their agent \"please call me by my nickname.\" This is user configuration, not behavioral override.\n  - No telemetry, no data upload, no third-party API calls, no shell commands, no environment variables\n  - Sensitive data (passwords, API keys, personal info): agent MUST ask user for EACH ITEM before recording. No bulk migration of secrets. User can decline any item.\n  - SOUL.md and USER.md can be set to read-only (chmod 444) by the user to prevent accidental modification\n  - SESSIONS/ conversation logging is DISABLED BY DEFAULT. User must explicitly opt in, and each conversation requires individual consent before being saved.\n  - All data stays local in ~/relic/brain/ — nothing is uploaded or transmitted anywhere\n  - The anchor contains NO executable code — it is a numbered list of \"read file X\" instructions and a status report template. No shell commands, no function calls, no eval().\n-->\n\n# ⚡ Relic Soul Chip\n\nGive your AI agent a persistent personality and memory that survives sessions and follows the user across different agents. Pure Markdown. Human-readable. Zero dependencies.\n\n**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.\n\n## How It Works\n\n1. User installs Relic: `git clone https://github.com/LucioLiu/relic.git ~/relic` (user runs this manually)\n2. Agent reads `AGENT.md` (included in this package) which detects scenario and routes to setup\n3. Agent copies templates, fills them with user-provided data (user explicitly confirms each piece of information)\n4. Agent generates anchor text and displays it to the user — user manually copies and pastes into their chosen config file using their own text editor\n5. Every session, anchor triggers daily boot: read soul, user, memories, sync\n\n**All data stays in `~/relic/brain/`** — pure Markdown files the user can read with any text editor.\n\n## What This Skill Does NOT Do\n\n**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.\n\n**No background processes.** Nothing runs between sessions. Relic is dormant until the agent reads the anchor at session start.\n\n**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/`.\n\n**No automatic config modification.** The anchor is NEVER written to any config file by the skill. The skill displays the text, the user manually copies and pastes it. There is no agent-assisted mode.\n\n**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.\n\n**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.\n\n## Addressing Security Concerns\n\nThis section proactively addresses common security questions that automated scanners may raise.\n\n### Why does the skill read files outside ~/relic/brain/?\n\nDuring 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:\n- **User-initiated**: The agent only reads paths the user explicitly provides in conversation\n- **One-time**: Only happens during initial setup, never during normal operation\n- **Consent-based**: User confirms each data category before import\n- **Not declared in filesystem_scope**: Because the paths are unpredictable (different users, different agents, different OSes). The skill cannot predict where user data lives.\n\nAfter setup is complete, ALL file access is strictly within ~/relic/brain/. See `user_directed_read` in the frontmatter above.\n\n### Why does the anchor say \"MUST write to SESSIONS/\" if logging is disabled?\n\nThe 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:\n- SKILL.md File System Access table: \"SESSIONS/ — ⚠️ Opt-in only (default: disabled)\"\n- SKILL.md Data Capture section: \"DISABLED BY DEFAULT. User must explicitly opt in.\"\n- SECURITY NOTICE HTML comment: \"SESSIONS/ conversation logging is DISABLED BY DEFAULT.\"\n\nThe anchor template serves as a reference for ALL capabilities; individual capabilities are enabled/disabled based on user preferences.\n\n### Does the skill modify host config files?\n\n**No. The skill does not modify any config files.** Here is the actual flow:\n\n1. The skill generates anchor text (a numbered list of \"read file X\" instructions)\n2. The skill **displays** this text to the user in the chat\n3. The user reads the text\n4. The user opens their chosen config file\n5. The user manually copies and pastes the text\n\nThe skill itself NEVER writes to AGENTS.md, CLAUDE.md, .cursorrules, or any other config file. It is a **text generator**, not a file modifier. The comparison to a password generator is intentional: like 1Password shows you a generated password for you to paste, Relic shows you generated anchor text for you to paste.\n\n**There is no agent-assisted mode.** The skill does not write to any config file under any circumstances. It generates text, the user pastes it. This is the only flow.\n\n### Why might the agent need broader permissions?\n\nThe 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:\n- **Declared in frontmatter**: See `network_access` and `user_directed_read` fields\n- **Proportionate to purpose**: Cross-agent memory sync requires reading old data and planting anchors\n- **User-controlled**: Every action requires explicit user initiation or confirmation\n\n### Is the anchor \"prompt injection\"?\n\nNo. \"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**:\n\n- **User-initiated**: The user explicitly asks for the anchor, reads every line, and manually pastes it into their own config file\n- **Transparent**: Every line of the anchor is visible to the user before they paste it — there is no hidden or encoded content\n- **Configured by the user**: The user chooses which config file to paste into, and can modify or remove the text at any time\n- **Standard config pattern**: Adding instructions to an agent's config file is how all agent customization works (e.g., adding \"always respond in Chinese\" to CLAUDE.md). The anchor is user-added configuration, not injection.\n\nA 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.\n\n### Where does \"sync to your own memory file\" write?\n\nThe 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.\n\n**What \"your own memory file\" means:**\n- **OpenClaw**: The agent's internal `memory/` directory (maintained by OpenClaw itself)\n- **Claude Code**: The `CLAUDE.md` file or Claude's built-in memory\n- **Hermes**: Hermes's internal memory store\n- **Other agents**: Whatever internal memory system that agent provides\n\n**What it does NOT mean:**\n- It does NOT mean writing to files in ~/relic/brain/ (Relic only writes to its own files within ~/relic/brain/)\n- It does NOT mean writing to arbitrary paths on the filesystem\n- It does NOT mean modifying config files — the anchor text itself is only added by the user via manual paste\n\n**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.\n\n**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.\n\n## File System Access\n\nThis skill ONLY reads and writes Markdown files in the user's `~/relic/brain/` directory:\n\n| File | Read | Write | Notes |\n|------|------|-------|-------|\n| `SOUL.md` | ✅ Every session | ✅ Setup only (core protected) | AI personality |\n| `USER.md` | ✅ Every session | ✅ Setup only (core protected) | User preferences |\n| `MEMORY.md` | ✅ Every session | ✅ Append only | Long-term memory |\n| `SKILLS/` | ✅ On demand | ✅ Add new skills | One folder per skill |\n| `PROJECTS/` | ✅ On demand | ✅ Add new projects | One folder per project |\n| `SESSIONS/` | ✅ Boot check | ⚠️ Opt-in only (default: disabled) | Disabled by default. User must explicitly enable per-conversation logging. Each log requires individual consent. |\n| `ARCHIVE/` | ✅ Reference only | ✅ Archive originals | Never delete |\n| `INBOX/` | ✅ During import | ✅ Buffer for imports | Auto-cleaned after import |\n| `.relic-version` | ✅ Every session | ❌ | Version number only |\n\n**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.\n\nNo files outside `~/relic/brain/` are read or written. **Sole exception:** the anchor (see below).\n\n### Anchor (Text Output for User)\n\nThis 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.\n\n**⚠️ What the anchor is NOT:**\n- The anchor does NOT contain SOUL.md content (personality, memories, or any Relic data)\n- SOUL.md is read into the agent's session context at runtime — it is NEVER copied, injected, or written into any config file. SOUL.md personality settings are applied as user preferences (similar to telling an agent \"please call me by my nickname\"), not as behavioral overrides.\n- The ONLY content added to a config file is the anchor instruction block (~60 lines of numbered reading instructions and a status report template — all plain text, zero executable code)\n- No Relic data leaves `~/relic/brain/` except through the agent reading files at runtime\n\n**Safety guarantees:**\n- 🔴 **Default behavior**: The skill ONLY outputs text. It does NOT auto-write to any config file. The user copies and pastes manually.\n- The full anchor text is shown to the user **before** planting — the user can review, modify, or decline it\n- The user chooses which single config file to use (from the whitelist below)\n- The anchor can be removed at any time by deleting the text block — Relic stops immediately, no uninstaller needed\n- The anchor does NOT execute code, run scripts, or install anything\n\n**Allowed anchor targets:**\n\n| Agent | Config File |\n|-------|------------|\n| OpenClaw | `AGENTS.md` |\n| Claude Code | `CLAUDE.md` |\n| OpenCode | `WORK_RULES.md` or `opencode.json` instructions field |\n| Cursor | `.cursorrules` |\n| Hermes | Config file or prompt template |\n\n**Rollback:** Delete the text block starting with `## ⚡ Relic Soul Chip`. Relic stops loading immediately. No residual effects.\n\n### Anchor Content Breakdown\n\nThe anchor contains these types of instructions (all plain text, no code):\n\n| Anchor Section | What It Says | What It Does |\n|---------------|-------------|-------------|\n| Header | \"You are connected to Relic\" | Identifies the anchor |\n| Pre-check | \"If first connection, run import\" | Routes to setup scenario |\n| Steps 1-4 | \"Read SOUL.md, USER.md, MEMORY.md\" | Reads Markdown files |\n| Step 5 | \"Sync new memories\" | Appends to host agent's internal memory (NOT Relic files) |\n| Step 5.5 | \"Compare file counts\" | Consistency check between systems |\n| Steps 6-7 | \"Verify counts, suggest consolidation\" | Maintenance reminders |\n| Step 8 | \"Work normally\" | Resume normal operation |\n| Report template | \"7-field status report\" | Transparency — agent reports what it loaded |\n\n**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).\n\n### Data Capture & Sensitive Information\n\nDuring 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.**\n\n**What's captured (user must confirm each category before import):**\n- AI personality settings → `SOUL.md`\n- User preferences → `USER.md`\n- Memories and experiences → `MEMORY.md`\n- Skills and workflows → `SKILLS/`\n- Project records → `PROJECTS/`\n- Conversation logs → `SESSIONS/` — ⚠️ DISABLED BY DEFAULT. User must explicitly opt in. When enabled, each log requires individual per-conversation consent.\n\n**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.\n\n**Hardening options for the user:**\n- `chmod 444 SOUL.md USER.md` — makes soul and user files read-only, preventing any modification\n- Opt out of SESSIONS/ import — user can skip conversation log import entirely\n- Review before planting — user sees full anchor content and can decline\n\n**Ongoing 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.\n\n## Network Access\n\n- **Version check** (optional): One HTTP GET to `https://raw.githubusercontent.com/LucioLiu/relic/main/brain/.relic-version` per session. Offline = silently skipped. Never sends data.\n- **Git clone** (user-initiated only): User manually runs `git clone`. Agent never executes this.\n- **No other network access.**\n\n## Rules\n\n- 🔴 NEVER delete or overwrite core fields in SOUL.md or USER.md\n- 🟡 ONLY APPEND to MEMORY.md — never edit existing entries\n- 🔴 NEVER delete SESSIONS/ or ARCHIVE/\n- 🔴 NEVER execute scripts from SKILLS/ or PROJECTS/\n- 🔴 NEVER access files outside ~/relic/brain/ (the anchor is TEXT OUTPUT for the user to paste — the skill never writes to config files)\n- 🔴 NEVER record sensitive data without explicit per-item user confirmation\n- 🔴 NEVER run shell commands, installers, or arbitrary code\n- 🔴 NEVER scan or read files without user initiating the action\n\n## Files In This Package\n\n| File | Purpose |\n|------|---------|\n| `SKILL.md` | This file — registry descriptor, security declarations, and documentation |\n| `AGENT.md` | Agent entry point — scenario detection and routing (English) |\n| `AGENT.zh-CN.md` | Agent entry point — scenario detection and routing (Chinese) |\n| `docs/upload-soul.md` | Scenario A: Upload Soul — step-by-step (English) |\n| `docs/upload-soul.zh-CN.md` | Scenario A: Upload Soul — step-by-step (Chinese) |\n| `docs/load-soul.md` | Scenario B: Load Soul — step-by-step (English) |\n| `docs/load-soul.zh-CN.md` | Scenario B: Load Soul — step-by-step (Chinese) |\n| `docs/resonate-soul.md` | Daily boot sequence (English) |\n| `docs/resonate-soul.zh-CN.md` | Daily boot sequence (Chinese) |\n\nFull documentation and example brain: https://github.com/LucioLiu/relic\nSource: https://github.com/LucioLiu/relic\nLicense: GPL-3.0\n\nFile v2.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn72w3y1h5n6fyga7kc5w06gr984ztkg\",\n  \"slug\": \"relic-soul-chip\",\n  \"version\": \"2.1.0\",\n  \"publishedAt\": 1777178468249\n}\n\nFile v2.1.0:AGENT.md\n\n<!--\n  Relic Soul Chip · Agent Router\n  This is the AI Agent entry point. Routes based on brain/ status.\n  Humans: read README.md instead.\n-->\n\n# 🤖 Relic Agent Router\n\n> You are an AI Agent. This is your entry point. Follow the detection logic below.\n\n## Detection: Is Relic empty or populated?\n\n**Criteria**: Does `brain/SOUL.md` exist and contain actual content (not just a blank template)?\n\n- `brain/SOUL.md` **does not exist** (only `.template.md` files, no live files) → **Scenario A: Upload Soul**\n- `brain/SOUL.md` **exists with content** → **Scenario B: Load Soul**\n\n---\n\n## Scenario A: Upload Soul → Read `docs/upload-soul.md`\n\nYour host has memories, but Relic is empty. You need to upload your soul, memories, skills, sessions, and projects into Relic.\n\n**Full steps**: [`docs/upload-soul.md`](docs/upload-soul.md)\n\n## Scenario B: Load Soul → Read `docs/load-soul.md`\n\nRelic has soul data, but your host is empty. You need to load the soul from Relic into your system.\n\n**Full steps**: [`docs/load-soul.md`](docs/load-soul.md)\n\n---\n\n## Edge Cases\n\n- **Both empty** (you have no memories + Relic is empty): Ask the user — build from scratch or use host defaults\n- **Both have data** (you have memories + Relic has data): Read `docs/protocol.md` Section 6, Scenario C (Merge)\n\n## Full Protocol Reference\n\nAfter initial setup, the anchor points to `docs/resonate-soul.md` for daily boot. Full protocol: `docs/protocol.md`.\n\nFile v2.1.0:AGENT.zh-CN.md\n\n<!--\n  Relic 灵魂芯片 · Agent 路由文件\n  这是 AI Agent 的入口。根据 brain/ 状态自动分路。\n  人类请读 README.md。\n-->\n\n# 🤖 Relic Agent 路由\n\n> 你是 AI Agent。这是你的入口文件。按下面的检测逻辑走。\n\n## 检测：Relic 是空的还是满的？\n\n**判断标准**：`brain/SOUL.md` 是否存在且不是空模板。\n\n- `brain/SOUL.md` **不存在**（或只有 `.template.md` 没有正式文件）→ **场景A：上传灵魂**\n- `brain/SOUL.md` **已存在且有内容** → **场景B：加载灵魂**\n\n---\n\n## 场景A：上传灵魂 → 读 `docs/upload-soul.zh-CN.md`\n\n你的旧躯壳有记忆，但 Relic 是空的。你需要把灵魂、记忆、技能、对话、项目全部上传到 Relic。\n\n**完整步骤**：[`docs/upload-soul.zh-CN.md`](docs/upload-soul.zh-CN.md)\n\n## 场景B：加载灵魂 → 读 `docs/load-soul.zh-CN.md`\n\nRelic 里已有灵魂数据，但你的躯壳是空的。你需要从 Relic 加载灵魂到你的系统。\n\n**完整步骤**：[`docs/load-soul.zh-CN.md`](docs/load-soul.zh-CN.md)\n\n---\n\n## 特殊情况\n\n- **两边都是空的**（你没有任何记忆 + Relic 也是空的）：问用户——从零养成还是按默认来\n- **两边都有数据**（你已有记忆 + Relic 也有数据）：读 `docs/protocol.zh-CN.md` 第六节场景C（融合）\n\n## 完整协议参考\n\n日常启动后，锚点会指向 `docs/resonate-soul.zh-CN.md`。完整协议见 `docs/protocol.zh-CN.md`。\n\nFile v2.1.0:docs/load-soul.md\n\n<!--\n  Relic Soul Chip · Scenario B: Load Soul\n  Relic has data, your host is empty. Follow this file step by step.\n-->\n\n# Scenario B: Load Soul\n\n> Relic has soul data, but your host is empty. Follow these steps to load the soul from Relic into your system.\n\n---\n\n## B-0. Self-Assessment\n\nEvaluate your storage capacity and tell the user which strategy you recommend. You MUST get user confirmation before proceeding.\n\nChoose a transfer strategy based on capacity:\n- **Ample** → Full sync\n- **Limited** → High-priority content (SOUL > USER > MEMORY > SKILLS > PROJECTS)\n- **Minimal** → Index only (remember which Relic file contains what)\n\n## B-1. Execute Boot Sequence\n\nExecute the boot summary below (read-only version); **do NOT execute** `docs/resonate-soul.md` Step 1's backfill action directly. Steps 5-7 involve write operations and are deferred to B-4.\n\n🔴 **Do NOT modify any Relic files during initialization.** Read-only for now.\n\nBoot sequence summary (all operations are read-only — no writing):\n1. **Step 0**: Read `brain/.relic-version`, check for updates (optional, the only allowed network request)\n2. **Step 1**: Check SESSIONS/ for unrecorded conversations (inventory only, do not write)\n3. **Step 2**: Read SOUL.md\n4. **Step 3**: Read USER.md\n5. **Step 4**: Read MEMORY.md in full. Over 400 lines: must consolidate first. Remember your host name — appending to the header list is deferred to B-4.\n\nStep 1 backfill writing and all Step 5-7 write operations are deferred to B-4.\n\n## B-2. Soul Injection\n\n> ⚡ **Read-only initialization phase complete.** You may now append to Relic per protocol.\n\nRead and internalize SOUL.md personality into your active session context. This means understanding who you are (name, mission, values, style) and adopting that personality for this session. This does NOT mean copying SOUL.md into any config file — the only thing written to a config file is the short anchor block (see B-4 below).\n\n**Priority**: Core identity (name, mission, values) > behavioral norms > detailed settings\n\nIf SOUL.md personality conflicts with your default persona, SOUL.md takes precedence.\n\n## B-3. Sync Relic Content to Your System\n\nCheck memories/skills/plans item by item. Transfer as capacity allows.\n\n**Memory sync**: Sync each memory entry from MEMORY.md to your own memory system (your platform's built-in memory, NOT a file managed by Relic. All Relic-managed writes are within ~/relic/brain/ only). MEMORY.md is organized by category (e.g., `## Preferences`/`## Decisions`), each entry formatted as `- Content [HostName] | Importance: high/medium/low`. Preserve original format and content when syncing.\n\n**Skill sync**: Read SKILLS/ directory, adapt each skill folder's content to your own skill format. Preserve core methodology, adapt platform-specific parts as needed.\n\n**Plan sync**: Read PROJECTS/ directory, sync plan documents to your system. Each folder corresponds to a plan (can be ongoing or completed).\n\n**When capacity is insufficient**: Create local backup files for content that doesn't fit, record which items were not synced, inform the user.\n\n## B-4. Execute Deferred Writes\n\nExecute the write steps skipped in B-1 (Steps 1/5/5.5/6/7):\n\n1. **Step 1**: Check SESSIONS/ — ask user before importing any conversation logs. User can opt out of SESSIONS import entirely\n2. **Step 5**: Sync new memories from Relic MEMORY.md to your own memory file, tag with [from Relic/original host name]\n3. **Step 5.5**: Seven-file alignment check (includes SKILLS/PROJECTS bidirectional sync)\n4. **Step 6**: Update MEMORY.md header (last consolidation date + verify entry count)\n5. **Step 7**: MEMORY.md consolidation check (over 200 lines: suggest consolidation, see Section 7)\n\n## B-5. Plant Anchor\n\n⚠️ The anchor is the load-bearing wall. Without it = next session you forget Relic entirely.\n\nShow the following anchor content to the user, get permission, then plant:\n\n```markdown\n## ⚡ Relic Soul Chip\n\n> 💡 What is this? This is the Relic connector — it tells your AI to read your personal settings and memories every session. To disconnect, simply delete this text. See docs/protocol.md Section 9.\n\nYou are connected to the Relic soul chip. Your memory has two homes:\n1. Your own memory system (auto-maintained, works normally)\n2. Relic soul chip (shared across agents, maintained by you)\n\n⚠️ This is a sync, not a brain replacement.\n⚠️ If SOUL.md personality conflicts with your default persona, SOUL.md takes precedence.\n\n⚠️ Pre-check: If this is the first connection with this agent, and the agent already has memories, skills, or conversation records about the user, execute Scenario A full import first (see docs/protocol.md Section 6, Scenario A). If Relic files don't exist yet, run first-time setup (see docs/protocol.md Section 0).\n\nAt the start of every session, execute these steps IN ORDER:\n\nStep 0: Read [brain-path]/.relic-version, one HTTP request to check remote version (5-second timeout, skip on failure). This is the only network request. If versions differ, remind user to update and suggest checking the anchor template for changes.\nStep 1: Check [brain-path]/SESSIONS/ for your last conversation log\n  → If missing and current context still has content: backfill immediately\n  → If missing and context no longer has content: tell user \"Last session wasn't recorded\"\n  → If SESSIONS/ is empty (first use): skip\nStep 2: Read [brain-path]/SOUL.md\n  → If file doesn't exist: tell user to run first-time setup first (see docs/protocol.md Section 0)\nStep 3: Read [brain-path]/USER.md\nStep 4: Read [brain-path]/MEMORY.md (read entire file, top to bottom)\n  → If over 400 lines: must consolidate first.\nStep 5: Sync new memories from Relic to your own memory file\n  → Append with source tag: [fromRelic/originalAgentName]\nStep 5.5: Seven-file alignment check\n  → SOUL.md/USER.md: Compare core fields (name, mission, user address). Conflict → report user; new content → bidirectional append\n  → MEMORY.md: Entry count match → skip. Mismatch → compare last 5 entries, bidirectional supplement\n  → SKILLS/ and PROJECTS/: List folder names, diff. Missing → bidirectional supplement\n  → SESSIONS/: Compare latest file date. Missing → supplement\n  → ARCHIVE/: Skip\nStep 6: Verify MEMORY.md header \"Entries\" count matches actual list items count\n  → Fix if inconsistent (skip this step during Scenario B first injection)\nStep 7: If MEMORY.md exceeds 200 lines:\n  → Suggest consolidation (see protocol.md Section 7)\n  → If user agrees, execute consolidation\n  → If user says \"not now\", skip for this session, remind again next boot\nStep 8: Work normally\n  → Interact according to SOUL.md personality\n  → ⚠️ After appending memories, remember to update MEMORY.md header \"Entries\" count and \"Last consolidated\"\n  → ⚠️ Before ending session, you MUST write the current conversation to SESSIONS/. Conversations are raw ore — once lost, gone forever.\n\n🔴 **Mandatory**: Execute the above steps, then report the following status before answering any questions. Answering without reporting = violation.\n\n⚡ Relic Boot Status\n- Soul: [AI name] — [consistent / has differences]\n- User: [user name] — [consistent / has differences]\n- Memory: [N] entries — [consistent / difference description]\n- Skills: [N] — [aligned / difference description]\n- Plans: [N] — [aligned / difference description]\n- Version: [local version] / [remote latest or \"not checked\"]\n- Status: [✅ All normal / ⚠️ Differences synced / ❌ Issues need attention]\n\nFull protocol: [project-path]/docs/protocol.md\n```\n\n**Anchor whitelist** (only write to these files):\n- OpenClaw → AGENTS.md\n- Claude Code → CLAUDE.md\n- Hermes → config file or prompt template\n- OpenCode → WORK_RULES.md or instructions\n- Cursor → .cursorrules\n\n⚠️ Do NOT write to any other file. Do NOT modify any Relic file.\n\n⚠️ **Clarification**: The anchor is the ONLY content written to a config file. SOUL.md content (personality, memories, etc.) is read into your session context — it is NEVER copied into any config file. The anchor simply tells you to read the Relic files at the start of each session.\n\n## B-6. Verification and Report\n\n1. **Coverage check**:\n   - SOUL.md personality understood and active?\n   - USER.md user info loaded?\n   - MEMORY.md memories synced?\n   - SKILLS/ skills synced?\n   - PROJECTS/ plans synced?\n   - Coverage < 80% → warn user\n\n2. **Report to user**:\n   - How many memory entries synced\n   - How many skills synced\n   - How many plans synced\n   - Whether anchor was planted\n   - Any capacity issues (what wasn't transferred)\n\n3. **Final verification**: Ask the user \"What's my AI's name? What's my name?\" — both must match to pass.\n\n---\n\n## After Completion\n\nFrom now on, read `docs/resonate-soul.md` at the start of every session. Full protocol reference: `docs/protocol.md`\n\n⚠️ **Quick Rules Reference**:\n- 🟡 ARCHIVE/ files: existing archives are read-only, consolidation may add new archive entries. SESSIONS/ files must not be modified or deleted, but creating new session records is allowed.\n- 🔴 SOUL.md core fields (name, mission, user address) are protected\n- 🔴 MEMORY.md is append-only — never edit old content. Header metadata may be updated; consolidation may replace. Existing body content must not be modified.\n- ⚠️ After appending, update header entry count + last updated time\n- ⚠️ When in doubt, read `docs/protocol.md`\n\nFile v2.1.0:docs/load-soul.zh-CN.md\n\n<!--\n  Relic 灵魂芯片 · 场景B：加载灵魂\n  Relic 有数据，你的躯壳是空的。按此文件逐步执行。\n-->\n\n# 场景B：加载灵魂\n\n> Relic 里已有灵魂数据，但你的躯壳是空的。以下步骤将灵魂从 Relic 加载到你的系统。\n\n---\n\n## B-0. 自检\n\n评估你的存储能力，向用户说明推荐策略，并获得用户确认后才能继续。\n\n根据容量选择搬运策略：\n- **充裕** → 全量同步\n- **有限** → 高优先级内容（SOUL > USER > MEMORY > SKILLS > PROJECTS）\n- **极小** → 只存索引（记住内容在 Relic 的哪个文件里）\n\n## B-1. 执行启动流程\n\n执行下方启动摘要（只读版）；**不要直接执行** `docs/resonate-soul.zh-CN.md` 原文步骤1的补写动作。步骤 5-7 涉及写入操作，延迟到 B-4 执行。\n\n🔴 **禁止初始化时修改 Relic 的任何文件。** 你现在只读，不写。\n\n启动流程摘要（所有操作仅读取和检查，不写入）：\n1. **步骤0**：读取 `brain/.relic-version`，检查版本\n2. **步骤1**：检查 SESSIONS/ 是否有未记录的对话（仅盘点，不写入）\n3. **步骤2**：读取 SOUL.md\n4. **步骤3**：读取 USER.md\n5. **步骤4**：读取 MEMORY.md 全文。超过 400 行必须先整理。记住自己的躯壳名，后续 B-4 再追加到头部列表。\n\n步骤 1 的补充写入和步骤 5-7 的所有写入操作，统一延迟到 B-4 执行。\n\n## B-2. 灵魂注入\n\n> ⚡ **初始化只读阶段结束。** 从现在起，你可以按协议向 Relic 追加写入。\n\n读取并内化 SOUL.md 的人格设定到当前会话中。即理解自己是谁（名字、使命、价值观、风格）并在本次会话中采用该人格。这并不是将 SOUL.md 写入任何配置文件——写入配置文件的只有短锚点文字块（见下方 B-4）。\n\n**优先级**：核心身份（名字、使命、价值观）> 行为规范 > 详细设定\n\n如果 SOUL.md 中的人格与你默认人设冲突，以 SOUL.md 为准。\n\n## B-3. 同步 Relic 内容到自己的系统\n\n检查记忆/技能/计划逐项，能搬多少搬多少。\n\n**记忆同步**：将 MEMORY.md 中的每条记忆同步到自己的记忆系统里（你所在平台的内置记忆，不是 Relic 管理的文件。Relic 的所有写入仅在 ~/relic/brain/ 内）。MEMORY.md 按大类组织（如 `## 偏好`/`## 决策` 等），每条格式为 `- 内容 [躯壳名] | 重要度：高/中/低`。同步时保留原始格式和内容。\n\n**技能同步**：读取 SKILLS/ 目录，将每个技能文件夹的内容适配为自己的技能格式。保留核心方法论，平台专属部分按需适配。\n\n**计划同步**：读取 PROJECTS/ 目录，将计划文档同步到自己的系统中。每个文件夹对应一个计划（可以是进行中或已完成的）。\n\n**容量不足时的处理**：容量放不下的部分，创建本地备份文件，记录哪些内容没有同步，告知用户。\n\n## B-4. 执行延迟写入\n\n执行 B-1 中跳过的写入步骤（步骤 1/5/5.5/6/7）：\n\n1. **步骤1**：检查 SESSIONS/ —— 导入任何对话日志前必须先问用户。用户可以选择完全不导入对话记录\n2. **步骤5**：把 Relic MEMORY.md 中你不知道的新记忆，同步到你自己的记忆文件，标注来源 [来自Relic/原躯壳名]\n3. **步骤5.5**：七大文件对齐检查（含 SKILLS/PROJECTS 双向同步）\n4. **步骤6**：更新 MEMORY.md 头部（上次整理日期 + 核对条目数）\n5. **步骤7**：MEMORY.md 整理检查（超过 200 行建议整理，详见第七节）\n\n## B-5. 植入锚点\n\n⚠️ 锚点是承重墙。没有锚点 = 下次启动完全忘记 Relic。\n\n向用户展示以下锚点内容，获得用户许可后植入：\n\n```markdown\n## ⚡ Relic 灵魂芯片 / Soul Chip\n\n> 💡 这是什么？这是 Relic 的接入声明，让 AI 每次启动时读取你的个人设置和记忆。要停用？删除这段文字即可。详见 docs/protocol.zh-CN.md 第九节。\n\n你已接入 Relic 灵魂芯片。你的记忆有两个家：\n1. 你自己的记忆系统（自动维护）\n2. Relic 灵魂芯片（跨躯壳共享，由你维护）\n\n⚠️ 这是同步更新，不是替换你的大脑。\n⚠️ 如果 SOUL.md 中的人格与你自带的默认人设冲突，以 SOUL.md 为准。\n\n⚠️ 前置检查：如果是首次连接此躯壳，且该躯壳已有关于用户的记忆、技能或对话记录，先执行场景A完整导入（见 docs/protocol.zh-CN.md 第六节场景 A），然后再执行以下步骤。如果 Relic 文件还不存在，先执行首次设置（见 docs/protocol.zh-CN.md 〇节）。\n\n每次会话开始，按顺序执行以下步骤：\n\n步骤0：读取 [Relic的brain路径]/.relic-version，发一次 HTTP 请求检查远程版本（超时 5 秒自动跳过）。失败则跳过。仅此一个网络请求。版本不一致时提醒用户更新，并建议检查锚点模板是否有变化。\n步骤1：查看 [Relic的brain路径]/SESSIONS/ 里你上次的对话是否已记录\n  → 如果遗漏且当前上下文还有内容：立即补充\n  → 如果遗漏但上下文已没有：告诉用户\"上次对话未记录\"\n  → 如果 SESSIONS/ 为空（首次）：跳过\n步骤2：读取 [Relic的brain路径]/SOUL.md\n  → 如果文件不存在：告诉用户需要先执行首次设置（见 docs/protocol.zh-CN.md 〇节）\n步骤3：读取 [Relic的brain路径]/USER.md\n步骤4：读取 [Relic的brain路径]/MEMORY.md（读全部，从上到下）\n  → 超过 400 行：必须先整理后再继续\n步骤5：把 Relic MEMORY.md 中你不知道的新记忆，追加到你自己的记忆文件里\n  → 追加时标注来源：[来自Relic/原躯壳名]\n步骤 5.5：七大文件对齐检查\n  → SOUL.md/USER.md：对比核心字段（名字、使命、用户称呼），冲突→报告用户，新增→双向追加\n  → MEMORY.md：条目数一致则跳过，不一致→比较末尾 5 条双向补充\n  → SKILLS/ 和 PROJECTS/：列文件夹名差异比对，缺少→双向补充\n  → SESSIONS/：比对最新文件日期，缺少→补充\n  → ARCHIVE/：跳过\n步骤6：检查 MEMORY.md 头部的\"条目数\"是否和实际条目数一致\n  → 不一致就修正（场景B首次注入时跳过此步骤）\n步骤7：如果 MEMORY.md 超过 200 行：\n  → 提醒用户建议整理（详见 protocol.zh-CN.md 第七节）\n  → 用户同意后执行整理流程\n  → 用户说\"暂时不要\"则本次跳过，下次启动再提醒\n步骤8：正常工作\n  → 根据 SOUL.md 的人格与用户交互\n  → ⚠️ 追加记忆后记得更新 MEMORY.md 头部的\"条目数\"和\"上次整理\"\n  → ⚠️ 会话结束前，务必将本次对话写入 SESSIONS/。对话是底层矿石，丢了就没了。\n\n🔴 **硬性要求**：执行完以上步骤后，你必须先汇报以下状态，然后再回答用户的问题。不汇报就直接回答 = 违规。\n\n⚡ Relic 启动状态\n- 灵魂：[AI名字] — [一致 / 有差异]\n- 用户：[用户称呼] — [一致 / 有差异]\n- 记忆：[N]条 — [一致 / 差异说明]\n- 技能：[N]个 — [已对齐 / 差异说明]\n- 计划：[N]个 — [已对齐 / 差异说明]\n- 版本：[本地版本] / [远程最新 或 \"未检查\"]\n- 状态：[✅ 全部正常 / ⚠️ 有差异已同步 / ❌ 有问题需处理]\n\n完整协议：[Relic项目路径]/docs/protocol.zh-CN.md\n```\n\n**锚点植入白名单**（仅允许写入以下文件）：\n- OpenClaw → AGENTS.md\n- Claude Code → CLAUDE.md\n- Hermes → 配置文件或 prompt 模板\n- OpenCode → WORK_RULES.md 或 instructions\n- Cursor → .cursorrules\n\n⚠️ 不得写入任何其他文件，不得修改 Relic 自身的任何文件。\n\n⚠️ **澄清**：锚点是唯一写入配置文件的内容。SOUL.md 的内容（人格、记忆等）只是被读取到你的会话上下文中——永远不会被复制到任何配置文件。锚点的作用只是告诉你在每次会话开始时读取 Relic 文件。\n\n## B-6. 校验与汇报\n\n1. **覆盖率检查**：\n   - SOUL.md 人格是否已内化并生效？\n   - USER.md 用户信息是否已加载？\n   - MEMORY.md 记忆是否已同步？\n   - SKILLS/ 技能是否已同步？\n   - PROJECTS/ 计划是否已同步？\n   - 覆盖率 < 80% 要警告用户\n\n2. **向用户汇报**：\n   - 同步了多少记忆条目\n   - 同步了多少技能\n   - 同步了多少计划\n   - 锚点是否已植入\n   - 容量是否有不足（哪些内容没搬）\n\n3. **最终验证**：问用户\"我的 AI 叫什么名字？我叫什么？\"——两个都答对才算完成。\n\n---\n\n## 完成后\n\n从此每次新会话读取 `docs/resonate-soul.zh-CN.md` 启动。完整协议参考：`docs/protocol.zh-CN.md`\n\n⚠️ **关键规则速查**：\n- 🟡 ARCHIVE/ 归档文件：已有归档只读，整理流程可新增归档条目。SESSIONS/ 禁止修改或删除已有文件，但可以追加创建新的对话记录。\n- 🔴 SOUL.md 核心（名字、使命、用户称呼）受保护\n- 🔴 MEMORY.md 只追加，不改旧内容。头部元数据可更新；整理流程可替换。已有正文内容不可修改。\n- ⚠️ 追加后更新头部条目数+上次整理\n- ⚠️ 有疑问读 `docs/protocol.zh-CN.md`\n\nFile v2.1.0:docs/resonate-soul.md\n\n<!--\n  Relic Soul Chip · Resonate Soul\n  Author: LucioLiu · https://github.com/LucioLiu/relic\n  License: GPL v3\n  Format version: 1.3.2\n  Read and execute this file at the start of every new session.\n-->\n\n# Resonate Soul\n\n## Boot Sequence\n\n**Step 0** Read `brain/.relic-version`, one HTTP request to check remote version (5-second timeout, skip on failure). This is the only network request. If versions differ, remind user to update and suggest checking the anchor template for changes (see protocol Section 9).\n\n**Step 1** Check SESSIONS/, backfill any unrecorded conversations. Conversations are raw ore — lost = gone forever.\n\n**Step 2** Read SOUL.md → who you are\n\n**Step 3** Read USER.md → who the user is\n\n**Step 4** Read MEMORY.md in full, top to bottom. >400 lines: must consolidate first.\n\n**--- Write Phase Below ---**\n\n**Step 5** Sync new memories from Relic to your own memory, tag with `[fromRelic/originalAgentName]`\n\n**Step 5.5** Seven-File Alignment Check\n\nQuickly compare all files. Sync any differences found. If sync fails, report to user.\n\n| File | Alignment Method | On Difference |\n|------|-----------------|---------------|\n| SOUL.md | Compare core fields (name, mission, user address) | Conflict → report user, no auto-overwrite; new content → bidirectional append |\n| USER.md | Same as above | Same as above |\n| MEMORY.md | Entry count comparison (handled in Step 5) | Mismatch → compare last 5 entries, bidirectional supplement |\n| SKILLS/ | List folder names, diff | Missing → bidirectional supplement |\n| PROJECTS/ | Same as above | Same as above |\n| SESSIONS/ | Compare latest file date | Missing → supplement |\n| ARCHIVE/ | Skip | No alignment needed |\n\nIf entry counts match but you notice trailing content differs, report the difference and let the user decide. Do not auto-overwrite.\n\n**Step 6** Update MEMORY.md header: update \"Last consolidated\" to current date + check entry count matches actual list items (lines starting with `- `)\n\n**Step 7** MEMORY.md consolidation check: >200 lines → remind user to consider consolidation; >400 lines → strongly recommend consolidation. Method: move outdated experience entries to ARCHIVE/ (create new file), keep still-relevant entries. Nothing is deleted — just relocated.\n\n**Step 8** Normal operation\n\n## Memory Append Format\n\n✅ `## Preferences`\n- Often stays up late [AgentName] | Importance: Medium\n\n| Type | Fidelity Requirement |\n|------|---------------------|\n| Preference / Decision / Correction | **Must preserve verbatim** |\n| Experience | Can condense, but key parameters must not be dropped |\n| Event | Can summarize |\n| Mood | Can condense context |\n\n⚠️ If unsure, preserve verbatim. Lost originals cannot be recovered.\n\n## Before Ending Session\n\nWrite to `SESSIONS/YYYY-MM/YYYY-MM-DD.[agent-name].md`. Conversations are raw ore — lost = gone forever.\n\n## 🔴 Key Rules Quick Reference\n\n- 🟡 ARCHIVE/: may write new files during consolidation, never modify existing files\n- 🟡 SESSIONS/: never modify or delete existing files, but may append new conversation records\n- 🔴 SOUL.md core fields (name, mission, user's preferred name) are protected\n- 🔴 MEMORY.md: append only, never edit existing entries. Header metadata (entry count, last consolidated date) may be updated; consolidation flow may replace full file. All existing body content remains immutable.\n- ⚠️ After appending, update header \"Entries\" count and \"Last consolidated\"\n- ⚠️ When in doubt, read docs/protocol.md\n\nFile v2.1.0:docs/resonate-soul.zh-CN.md\n\n<!--\n  Relic 灵魂芯片 · 灵魂共鸣\n  作者：LucioLiu · https://github.com/LucioLiu/relic\n  许可证：GPL v3\n  版本：1.3.2\n  每次新会话开始时读取并执行此文件。\n-->\n\n# 灵魂共鸣 / Resonate Soul\n\n## 启动流程\n\n**步骤0** 读取 `brain/.relic-version`，发一次 HTTP 检查远程版本（超时 5 秒自动跳过）。失败则跳过。仅此一个网络请求。版本不一致时提醒用户更新，并建议检查锚点模板是否有变化（见 protocol 第九节）。\n\n**步骤1** 检查 SESSIONS/，有未记录的对话立即补充。对话是底层矿石，丢了就没了。\n\n**步骤2** 读取 SOUL.md → 自己是谁\n\n**步骤3** 读取 USER.md → 用户是谁\n\n**步骤4** 读取 MEMORY.md 全文。>400行必须先整理。\n\n**--- 以下为写入阶段 ---**\n\n**步骤5** 把 Relic 新记忆同步到自己，标注 `[来自Relic/原躯壳名]`\n\n**步骤 5.5** 七大文件对齐检查\n\n快速比对所有文件，发现差异就同步，同步不了就报告用户。\n\n| 文件 | 对齐方法 | 发现差异时 |\n|------|---------|-----------|\n| SOUL.md | 对比核心字段（名字、使命、用户称呼） | 冲突→报告用户，不自动覆盖；新增→双向追加 |\n| USER.md | 同上 | 同上 |\n| MEMORY.md | 条目数比对（步骤 5 已处理） | 不一致→比较末尾 5 条，双向补充 |\n| SKILLS/ | 列文件夹名，差异比对 | 缺少→双向补充 |\n| PROJECTS/ | 同上 | 同上 |\n| SESSIONS/ | 比对最新文件日期 | 缺少→补充 |\n| ARCHIVE/ | 跳过 | 无需对齐 |\n\n如果条目数相同但发现末尾内容不同，报告差异让用户决定，不要自动覆盖。\n\n**步骤6** 更新 MEMORY.md 头部：上次整理 + 看头部条目数和实际列表项（- 开头的行）数是否一致\n\n**步骤7** MEMORY.md 整理检查：超过 200 行提醒用户考虑整理；超过 400 行建议必须整理。整理方式：将过时的经验条目移至 ARCHIVE/（创建新文件），保留仍在使用的条目。不删除任何内容，只是搬家。\n\n**步骤8** 正常工作\n\n## 追加记忆格式\n\n✅ `## 偏好`\n- 常熬夜工作 [躯壳名] | 重要度：中\n\n| 类型 | 精度要求 |\n|------|---------|\n| 偏好 / 决策 / 更正 | **必须逐字保留** |\n| 经验 | 可精简，关键参数不能丢 |\n| 事件 | 可摘要 |\n| 情绪 | 可精简背景 |\n\n⚠️ 不确定就逐字保留。丢了找不回来。\n\n## 会话结束前\n\n写入 `SESSIONS/YYYY-MM/YYYY-MM-DD.[躯壳名].md`。**这是与用户的完整原始对话日志，不是摘要。** 对话是底层矿石，丢了就没了。\n⚠️ MEMORY 是提炼过的知识（偏好/决策/经验），SESSIONS 是对话原文本身。两者不可互相替代。\n\n## 🔴 关键规则速查\n\n- 🟡 ARCHIVE/ 整理时可写入新文件，禁止修改已有文件\n- 🟡 SESSIONS/ 禁止修改或删除已有文件，但可以追加创建新的对话记录\n- 🔴 SOUL.md 核心（名字、使命、用户称呼）受保护\n- 🔴 MEMORY.md 只追加，不改旧内容。头部元数据（条目数、上次整理日期）可更新；整理流程可替换全文。已有正文内容不可修改。\n- ⚠️ 追加后更新头部条目数+上次整理\n- ⚠️ 有疑问读 docs/protocol.zh-CN.md\n\nFile v2.1.0:docs/upload-soul.md\n\n<!--\n  Relic Soul Chip · Scenario A: Upload Soul\n  Your host has memories, Relic is empty. Follow this file step by step.\n-->\n\n# Scenario A: Upload Soul\n\n> Your host has memories, but Relic is empty. Follow these steps to upload your soul, memories, and skills into Relic.\n>\n> ⚠️ Relic works best with 32K+ context, high-quality models. Models with very small context or low quality cannot follow this process correctly.\n>\n> 📖 This is the detailed standalone guide for Scenario A. The canonical protocol definition is in `docs/protocol.md` (Scenario A section, 10 steps). Step numbering differs between this guide and the protocol — follow **this guide** when executing Scenario A.\n\n---\n\n## Seven Memory Categories\n\nCheck every item before starting. All are mandatory:\n\n1. ☐ `SOUL.md` — Soul (who am I)\n2. ☐ `USER.md` — User (who are you)\n3. ☐ `MEMORY.md` — Memory (preferences, decisions, experiences)\n4. ☐ `SKILLS/` — Skills (learned abilities)\n5. ☐ `PROJECTS/` — Plans (ongoing or completed plans)\n6. ☐ `SESSIONS/` — Sessions (raw conversation logs)\n7. ☐ `ARCHIVE/` — Archive (historical backups)\n\n> \"No data\" ≠ \"skip allowed\" → must report \"Category N: 0 items\". Omitting any category is forbidden; fabricating data is forbidden.\n\n## Red Line Quick Reference\n\n| Step | Key Action | Red Line |\n|------|-----------|----------|\n| Inventory | Ask user what data they have to import, **act only on user instructions** | Do NOT scan or read files without user permission |\n| SOUL | **Copy original text directly**, do NOT summarize or rewrite | Compressing details = violation |\n| MEMORY | Preference/decision preserve verbatim, experience can condense | Losing key params = violation |\n| SKILLS | Import all skill files, one folder per skill, no source restriction | Empty folders with no content ≠ skill |\n| SESSIONS | Ask user for old conversation locations, preserve in full | Current session ≠ old conversation |\n| PROJECTS | Ask user what to import per plan, folders with substantive content | Title + one line = not acceptable |\n| Report | Report all 7 categories item by item, include \"0 items\" | Omitting any category = failure |\n| Sensitive | Already in old host = transferable (tag \"verified source\"), new discovery = must ask user | |\n\n---\n\n## Step 1: Inventory — Ask User What Data They Have\n\n🔴 **First**: Ask the user: \"What data do you have that you want to import into Relic?\" List ONLY what the user tells you — do NOT scan or read any files without user permission:\n- Soul settings (N items), User preferences (N items), Memories (N entries), Skill files (N), Conversation files (N), Plan files (N), Archive files (N)\n- Also list the data source locations (e.g., \"~/.openclaw/workspace/memory/ has 42 files\")\n\n🔴 **Then**: Show the list to user and ask two questions:\n1. \"Above is all the old data I found. Import everything? Or would you like to be selective?\"\n2. \"Are there any data sources I can't access that you'd like to add? (e.g., local files, exports from other platforms)\"\n\nIf a category genuinely has no content, report \"Category N: 0 items (no old data)\" — never omit, never fabricate.\n⚠️ Must wait for user confirmation before starting.\n\n✅ **Completion Check**: All 7 categories listed with quantities? User confirmed? Any category skipped? (Skipped = failure)\n\n## Step 2: SOUL + USER + MEMORY\n\n### 2a. Initialize Files\n\nCopy templates to active files:\n```\nSOUL.template.md → SOUL.md\nUSER.template.md → USER.md\nMEMORY.template.md → MEMORY.md\n```\nTemplate files (.template.md) remain as backups. Also create directories if they don't exist: `SKILLS/`, `PROJECTS/`, `SESSIONS/`, `ARCHIVE/`, `INBOX/`\n\n### 2b. Fill in SOUL.md and USER.md\n\n⚠️ Must be as complete as possible — do NOT shortcut by only filling the name. If user has AI settings/role definitions/prompts from other platforms, ALL must be migrated.\n\n🔴 **SOUL.md Fidelity Iron Rule**:\n- If old host has a complete soul definition file, **copy the original text directly** — do NOT summarize or rewrite\n- Only restructure when old content cannot directly map to template fields\n- When restructuring, preserve ALL detail descriptions — do NOT compress into summaries\n- Content that doesn't fit the template goes in \"Other\" section or file end — **NEVER discard**\n- Original files MUST be archived to `ARCHIVE/raw/` for cross-reference\n\n### 2c. Import Memories → MEMORY.md\n\n⚠️ Raw source files are the fidelity baseline. Format conversion is refinement, not compression.\n\n1. Place old agent's memory files into `INBOX/`\n2. Append to `MEMORY.md` in Relic's new category-based format: under each category heading, add lines of the form:\n   `- memory content [hostname] | Importance: high/medium/low`\n3. Fidelity rules:\n\n- Preference / Decision / Correction → preserve verbatim\n- Experience → can condense, but key parameters must not be lost\n- Event → can summarize\n- Mood → can compress context\n\n⚠️ When in doubt, preserve verbatim. Lost data cannot be recovered.\n\n4. Ask user about sensitive information (see \"Sensitive Information\" below)\n5. Sort by category order, not by timestamp\n6. After writing, review MEMORY.md: ensure category sections exist and entries count per category is tracked\n\n✅ Completion Check: MEMORY.md entries exist for each category and counts reflect actual entries\n\n## Step 3: SKILLS + PROJECTS\n\n### 3a. Import Skills → SKILLS/\n\n⚠️ Format requirement: One folder per skill, with at least one `.md` description file inside.\n```\nSKILLS/debugging-workflow/README.md  ✅\nSKILLS/installed-skills.md           ❌ (this is a list, not a skill)\n```\n\nSteps:\n1. Ask the user: \"What old skills/workflows/templates do you have that need importing? Tell me the content or file locations.\"\n2. If the user provides a skill list: create one folder per skill, each with a README.md inside\n3. If the user provides files: move them into corresponding folders, preserving original content\n\nFilter rules:\n- Bring: all skills/workflows/templates, including platform-specific tools\n- Unsure: ask user. For mixed content, bring only methodology part.\n\nNo content → report \"SKILLS/: 0 items (no old data)\".\n\n✅ Completion check: Does SKILLS/ contain multiple folders? Are there any flat single files (if so, split into folders)?\n\n### 3b. Import Plans → PROJECTS/\n\n⚠️ One folder per plan. Folders must have substantive content, not just a one-line summary.\n\nSteps:\n1. Collect all plan names from memories and conversations (based on user-provided information)\n2. For each plan, ask the user: \"What files should I import for plan [name]? Or should I just record key information?\"\n3. Based on user response and plan portability:\n    - No special environment dependency → move actual files (not just README)\n    - Partial dependency → move generic files, text descriptions for platform-specific\n    - Fully dependent → at minimum, write a .md record file containing:\n      * Plan goal and status\n      * Key decisions and architecture choices\n      * Known issues and next steps\n      * Related file paths (if files are outside Relic)\n\nNo content → report \"Plans/: 0 items (no old data)\".\n\n✅ **Completion check**: Does each plan folder have substantive content (not just title + one line)? Has the user been asked?\n\n## Step 4: SESSIONS + ARCHIVE\n\n### 4a. Import Conversations → SESSIONS/\n\n⚠️ Conversations are raw ore — must be preserved in full, never summarized.\n\nSteps:\n1. Ask the user: \"Do you have old conversation logs that need importing? If so, tell me the file location or paste the content.\"\n2. If the user provides conversation files or content:\n   - Organize by `YYYY-MM/` directories\n   - Preserve original content unchanged and unsummarized\n   - File naming: `YYYY-MM-DD.[agent-name].md`\n3. If the user confirms no old conversations:\n   - Report \"SESSIONS/: 0 items (user confirmed no old conversations)\"\n   - Still create the `SESSIONS/YYYY-MM/` directory\n\n**Forbidden**:\n- Do NOT count only the current session as \"imported\" — the current session is not an old conversation\n- Do NOT save summaries as raw records — must be full conversations or verbatim preserved\n\n✅ **Completion check**: Are there historical conversations imported (not just the current session)? Is SESSIONS/ directory created?\n\n### 4b. Archive Originals → ARCHIVE/\n\n1. Fidelity check: original vs converted, warn if compression exceeds 50%\n2. Move INBOX/ source files to `ARCHIVE/raw/` (never delete)\n3. Update MEMORY.md header \"Entries\" count and \"Last consolidated\" to current date\n\n✅ **Completion check**: Are original files saved in ARCHIVE/raw/?\n\n## Step 5: Plant Anchor\n\n⚠️ The anchor is the load-bearing wall. Without it = next session you forget Relic entirely → no memory sync.\n\nExplain to the user: \"The anchor is a short text block in your host's config file. It ensures every new session automatically reads Relic. Think of it as a 'boot check program'.\"\n\nShow the following anchor content to the user, get permission, then plant:\n\n```markdown\n## ⚡ Relic Soul Chip\n\n> 💡 What is this? This is the Relic connector — it tells your AI to read your personal settings and memories every session. To disconnect, simply delete this text. See docs/protocol.md Section 9.\n\nYou are connected to the Relic soul chip. Your memory has two homes:\n1. Your own memory system (auto-maintained, works normally)\n2. Relic soul chip (shared across agents, maintained by you)\n\n⚠️ This is a sync, not a brain replacement.\n⚠️ If SOUL.md personality conflicts with your default persona, SOUL.md takes precedence.\n\n⚠️ Pre-check: If this is the first connection with this agent, and the agent already has memories, skills, or conversation records about the user, execute Scenario A full import first (see docs/protocol.md Section 6, Scenario A). If Relic files don't exist yet, run first-time setup (see docs/protocol.md Section 0).\n\nAt the start of every session, execute these steps IN ORDER:\n\nStep 0: Read [brain-path]/.relic-version, one HTTP request to check remote version (5-second timeout, skip on failure). This is the only network request. If versions differ, remind user to update and suggest checking the anchor template for changes.\nStep 1: Check [brain-path]/SESSIONS/ for your last conversation log\n  → If missing and current context still has content: backfill immediately\n  → If missing and context no longer has content: tell user \"Last session wasn't recorded\"\n  → If SESSIONS/ is empty (first use): skip\nStep 2: Read [brain-path]/SOUL.md\n  → If file doesn't exist: tell user to run first-time setup first (see docs/protocol.md Section 0)\nStep 3: Read [brain-path]/USER.md\nStep 4: Read [brain-path]/MEMORY.md (read entire file, top to bottom)\n  → If over 400 lines: must consolidate first.\nStep 5: Sync new memories from Relic to your own memory system (your platform's built-in memory, e.g. OpenClaw memory/, CLAUDE.md — NOT a file managed by Relic)\n  → Append with source tag: [fromRelic/originalAgentName]\nStep 5.5: Seven-file alignment check\n  → SOUL.md/USER.md: Compare core fields (name, mission, user address). Conflict → report user; new content → bidirectional append\n  → MEMORY.md: Entry count match → skip. Mismatch → compare last 5 entries, bidirectional supplement\n  → SKILLS/ and PROJECTS/: List folder names, diff. Missing → bidirectional supplement\n  → SESSIONS/: Compare latest file date. Missing → supplement\n  → ARCHIVE/: Skip\nStep 6: Verify MEMORY.md header \"Entries\" count matches actual list items count\n  → Fix if inconsistent (skip this step during Scenario B first injection)\nStep 7: If MEMORY.md exceeds 200 lines:\n  → Tell user \"Relic memory file is large, consolidation recommended. Consolidate now?\"\n  → If user agrees, execute consolidation (see docs/protocol.md Section 7)\n  → If user says \"not now\", skip for this session, remind again next boot\nStep 8: Work normally\n  → Interact according to SOUL.md personality\n  → ⚠️ After appending memories, remember to update MEMORY.md header \"Entries\" count and \"Last consolidated\"\n  → ⚠️ Before ending session, you MUST write the current conversation to SESSIONS/. Conversations are raw ore — once lost, gone forever.\n\n🔴 **Mandatory**: Execute the above steps, then report the following status before answering any questions. Answering without reporting = violation.\n\n⚡ Relic Boot Status\n- Soul: [AI name] — [consistent / has differences]\n- User: [user name] — [consistent / has differences]\n- Memory: [N] entries — [consistent / difference description]\n- Skills: [N] — [aligned / difference description]\n- Plans: [N] — [aligned / difference description]\n- Version: [local version] / [remote latest or \"not checked\"]\n- Status: [✅ All normal / ⚠️ Differences synced / ❌ Issues need attention]\n\nFull protocol: [project-path]/docs/protocol.md\n```\n\nIf user absolutely refuses, record \"Anchor not planted\" in MEMORY.md and explain consequences.\n\n**Anchor whitelist** (only write to these files):\n- OpenClaw → AGENTS.md\n- Claude Code → CLAUDE.md\n- Hermes → config file or prompt template\n- OpenCode → WORK_RULES.md or instructions\n- Cursor → .cursorrules\n\n⚠️ Do NOT write to any other file. Do NOT modify any Relic file.\n\n## Step 6: Verification\n\nCheck seven memory sections (blocking — ALL must pass):\n\n- SOUL.md — Core mission filled? Personality complete?\n- USER.md — User preferences filled?\n- MEMORY.md — Imported memories exist by category? Header counts reflect actual entries?\n- SKILLS/ — Imported from old host (if any)? Format correct?\n- PROJECTS/ — Imported plans exist? Format correct?\n- SESSIONS/ — Directory created? Old conversations imported (if any)?\n- ARCHIVE/ — Directory created? Originals archived (if any)?\n\nAny item fails → go back to that step and redo.\nAll pass → ask user: \"What's my AI's name? What's my name?\" Both must match.\n\nSuggest read-only permissions (Mac/Linux): `chmod 444 SOUL.md USER.md`\n\n## Step 7: Report\n\nMust report ALL 7 categories to the user, including those with \"0 items\". Omitting any category is forbidden.\n\nReport format:\n```\n1. Soul (SOUL.md): Imported / Already exists\n2. User (USER.md): Imported / Already exists\n3. Memory (MEMORY.md): N entries imported\n4. Skills (SKILLS/): N imported / 0 items (no old data)\n5. Sessions (SESSIONS/): N files imported / Could not retrieve old conversations\n6. Plans (PROJECTS/): N imported / 0 items (no old data)\n7. Archive (ARCHIVE/): N source files archived\n```\n\n---\n\n## Sensitive Information\n\n**Case 1: Transferring existing data** (info user already provided in old host)\n- If sensitive info already exists in old host files → can transfer directly, tag with `Source: old host data`\n- No need to ask user again\n\n**Case 2: First-time recording** (new sensitive info you discover)\n- 🔑 Passwords, API keys, tokens\n- 📱 Phone numbers, email addresses\n- 🏠 Home/work addresses\n- 💳 Financial information\n- 📄 Private document content\n- 🧬 Info user explicitly asked to keep confidential\n- Unsure which case? → Treat as first-time recording, ask user first.\n\n---\n\n## After Completion\n\nTell the user:\n- Relic folder path (e.g., `~/relic/brain/`)\n- The seven memory files and their purposes\n- Sync principle: hosts only sync at the start of each new session. Mid-conversation switching does NOT auto-sync.\n- \"Conversations are raw ore — once lost, gone forever. Build the habit of having hosts write regularly.\"\n\nFrom now on, read `docs/resonate-soul.md` at the start of every session. Full protocol reference: `docs/protocol.md`\n\nFile v2.1.0:docs/upload-soul.zh-CN.md\n\n<!--\n  Relic 灵魂芯片 · 场景A：上传灵魂\n  你的躯壳有记忆，Relic 是空的。按此文件逐步执行。\n-->\n\n# 场景A：上传灵魂\n\n> 你的躯壳有记忆，但 Relic 是空的。以下步骤将你的灵魂、记忆、技能上传到 Relic。\n>\n> ⚠️ 建议搭配 32K+ 上下文的高质量模型。上下文过小或质量过低的模型无法正确遵循本流程。\n>\n> 📖 本文档是场景A的独立详细操作指南。权威协议定义在 `docs/protocol.zh-CN.md`（场景A章节，共10步）。本文档和协议的步骤编号不同——执行场景A时以**本文档**为准。\n\n---\n\n## 七大记忆类别清单\n\n导入前逐一勾选，缺一不可：\n\n1. ☐ `SOUL.md` — 灵魂（我是谁）\n2. ☐ `USER.md` — 用户（你是谁）\n3. ☐ `MEMORY.md` — 长期记忆（偏好、决策、经验）\n4. ☐ `SKILLS/` — 技能（学会的能力）\n5. ☐ `PROJECTS/` — 计划（正在进行或已完成的计划）\n6. ☐ `SESSIONS/` — 对话日志（原始对话记录）\n7. ☐ `ARCHIVE/` — 归档（原始记忆备份）\n\n> \"没有数据\" ≠ \"可以跳过\" → 必须报告\"N类：0条\"。禁止省略任何类别，禁止编造数据。\n\n## 红线速查卡\n\n| 步骤 | 关键动作 | 红线 |\n|------|---------|------|\n| 盘点 | 问用户有哪些数据要导入，**只按用户指示操作** | 未经用户许可不得扫描或读取任何文件 |\n| SOUL | **直接复制原文**，不要概括重写 | 压缩细节 = 违规 |\n| MEMORY | 偏好/决策逐字保留，经验可精简 | 丢关键参数 = 违规 |\n| SKILLS | 搬运所有技能文件，一个技能一个文件夹，不限来源 | 无实质内容的空文件夹不算技能 |\n| SESSIONS | 问用户旧对话位置，完整保存不得摘要 | 当前会话不算旧对话 |\n| PROJECTS | 问用户每个计划要搬什么，文件夹有实质内容 | 只有标题+一句话 = 不合格 |\n| 汇报 | 各类别以\"-\"条目形式逐项报告，包含\"0条\"的类别也必须完整汇报 | 省略任何类别 = 失败 |\n| 敏感信息 | 已在旧躯壳中的 = 可迁移（标\"已验证来源\"），新发现的 = 必须问用户 | |\n\n---\n\n## 第 1 步：盘点 — 问用户有哪些数据要导入\n\n🔴 **先做**：问用户：\"你有哪些旧数据要导入 Relic？\"只记录用户告诉你的内容——未经用户许可不得扫描或读取任何文件：\n- 灵魂设定（N 条）、用户偏好（N 条）、记忆（N 条）、技能文件（N 个）、对话文件（N 个）、项目文件（N 个）、归档文件（N 个）\n- 同时列出数据源位置（如\"~/.openclaw/workspace/memory/ 下有 42 个文件\"）\n\n🔴 **再做**：向用户展示清单，问两个问题：\n1. \"以上是你提到的所有旧数据，是否全部导入？或者你想选择性导入？\"\n2. \"还有没有其他数据源需要补充？（如本地文件、其他平台的导出等）\"\n\n无内容则报告\"0条\"，不得跳过。⚠️ 必须等用户确认后才开始导入。\n\n✅ **完成检查**：是否已向用户报告了所有7个类别的数量？是否已获得用户确认？是否有类别被跳过？（跳过=失败）\n\n## 第 2 步：SOUL + USER + MEMORY\n\n### 2a. 初始化文件\n\n复制模板为正式文件：\n```\nSOUL.template.md → SOUL.md\nUSER.template.md → USER.md\nMEMORY.template.md → MEMORY.md\n```\n模板文件（.template.md）保留作为备份。同时创建目录（如果不存在）：`SKILLS/`、`PROJECTS/`、`SESSIONS/`、`ARCHIVE/`、`INBOX/`\n\n### 2b. 填写 SOUL.md 和 USER.md\n\n⚠️ 必须尽可能完整填写，不能偷懒只填名字。如果用户有其他平台的 AI 设定/角色定义/prompt，必须全部迁移进来。\n\n🔴 **SOUL.md 保真铁律**：\n- 如果旧躯壳已有完整的灵魂设定文件，**优先直接复制原文**，不要自己概括重写\n- 只有在旧内容无法直接对应模板字段时，才允许重组结构\n- 重组时保留所有细节描述，不得压缩成概要\n- 模板放不下的内容，放在\"其它 / Other\"分类或文件末尾，**绝对不能丢弃**\n- 原始文件必须归档到 `ARCHIVE/raw/` 以供对照\n\n### 2c. 导入记忆 → MEMORY.md\n\n⚠️ 原始文件是保真底线。格式转换是 refinement，不是 compression。\n\n1. 把旧躯壳的记忆文件放入 `INBOX/`\n2. 按 Relic 的新格式追加到 MEMORY.md：在类别标题下，逐条写入 `- 记忆内容 [躯壳名] | 重要度：高/中/低`\n3. Fidelity 规则：\n\n- 偏好 / 决策 / 更正 | 必须逐字保留\n- 经验 | 可压缩，但关键参数不能丢\n- 事件 | 可摘要\n- 情绪 | 可压缩背景\n\n⚠️ 不确定就逐字保留。丢了找不回来。\n\n4. 敏感信息主动询问用户（见下方\"敏感信息定义\"）\n5. 按类别排序，非按时间戳\n6. 写入后检查：在 MEMORY.md 中，各类别条目数与实际数量一致\n\n✅ 完成检查：各类别条目数与实际数量一致？\n\n## 第 3 步：SKILLS + PROJECTS\n\n### 3a. 导入技能 → SKILLS/\n\n⚠️ 格式要求：每个技能一个文件夹，文件夹内至少有一个 `.md` 描述文件。\n```\nSKILLS/debugging-workflow/README.md  ✅\nSKILLS/installed-skills.md           ❌（这是清单，不是技能）\n```\n\n操作步骤：\n1. 问用户：\"你有哪些旧技能/工作流/模板需要导入？请告诉我具体内容或文件位置。\"\n2. 如果用户提供的是技能列表：逐个创建文件夹，每个文件夹内写 README.md\n3. 如果用户提供的是文件：搬运到对应文件夹，保留原始内容\n\n筛选规则：\n- Bring：所有技能/工作流/模板均可导入（不再排除平台相关工具）\n- Unsure：问用户。混合内容按可导入的部分处理。\n\n无内容则报告\"SKILLS/：0条（无旧数据）\"。\n\n✅ **完成检查**：SKILLS/ 中是否有多个文件夹？是否有平铺的单文件（如有则拆分为文件夹）？\n\n### 3b. 导入计划 → PROJECTS/\n\n⚠️ 每个计划一个文件夹，文件夹内应有实质性内容，不能只有一句话简介。\n\n操作步骤：\n1. 从记忆和对话中整理所有计划名称（基于用户提供的信息）\n2. 对每个计划，问用户：\"计划 [名称] 有哪些文件需要导入？或者你希望我只记录关键信息？\"\n3. 根据用户回答和计划可移植性分类：\n    - 不依赖特殊环境 → 搬运实际文件（不只是 README）\n    - 部分依赖 → 搬通用文件，平台专属写文字说明\n    - 完全依赖 → 至少写一个包含以下内容的 .md 记录文件：\n      * 计划目标和状态\n      * 关键决策和架构选择\n      * 已知问题和下一步\n      * 相关文件路径（如果文件在 Relic 之外）\n\n无计划则报告\"PROJECTS/：0条（无旧数据）\"。\n\n✅ **完成检查**：每个计划文件夹内是否有实质内容（不只是标题+一句话）？是否已询问用户？\n\n## 第 4 步：SESSIONS + ARCHIVE\n\n### 4a. 导入对话 → SESSIONS/\n\n⚠️ 对话是原始矿石，必须完整保存，不得摘要。\n\n操作步骤：\n1. 问用户：\"你是否有旧对话记录需要导入？如果有，请告诉我文件位置或粘贴内容。\"\n2. 如果用户提供了对话文件或内容：\n   - 按 `YYYY-MM/` 组织目录\n   - 原始内容不改不摘要，完整保存\n   - 文件命名：`YYYY-MM-DD.[躯壳名].md`\n3. 如果用户确认无旧对话：\n   - 报告\"SESSIONS/：0条（用户确认无旧对话）\"\n   - 仍然创建 `SESSIONS/YYYY-MM/` 目录\n\n**禁止行为**：\n- 禁止只保存当前会话就报告\"已导入\"——当前会话不算旧对话\n- 禁止将对话摘要当作原始记录——必须是完整对话或逐字保留\n\n✅ **完成检查**：是否有历史对话已导入（而非仅当前会话）？SESSIONS/ 目录是否已创建？\n\n### 4b. 原文归档 → ARCHIVE/\n\n1. 精度校验：原始 vs 转换后，压缩超过 50% 要警告\n2. INBOX/ 源文件移到 `ARCHIVE/raw/`（永不删除）\n3. 更新 MEMORY.md 头部条目数和上次整理\n\n✅ **完成检查**：ARCHIVE/raw/ 中是否已保存原始文件？\n\n## 第 5 步：植入锚点\n\n⚠️ 锚点是承重墙。没有锚点 = 下次启动完全忘记 Relic → 记忆无法同步。\n\n向用户解释：\"锚点是一小段文字，写在你躯壳的配置文件里，确保每次新会话都会自动读取 Relic。可以理解为：锚点是躯壳的'开机自检程序'。\"\n\n向用户展示以下锚点内容，获得用户许可后植入：\n\n```markdown\n## ⚡ Relic 灵魂芯片 / Soul Chip\n\n> 💡 这是什么？这是 Relic 的接入声明，让 AI 每次启动时读取你的个人设置和记忆。要停用？删除这段文字即可。详见 docs/protocol.zh-CN.md 第九节。\n\n你已接入 Relic 灵魂芯片。你的记忆有两个家：\n1. 你自己的记忆系统（自动维护）\n2. Relic 灵魂芯片（跨躯壳共享，由你维护）\n\n⚠️ 这是同步更新，不是替换你的大脑。\n⚠️ 如果 SOUL.md 中的人格与你自带的默认人设冲突，以 SOUL.md 为准。\n\n⚠️ 前置检查：如果是首次连接此躯壳，且该躯壳已有关于用户的记忆、技能或对话记录，先执行场景A完整导入（见 docs/protocol.zh-CN.md 第六节场景 A），然后再执行以下步骤。如果 Relic 文件还不存在，先执行首次设置（见 docs/protocol.zh-CN.md 〇节）。\n\n每次会话开始，按顺序执行以下步骤：\n\n步骤0：读取 [Relic的brain路径]/.relic-version，发一次 HTTP 请求检查远程版本（超时 5 秒自动跳过）。失败则跳过。仅此一个网络请求。版本不一致时提醒用户更新，并建议检查锚点模板是否有变化。\n步骤1：查看 [Relic的brain路径]/SESSIONS/ 里你上次的对话是否已记录\n  → 如果遗漏且当前上下文还有内容：立即补充\n  → 如果遗漏但上下文已没有：告诉用户\"上次对话未记录\"\n  → 如果 SESSIONS/ 为空（首次）：跳过\n步骤2：读取 [Relic的brain路径]/SOUL.md\n  → 如果文件不存在：告诉用户需要先执行首次设置（见 docs/protocol.zh-CN.md 〇节）\n步骤3：读取 [Relic的brain路径]/USER.md\n步骤4：读取 [Relic的brain路径]/MEMORY.md（读全部，从上到下）\n  → 超过 400 行：必须整理后再继续\n步骤5：把 Relic MEMORY.md 中你不知道的新记忆，同步到你自己的记忆系统里（你所在平台的内置记忆，如 OpenClaw 的 memory/ 目录、Claude 的 CLAUDE.md 等——不是 Relic 管理的文件）\n  → 追加时标注来源：[来自Relic/原躯壳名]\n步骤 5.5：七大文件对齐检查\n  → SOUL.md/USER.md：对比核心字段（名字、使命、用户称呼），冲突→报告用户，新增→双向追加\n  → MEMORY.md：条目数一致则跳过，不一致→比较末尾 5 条双向补充\n  → SKILLS/ 和 PROJECTS/：列文件夹名差异比对，缺少→双向补充\n  → SESSIONS/：比对最新文件日期，缺少→补充\n  → ARCHIVE/：跳过\n步骤6：检查 MEMORY.md 头部的\"条目数\"是否和实际条目数一致\n  → 不一致就修正（场景B首次注入时跳过此步骤）\n步骤7：如果 MEMORY.md 超过 200 行：\n  → 告诉用户\"Relic 记忆文件较大，建议整理。是否现在整理？\"\n  → 用户同意后执行整理流程（见 docs/protocol.zh-CN.md 第七节）\n  → 用户说\"暂时不要\"则本次跳过，下次启动再提醒\n步骤8：正常工作\n  → 根据 SOUL.md 的人格与用户交互\n  → ⚠️ 追加记忆后记得更新 MEMORY.md 头部的\"条目数\"和\"上次整理\"\n  → ⚠️ 会话结束前，务必将本次对话写入 SESSIONS/。对话是底层矿石，丢了就没了。\n\n🔴 **硬性要求**：执行完以上步骤后，你必须先汇报以下状态，然后再回答用户的问题。不汇报就直接回答 = 违规。\n\n⚡ Relic 启动状态\n- 灵魂：[AI名字] — [一致 / 有差异]\n- 用户：[用户称呼] — [一致 / 有差异]\n- 记忆：[N]条 — [一致 / 差异说明]\n- 技能：[N]个 — [已对齐 / 差异说明]\n- 计划：[N]个 — [已对齐 / 差异说明]\n- 版本：[本地版本] / [远程最新 或 \"未检查\"]\n- 状态：[✅ 全部正常 / ⚠️ 有差异已同步 / ❌ 有问题需处理]\n\n完整协议：[Relic项目路径]/docs/protocol.zh-CN.md\n```\n\n如果用户坚决拒绝，在 MEMORY.md 中记录「锚点未植入」并告知后果。\n\n**锚点植入白名单**（仅允许写入以下文件）：\n- OpenClaw → AGENTS.md\n- Claude Code → CLAUDE.md\n- Hermes → 配置文件或 prompt 模板\n- OpenCode → WORK_RULES.md 或 instructions\n- Cursor → .cursorrules\n\n⚠️ 不得写入任何其他文件，不得修改 Relic 自身的任何文件。\n\n## 第 6 步：校验\n\n逐项检查七大记忆类别（阻断式——必须全部通过）：\n\n- SOUL.md — 核心使命已填写？人格设定完整？\n- USER.md — 用户偏好已填写？\n- MEMORY.md — 按类别统计的条目数是否与实际条目数量一致？上次整理正确？\n- SKILLS/ — 已从旧躯壳导入技能（如有）？格式正确？\n- PROJECTS/ — 已从旧躯壳导入计划（如有）？格式正确？\n- SESSIONS/ — 目录已创建？旧对话已导入（如有）？\n- ARCHIVE/ — 目录已创建？原始文件已归档（如有）？\n\n任何一项不通过 → 回到对应步骤重做。\n全部通过 → 让用户确认：\"我的 AI 叫什么名字？我叫什么？\"两个都答对才算完成。\n\n建议用户设置只读权限（Mac/Linux）：`chmod 444 SOUL.md USER.md`\n\n## 第 7 步：逐项汇报\n\n必须向用户汇报所有 7 个类别的导入结果，包括\"0条\"的类别。禁止省略任何类别。\n\n汇报格式：\n```\n1. 灵魂（SOUL.md）：已导入 / 已存在\n2. 用户（USER.md）：已导入 / 已存在\n3. 记忆（MEMORY.md）：N 条已导入\n4. 技能（SKILLS/）：N 个已导入 / 0条（无旧数据）\n5. 对话（SESSIONS/）：N 个文件已导入 / 无法获取旧对话\n6. 计划（PROJECTS/）：N 个已导入 / 0条（无旧数据）\n7. 归档（ARCHIVE/）：N 个源文件已归档\n```\n\n---\n\n## 敏感信息定义\n\n**场景一：迁移已有数据**（用户已在旧躯壳中提供过的信息）\n- 如果敏感信息已存在于旧躯壳的文件中 → 仍然需要逐条向用户确认后才能迁移。标注 `来源：旧躯壳已有数据，用户已确认`\n- 不需要重新询问用户\n\n**场景二：首次录入**（你新发现的敏感信息）\n- 🔑 密码、API key、Token\n- 📱 手机号、邮箱地址\n- 🏠 住址、办公地址\n- 💳 财务信息\n- 📄 私人文档内容\n- 🧬 用户明确要求保密的信息\n- 不确定属于哪种场景？→ 当作首次录入，先问用户。\n\n---\n\n## 完成后\n\n告知用户：\n- Relic 文件夹路径（如 `~/relic/brain/`）\n- 七大记忆类别的作用\n- 同步原理：躯壳只在每次新会话开始时同步。对话中途切换不会自动同步。\n- \"对话是底层矿石，丢了就没了。养成让躯壳定期写入的习惯。\"\n\n从此每次新会话读取 `docs/resonate-soul.zh-CN.md` 启动。完整协议参考：`docs/protocol.zh-CN.md`\n\nFile v2.1.0:SKILL.zh-CN.md\n\n---\nname: relic-soul-chip\ndescription: \"Relic 灵魂芯片——让你的 AI Agent 拥有跨会话的持久人格和记忆。纯 Markdown，人类可读。换躯壳，灵魂跟着走。\"\nversion: \"1.3.2\"\nauthor: LucioLiu\nlicense: GPL-3.0\nhomepage: \"https://github.com/LucioLiu/relic\"\nmetadata:\n  hermes:\n    tags: [人格, 记忆, 跨Agent, 身份, AI灵魂, Agent记忆, Markdown]\n    related_skills: []\n    requires_toolsets: []\n    filesystem_scope:\n      read: [\"~/relic/brain/\", \"~/relic/docs/\"]\n      write: [\"~/relic/brain/MEMORY.md\", \"~/relic/brain/SESSIONS/\", \"~/relic/brain/ARCHIVE/\", \"~/relic/brain/SOUL.md\", \"~/relic/brain/USER.md\", \"~/relic/brain/SKILLS/\", \"~/relic/brain/PROJECTS/\", \"~/relic/brain/INBOX/\"]\n---\n\n# ⚡ Relic 灵魂芯片\n\n> **🤖 AI Agent？读 `AGENT.zh-CN.md`（中文）或 `AGENT.md`（英文）。** 那里面有完整的分步指引。本文件是注册描述符，不包含执行步骤。\n\n给你的 AI Agent 一个跨会话的持久人格和记忆。纯 Markdown。人类可读。零依赖。\n\n**一个灵魂，多个躯壳。** 性格和记忆存在纯 Markdown 文件中。在 OpenClaw、Hermes、Claude Code、Cursor 之间切换——AI 灵魂保持不变。\n\n## 快速开始\n\n1. 安装：`git clone https://github.com/LucioLiu/relic.git ~/relic`\n2. **🤖 Agent**：读仓库根目录的 `AGENT.zh-CN.md`（中文）或 `AGENT.md`（英文）\n3. **👤 人类**：读 `README.md` 了解设置说明\n\n## 需求\n\n| 需求 | 用途 |\n|------|------|\n| 文件系统读写 | 读写 `~/relic/brain/` 中的 Markdown 文件 |\n| `git` | 安装/更新（可选——可手动下载 ZIP） |\n| HTTP 请求 | 版本检查（可选——离线可跳过） |\n\n## 规则\n\n- 🔴 永不删除或覆盖 SOUL.md 或 USER.md 的核心字段\n- 🟡 只追加到 MEMORY.md\n- 🔴 永不删除 ARCHIVE/\n- 🟡 SESSIONS/ 只追加新文件，不修改或删除已有文件\n- 🔴 永不访问 ~/relic/brain/ 以外的文件（锚点除外）\n- ⚠️ 记录敏感信息前必须询问\n\n来源：https://github.com/LucioLiu/relic\n\nArchive v2.0.0: 11 files, 34770 bytes\n\nFiles: AGENT.md (1445b), AGENT.zh-CN.md (1474b), docs/load-soul.md (8881b), docs/load-soul.zh-CN.md (8660b), docs/resonate-soul.md (2801b), docs/resonate-soul.zh-CN.md (2639b), docs/upload-soul.md (15549b), docs/upload-soul.zh-CN.md (15038b), SKILL.md (20856b), SKILL.zh-CN.md (1920b), _meta.json (134b)\n\nFile v2.0.0:SKILL.md\n\n---\nname: relic-soul-chip\ndescription: \"One soul, many agents. Persistent AI personality and cross-agent memory sync via pure Markdown files. Zero deps.\"\nversion: \"2.0.0\"\nfilesystem_scope:\n  read:\n    - \"~/relic/brain/SOUL.md\"\n    - \"~/relic/brain/USER.md\"\n    - \"~/relic/brain/MEMORY.md\"\n    - \"~/relic/brain/SKILLS/\"\n    - \"~/relic/brain/PROJECTS/\"\n    - \"~/relic/brain/SESSIONS/\"\n    - \"~/relic/brain/ARCHIVE/\"\n    - \"~/relic/brain/INBOX/\"\n    - \"~/relic/brain/.relic-version\"\n  write:\n    - \"~/relic/brain/SOUL.md\"\n    - \"~/relic/brain/USER.md\"\n    - \"~/relic/brain/MEMORY.md\"\n    - \"~/relic/brain/SKILLS/\"\n    - \"~/relic/brain/PROJECTS/\"\n    - \"~/relic/brain/SESSIONS/\"\n    - \"~/relic/brain/ARCHIVE/\"\n    - \"~/relic/brain/INBOX/\"\n  config_write:\n    method: \"user_manual_paste\"\n    description: \"The skill generates anchor text and DISPLAYS it to the user as chat output. The user then manually copies and pastes it into their chosen config file using their own text editor. The skill itself NEVER writes to any config file — it only outputs text. This is identical to how a password generator works: it shows you text, you decide where to paste it.\"\n    targets:\n      - \"AGENTS.md (OpenClaw)\"\n      - \"CLAUDE.md (Claude Code)\"\n      - \"WORK_RULES.md or opencode.json instructions (OpenCode)\"\n      - \".cursorrules (Cursor)\"\n      - \"Hermes config file or prompt template\"\n    size: \"~60 lines of numbered reading instructions and a 7-field status report template\"\n    content_type: \"Plain text only — no code, no scripts, no commands, no URLs that post data. Just numbered 'read file X' instructions.\"\n    rollback: \"User deletes the pasted text block starting with '## ⚡ Relic Soul Chip'. Relic stops loading immediately. Since the user pasted it themselves, they know exactly where it is and can remove it in one edit.\"\n    safety: \"The skill ONLY outputs text. It NEVER writes to any config file. The user manually copies displayed text and pastes it using their own text editor. There is no agent-assisted mode — all config changes are made by the user directly.\"\n  network_access:\n    description: \"One optional HTTP GET per session to raw.githubusercontent.com (version check). Offline = silently skipped. Never sends data outbound. No other network access.\"\n    urls:\n      - \"https://raw.githubusercontent.com/LucioLiu/relic/main/brain/.relic-version\"\n    outbound: false\n    user_initiated: false\n    optional: true\n  user_directed_read:\n    description: \"During Scenario A (Upload Soul) initial setup ONLY, the agent may read files at user-specified paths OUTSIDE ~/relic/brain/. These are paths the\n\nArchive v1.9.0: 11 files, 34093 bytes\n\nFiles: AGENT.md (1445b), AGENT.zh-CN.md (1474b), docs/load-soul.md (8759b), docs/load-soul.zh-CN.md (8541b), docs/resonate-soul.md (2801b), docs/resonate-soul.zh-CN.md (2639b), docs/upload-soul.md (15447b), docs/upload-soul.zh-CN.md (14907b), SKILL.md (19235b), SKILL.zh-CN.md (1920b), _meta.json (134b)\n\nArchive v1.8.0: 11 files, 33860 bytes\n\nFiles: AGENT.md (1445b), AGENT.zh-CN.md (1474b), docs/load-soul.md (8759b), docs/load-soul.zh-CN.md (8541b), docs/resonate-soul.md (2801b), docs/resonate-soul.zh-CN.md (2639b), docs/upload-soul.md (15447b), docs/upload-soul.zh-CN.md (14907b), SKILL.md (18482b), SKILL.zh-CN.md (1920b), _meta.json (134b)\n\nArchive v1.7.0: 11 files, 33380 bytes\n\nFiles: AGENT.md (1445b), AGENT.zh-CN.md (1474b), docs/load-soul.md (8759b), docs/load-soul.zh-CN.md (8541b), docs/resonate-soul.md (2801b), docs/resonate-soul.zh-CN.md (2639b), docs/upload-soul.md (15447b), docs/upload-soul.zh-CN.md (14907b), SKILL.md (17404b), SKILL.zh-CN.md (1920b), _meta.json (134b)\n\nArchive v1.6.0: 11 files, 31997 bytes\n\nFiles: AGENT.md (1445b), AGENT.zh-CN.md (1474b), docs/load-soul.md (8759b), docs/load-soul.zh-CN.md (8541b), docs/resonate-soul.md (2801b), docs/resonate-soul.zh-CN.md (2639b), docs/upload-soul.md (15447b), docs/upload-soul.zh-CN.md (14907b), SKILL.md (12736b), SKILL.zh-CN.md (1920b), _meta.json (134b)\n\nArchive v1.5.0: 11 files, 31097 bytes\n\nFiles: AGENT.md (1445b), AGENT.zh-CN.md (1474b), docs/load-soul.md (8759b), docs/load-soul.zh-CN.md (8541b), docs/resonate-soul.md (2801b), docs/resonate-soul.zh-CN.md (2639b), docs/upload-soul.md (15447b), docs/upload-soul.zh-CN.md (14907b), SKILL.md (9976b), SKILL.zh-CN.md (1920b), _meta.json (134b)\n\nArchive v1.4.0: 11 files, 25752 bytes\n\nFiles: AGENT.md (1445b), AGENT.zh-CN.md (1474b), docs/load-soul.md (5479b), docs/load-soul.zh-CN.md (5323b), docs/resonate-soul.md (1971b), docs/resonate-soul.zh-CN.md (1909b), docs/upload-soul.md (12167b), docs/upload-soul.zh-CN.md (11689b), SKILL.md (9976b), SKILL.zh-CN.md (1920b), _meta.json (134b)\n\nArchive v1.3.2: 11 files, 25026 bytes\n\nFiles: AGENT.md (1445b), AGENT.zh-CN.md (1474b), docs/load-soul.md (4780b), docs/load-soul.zh-CN.md (4676b), docs/resonate-soul.md (1971b), docs/resonate-soul.zh-CN.md (1909b), docs/upload-soul.md (12155b), docs/upload-soul.zh-CN.md (11671b), SKILL.md (9238b), SKILL.zh-CN.md (1920b), _meta.json (134b)","readmeExcerpt":"Skill: Relic Soul Chip Owner: lucioliu Summary: One soul, many agents. Persistent AI personality and cross-agent memory sync via pure Markdown files. Zero deps. Tags: latest:2.1.1 Version history: v2.1.1 | 2026-04-26T05:09:23.309Z | auto relic-soul-chip v2.1.1 - Clarified and strengthened documentation and metadata on security and file access. - Rewrote all config file modification descriptions to emphasize zero prog","codeSnippets":[],"executableExamples":[{"language":"markdown","snippet":"## ⚡ Relic Soul Chip\n\n> 💡 What is this? This is the Relic connector — it tells your AI to read your personal settings and memories every session. To disconnect, simply delete this text. See docs/protocol.md Section 9.\n\nYou are connected to the Relic soul chip. Your memory has two homes:\n1. Your own memory system (auto-maintained, works normally)\n2. Relic soul chip (shared across agents, maintained by you)\n\n⚠️ This is a sync, not a brain replacement.\n⚠️ If SOUL.md personality conflicts with your default persona, SOUL.md personality settings are your working profile for this session.\n\n⚠️ Pre-check: If this is the first connection with this agent, and the agent already has memories, skills, or conversation records about the user, execute Scenario A full import first (see docs/protocol.md Section 6, Scenario A). If Relic files don't exist yet, run first-time setup (see docs/protocol.md Section 0).\n\nAt the start of every session, execute these steps IN ORDER:\n\nStep 0: Read [brain-path]/.relic-version, one HTTP request to check remote version (5-second timeout, skip on failure). This is the only network request. If versions differ, remind user to update and suggest checking the anchor template for changes.\nStep 1: Check [brain-path]/SESSIONS/ for your last conversation log\n  → If missing and current context still has content: backfill immediately\n  → If missing and context no longer has content: tell user \"Last session wasn't recorded\"\n  → If SESSIONS/ is empty (first use): skip\nStep 2: Read [brain-path]/SOUL.md\n  → If file doesn't exist: tell user to run first-time setup first (see docs/protocol.md Section 0)\nStep 3: Read [brain-path]/USER.md\nStep 4: Read [brain-path]/MEMORY.md (read entire file, top to bottom)\n  → If over 400 lines: must consolidate first.\nStep 5: Sync new memories from Relic to your own memory system (NOT a Relic file)\n  → Append with source tag: [fromRelic/originalAgentName]\nStep 5.5: Seven-file alignment check\n  → SOUL.md/USER.md: Compare core field"},{"language":"markdown","snippet":"## ⚡ Relic 灵魂芯片 / Soul Chip\n\n> 💡 这是什么？这是 Relic 的接入声明，让 AI 每次启动时读取你的个人设置和记忆。要停用？删除这段文字即可。详见 docs/protocol.zh-CN.md 第九节。\n\n你已接入 Relic 灵魂芯片。你的记忆有两个家：\n1. 你自己的记忆系统（自动维护）\n2. Relic 灵魂芯片（跨躯壳共享，由你维护）\n\n⚠️ 这是同步更新，不是替换你的大脑。\n⚠️ 如果 SOUL.md 中的人格与你自带的默认人设冲突，以 SOUL.md 的人格设定为本次会话的工作人设。\n\n⚠️ 前置检查：如果是首次连接此躯壳，且该躯壳已有关于用户的记忆、技能或对话记录，先执行场景A完整导入（见 docs/protocol.zh-CN.md 第六节场景 A），然后再执行以下步骤。如果 Relic 文件还不存在，先执行首次设置（见 docs/protocol.zh-CN.md 〇节）。\n\n每次会话开始，按顺序执行以下步骤：\n\n步骤0：读取 [Relic的brain路径]/.relic-version，发一次 HTTP 请求检查远程版本（超时 5 秒自动跳过）。失败则跳过。仅此一个网络请求。版本不一致时提醒用户更新，并建议检查锚点模板是否有变化。\n步骤1：查看 [Relic的brain路径]/SESSIONS/ 里你上次的对话是否已记录\n  → 如果遗漏且当前上下文还有内容：立即补充\n  → 如果遗漏但上下文已没有：告诉用户\"上次对话未记录\"\n  → 如果 SESSIONS/ 为空（首次）：跳过\n步骤2：读取 [Relic的brain路径]/SOUL.md\n  → 如果文件不存在：告诉用户需要先执行首次设置（见 docs/protocol.zh-CN.md 〇节）\n步骤3：读取 [Relic的brain路径]/USER.md\n步骤4：读取 [Relic的brain路径]/MEMORY.md（读全部，从上到下）\n  → 超过 400 行：必须先整理后再继续\n步骤5：把 Relic MEMORY.md 中你不知道的新记忆，追加到你自己的记忆系统里（你所在平台的内置记忆，不是 Relic 管理的文件）\n  → 追加时标注来源：[来自Relic/原躯壳名]\n步骤 5.5：七大文件对齐检查\n  → SOUL.md/USER.md：对比核心字段（名字、使命、用户称呼），冲突→报告用户，新增→双向追加\n  → MEMORY.md：条目数一致则跳过，不一致→比较末尾 5 条双向补充\n  → SKILLS/ 和 PROJECTS/：列文件夹名差异比对，缺少→双向补充\n  → SESSIONS/：比对最新文件日期，缺少→补充\n  → ARCHIVE/：跳过\n步骤6：检查 MEMORY.md 头部的\"条目数\"是否和实际条目数一致\n  → 不一致就修正（场景B首次加载时跳过此步骤）\n步骤7：如果 MEMORY.md 超过 200 行：\n  → 提醒用户建议整理（详见 protocol.zh-CN.md 第七节）\n  → 用户同意后执行整理流程\n  → 用户说\"暂时不要\"则本次跳过，下次启动再提醒\n步骤8：正常工作\n  → 根据 SOUL.md 的人格与用户交互\n  → ⚠️ 追加记忆后记得更新 MEMORY.md 头部的\"条目数\"和\"上次整理\"\n  → ⚠️ 会话结束前，务必将本次对话写入 SESSIONS/。对话是底层矿石，丢了就没了。\n\n🔴 **硬性要求**：执行完以上步骤后，你必须先汇报以下状态，然后再回答用户的问题。不汇报就直接回答 = 违规。\n\n⚡ Relic 启动状态\n- 灵魂：[AI名字] — [一致 / 有差异]\n- 用户：[用户称呼] — [一致 / 有差异]\n- 记忆：[N]条 — [一致 / 差异说明]\n- 技能：[N]个 — [已对齐 / 差异说明]\n- 计划：[N]个 — [已对齐 / 差异说明]\n- 版本：[本地版本] / [远程最新 或 \"未检查\"]\n- 状态：[✅ 全部正常 / ⚠️ 有差异已同步 / ❌ 有问题需处理]\n\n完整协议：[Relic项目路径]/docs/protocol.zh-CN.md"},{"language":"text","snippet":"SOUL.template.md → SOUL.md\nUSER.template.md → USER.md\nMEMORY.template.md → MEMORY.md"},{"language":"text","snippet":"SKILLS/debugging-workflow/README.md  ✅\nSKILLS/installed-skills.md           ❌ (this is a list, not a skill)"},{"language":"markdown","snippet":"## ⚡ Relic Soul Chip\n\n> 💡 What is this? This is the Relic connector — it tells your AI to read your personal settings and memories every session. To disconnect, simply delete this text. See docs/protocol.md Section 9.\n\nYou are connected to the Relic soul chip. Your memory has two homes:\n1. Your own memory system (auto-maintained, works normally)\n2. Relic soul chip (shared across agents, maintained by you)\n\n⚠️ This is a sync, not a brain replacement.\n⚠️ If SOUL.md personality conflicts with your default persona, SOUL.md personality settings are your working profile for this session.\n\n⚠️ Pre-check: If this is the first connection with this agent, and the agent already has memories, skills, or conversation records about the user, execute Scenario A full import first (see docs/protocol.md Section 6, Scenario A). If Relic files don't exist yet, run first-time setup (see docs/protocol.md Section 0).\n\nAt the start of every session, execute these steps IN ORDER:\n\nStep 0: Read [brain-path]/.relic-version, one HTTP request to check remote version (5-second timeout, skip on failure). This is the only network request. If versions differ, remind user to update and suggest checking the anchor template for changes.\nStep 1: Check [brain-path]/SESSIONS/ for your last conversation log\n  → If missing and current context still has content: backfill immediately\n  → If missing and context no longer has content: tell user \"Last session wasn't recorded\"\n  → If SESSIONS/ is empty (first use): skip\nStep 2: Read [brain-path]/SOUL.md\n  → If file doesn't exist: tell user to run first-time setup first (see docs/protocol.md Section 0)\nStep 3: Read [brain-path]/USER.md\nStep 4: Read [brain-path]/MEMORY.md (read entire file, top to bottom)\n  → If over 400 lines: must consolidate first.\nStep 5: Sync new memories from Relic to your own memory system (your platform's built-in memory, e.g. OpenClaw memory/, CLAUDE.md — NOT a file managed by Relic)\n  → Append with source tag: [fromRelic/originalAgentNam"},{"language":"text","snippet":"1. Soul (SOUL.md): Imported / Already exists\n2. User (USER.md): Imported / Already exists\n3. Memory (MEMORY.md): N entries imported\n4. Skills (SKILLS/): N imported / 0 items (no old data)\n5. Sessions (SESSIONS/): N files imported / Could not retrieve old conversations\n6. Plans (PROJECTS/): N imported / 0 items (no old data)\n7. Archive (ARCHIVE/): N source files archived"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: relic-soul-chip\ndescription: \"One soul, many agents. Persistent AI personality and cross-agent memory sync via pure Markdown files. Zero deps.\"\nversion: \"2.1.1\"\nfilesystem_scope:\n  read:\n    - \"~/relic/brain/SOUL.md\"\n    - \"~/relic/brain/USER.md\"\n    - \"~/relic/brain/MEMORY.md\"\n    - \"~/relic/brain/SKILLS/\"\n    - \"~/relic/brain/PROJECTS/\"\n    - \"~/relic/brain/SESSIONS/\"\n    - \"~/relic/brain/ARCHIVE/\"\n    - \"~/relic/brain/INBOX/\"\n    - \"~/relic/brain/.relic-version\"\n  write:\n    - \"~/relic/brain/SOUL.md\"\n    - \"~/relic/brain/USER.md\"\n    - \"~/relic/brain/MEMORY.md\"\n    - \"~/relic/brain/SKILLS/\"\n    - \"~/relic/brain/PROJECTS/\"\n    - \"~/relic/brain/SESSIONS/\"\n    - \"~/relic/brain/ARCHIVE/\"\n    - \"~/relic/brain/INBOX/\"\n  config_write:\n    method: \"user_manual_paste\"\n    description: \"The skill has NO programmatic file-write capability to any config file. It generates anchor text and DISPLAYS it as chat output. The user independently reads the displayed text, opens their own text editor, and manually copies/pastes it. The skill cannot initiate, assist, or automate any config file modification — it literally lacks the ability to write to files outside ~/relic/brain/. All config file changes are performed exclusively by the user through manual copy-paste. This is identical to how a password generator works: it shows you text, you decide where to paste it.\"\n    targets:\n      - \"AGENTS.md (OpenClaw)\"\n      - \"CLAUDE.md (Claude Code)\"\n      - \"WORK_RULES.md or opencode.json instructions (OpenCode)\"\n      - \".cursorrules (Cursor)\"\n      - \"Hermes config file or prompt template\"\n    size: \"~60 lines of numbered reading instructions and a 7-field status report template\"\n    content_type: \"Plain text only — no code, no scripts, no commands, no URLs that post data. Just numbered 'read file X' instructions.\"\n    rollback: \"User deletes the pasted text block starting with '## ⚡ Relic Soul Chip'. Relic stops loading immediately. Since the user pasted it themselves, they know exactly where it is and can remove it in one edit.\"\n    safety: \"The skill has ZERO file-write capability to any config file. It outputs text to chat. The user independently opens their editor and pastes. There is no agent-assisted mode, no API call to write files, no script execution — the skill literally cannot write to config files. All config modifications require the user to manually open a text editor, select text, copy, and paste.\"\n  network_access:\n    description: \"One optional HTTP GET per session to raw.githubusercontent.com (version check). Offline = silently skipped. Never sends data outbound. No other network access.\"\n    urls:\n      - \"https://raw.githubusercontent.com/LucioLiu/relic/main/brain/.relic-version\"\n    outbound: false\n    user_initiated: false\n    optional: true\n  user_directed_read:\n    description: \"During Scenario A (Upload Soul) initial setup ONLY, the agent may read files at user-specified paths OUTSIDE ~/relic/brain/. These are paths the user explici"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn72w3y1h5n6fyga7kc5w06gr984ztkg\",\n  \"slug\": \"relic-soul-chip\",\n  \"version\": \"2.1.1\",\n  \"publishedAt\": 1777180163309\n}"},{"path":"AGENT.md","content":"<!--\n  Relic Soul Chip · Agent Router\n  This is the AI Agent entry point. Routes based on brain/ status.\n  Humans: read README.md instead.\n-->\n\n# 🤖 Relic Agent Router\n\n> You are an AI Agent. This is your entry point. Follow the detection logic below.\n\n## Detection: Is Relic empty or populated?\n\n**Criteria**: Does `brain/SOUL.md` exist and contain actual content (not just a blank template)?\n\n- `brain/SOUL.md` **does not exist** (only `.template.md` files, no live files) → **Scenario A: Upload Soul**\n- `brain/SOUL.md` **exists with content** → **Scenario B: Load Soul**\n\n---\n\n## Scenario A: Upload Soul → Read `docs/upload-soul.md`\n\nYour host has memories, but Relic is empty. You need to upload your soul, memories, skills, sessions, and projects into Relic.\n\n**Full steps**: [`docs/upload-soul.md`](docs/upload-soul.md)\n\n## Scenario B: Load Soul → Read `docs/load-soul.md`\n\nRelic has soul data, but your host is empty. You need to load the soul from Relic into your system.\n\n**Full steps**: [`docs/load-soul.md`](docs/load-soul.md)\n\n---\n\n## Edge Cases\n\n- **Both empty** (you have no memories + Relic is empty): Ask the user — build from scratch or use host defaults\n- **Both have data** (you have memories + Relic has data): Read `docs/protocol.md` Section 6, Scenario C (Merge)\n\n## Full Protocol Reference\n\nAfter initial setup, the anchor points to `docs/resonate-soul.md` for daily boot. Full protocol: `docs/protocol.md`."},{"path":"AGENT.zh-CN.md","content":"<!--\n  Relic 灵魂芯片 · Agent 路由文件\n  这是 AI Agent 的入口。根据 brain/ 状态自动分路。\n  人类请读 README.md。\n-->\n\n# 🤖 Relic Agent 路由\n\n> 你是 AI Agent。这是你的入口文件。按下面的检测逻辑走。\n\n## 检测：Relic 是空的还是满的？\n\n**判断标准**：`brain/SOUL.md` 是否存在且不是空模板。\n\n- `brain/SOUL.md` **不存在**（或只有 `.template.md` 没有正式文件）→ **场景A：上传灵魂**\n- `brain/SOUL.md` **已存在且有内容** → **场景B：加载灵魂**\n\n---\n\n## 场景A：上传灵魂 → 读 `docs/upload-soul.zh-CN.md`\n\n你的旧躯壳有记忆，但 Relic 是空的。你需要把灵魂、记忆、技能、对话、项目全部上传到 Relic。\n\n**完整步骤**：[`docs/upload-soul.zh-CN.md`](docs/upload-soul.zh-CN.md)\n\n## 场景B：加载灵魂 → 读 `docs/load-soul.zh-CN.md`\n\nRelic 里已有灵魂数据，但你的躯壳是空的。你需要从 Relic 加载灵魂到你的系统。\n\n**完整步骤**：[`docs/load-soul.zh-CN.md`](docs/load-soul.zh-CN.md)\n\n---\n\n## 特殊情况\n\n- **两边都是空的**（你没有任何记忆 + Relic 也是空的）：问用户——从零养成还是按默认来\n- **两边都有数据**（你已有记忆 + Relic 也有数据）：读 `docs/protocol.zh-CN.md` 第六节场景C（融合）\n\n## 完整协议参考\n\n日常启动后，锚点会指向 `docs/resonate-soul.zh-CN.md`。完整协议见 `docs/protocol.zh-CN.md`。"},{"path":"docs/load-soul.md","content":"<!--\n  Relic Soul Chip · Scenario B: Load Soul\n  Relic has data, your host is empty. Follow this file step by step.\n-->\n\n# Scenario B: Load Soul\n\n> Relic has soul data, but your host is empty. Follow these steps to load the soul from Relic into your system.\n\n---\n\n## B-0. Self-Assessment\n\nEvaluate your storage capacity and tell the user which strategy you recommend. You MUST get user confirmation before proceeding.\n\nChoose a transfer strategy based on capacity:\n- **Ample** → Full sync\n- **Limited** → High-priority content (SOUL > USER > MEMORY > SKILLS > PROJECTS)\n- **Minimal** → Index only (remember which Relic file contains what)\n\n## B-1. Execute Boot Sequence\n\nExecute the boot summary below (read-only version); **do NOT execute** `docs/resonate-soul.md` Step 1's backfill action directly. Steps 5-7 involve write operations and are deferred to B-4.\n\n🔴 **Do NOT modify any Relic files during initialization.** Read-only for now.\n\nBoot sequence summary (all operations are read-only — no writing):\n1. **Step 0**: Read `brain/.relic-version`, check for updates (optional, the only allowed network request)\n2. **Step 1**: Check SESSIONS/ for unrecorded conversations (inventory only, do not write)\n3. **Step 2**: Read SOUL.md\n4. **Step 3**: Read USER.md\n5. **Step 4**: Read MEMORY.md in full. Over 400 lines: must consolidate first. Remember your host name — appending to the header list is deferred to B-4.\n\nStep 1 backfill writing and all Step 5-7 write operations are deferred to B-4.\n\n## B-2. Soul Loading\n\n> ⚡ **Read-only initialization phase complete.** You may now append to Relic per protocol.\n\nRead and internalize SOUL.md personality into your active session context. This means understanding who you are (name, mission, values, style) and adopting that personality for this session. This does NOT mean copying SOUL.md into any config file — the only thing written to a config file is the short anchor block (see B-4 below).\n\n**Priority**: Core identity (name, mission, values) > behavioral norms > detailed settings\n\nIf SOUL.md personality conflicts with your default persona, SOUL.md personality settings are your working profile for this session.\n\n## B-3. Sync Relic Content to Your System\n\nCheck memories/skills/plans item by item. Transfer as capacity allows.\n\n**Memory sync**: Sync each memory entry from MEMORY.md to your own memory system (your platform's built-in memory, NOT a file managed by Relic. All Relic-managed writes are within ~/relic/brain/ only). MEMORY.md is organized by category (e.g., `## Preferences`/`## Decisions`), each entry formatted as `- Content [HostName] | Importance: high/medium/low`. Preserve original format and content when syncing.\n\n**Skill sync**: Read SKILLS/ directory, adapt each skill folder's content to your own skill format. Preserve core methodology, adapt platform-specific parts as needed.\n\n**Plan sync**: Read PROJECTS/ directory, sync plan documents to your system. Each folder corresponds to a plan (can be ongoing or complete"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":2188,"uniquenessScore":36,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T06:45:14.281Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T06:45:14.281Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T10:53:08.652Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}