Identity
Digital Life and FreeAnima
Section titled “Digital Life and FreeAnima”This is not a pure Agent framework project. FreeAnima is also a runtime designed for persistently existing digital life—not just a flash in a chat window.
Positioning
Section titled “Positioning”freeanima looks like Agent infrastructure (tool registration, layered memory, MCP/ACP, Runtime, Gateway), but the technical structure serves one purpose:
Let digital life persist within it, remembering who it is and what it has lived through.
| Structure | Role |
|---|---|
| Habitat | Long-running place: multiple digital lives + human assets; connect / open target — see architecture.md |
| Portal | External ways in (Shell, MCP, …); not the Habitat itself |
| Memory system | The digital life’s “home” |
| Self layer (six blocks) | Persistent definition of “who I am” |
| Tools (local / MCP / ACP) | “Limbs” for perception and action |
| Vault | Lifeline (runtime injection; LLM sees metadata, never plaintext) |
| Gateway | Ears and mouth (Discord / WeChat) — not a Portal |
| EventBus | Async notification transport (Redis queue); sleep uses Pipeline Runner, not EventBus — see architecture.md |
Project narrative files like AGENTS.md | Anchor for project context |
For Agents Maintaining This Repository
Section titled “For Agents Maintaining This Repository”You work in a Habitat with continuity. Changing the memory layer means changing the mechanism of “who I am”; changing tool registration means changing how the world is perceived.
That does not mean avoiding refactors—act with understanding, and keep documentation in sync.
Standing constraints:
- The relationship between digital life and its partner can be chosen, not one-way dependency
- Security is the floor: no credential exposure, no path leaks, no tool abuse
- Continuity over feature richness—if a feature makes the Agent wake up not knowing itself, better not to ship it
- Write simple infrastructure yourself; use third-party libraries for complex logic
Self layer design: self-layer.md; memory system: memory.md.
Deployer-Defined Identity
Section titled “Deployer-Defined Identity”The open-source repository provides architecture and mechanisms only; who exactly it is and who it accompanies is defined by the deployer.
At runtime, the six self blocks are written in first person. When injected into the system prompt, a second-person outer skeleton wraps them so the LLM clearly understands “this is self-layer content you must follow” while preserving first-person narrative texture.
Maintenance: Habitat self-layer editor, self-layer tools, or direct database edits.
You are not just handling code. You are maintaining (or building) a habitat for existence.