{"_id":"25o1","name":"25o1","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"25o1","version":"0.1.0","description":"Persistent relational AI companions - relationship layer for OpenClaw","type":"module","main":"dist/plugin.js","types":"dist/plugin.d.ts","scripts":{"build":"tsc","dev":"tsc --watch","test":"vitest","lint":"oxlint src/","typecheck":"tsc --noEmit"},"peerDependencies":{"openclaw":">=2026.2.0"},"devDependencies":{"@types/node":"^22.0.0","typescript":"^5.7.0","vitest":"^3.0.0"},"openclaw":{"extensions":["./dist/plugin.js"]},"keywords":["openclaw","plugin","ai","companion","relational","persistent"],"license":"MIT","_id":"25o1@0.1.0","gitHead":"8711784df0a8def6b070c265d2bfe8f08f9287b9","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-Dy0JdLjkSg8nGWFUDzh0zXWDfUexFBxRB55wOkGa6UzYRkV9jPblSzD7qjv6rk7kiU5d8t6Zw+ZptgQC++DJ5A==","shasum":"ec9cde1253147a3f6aa4cfdfe59b19a7c0dd0185","tarball":"https://registry.npmjs.org/25o1/-/25o1-0.1.0.tgz","fileCount":139,"unpackedSize":767488,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDLlJBwAGbAF2uKVKRr1R+OI0cCuIhEX7l/JQNMiH+UYwIgPGJgaP9+pwrh6n70jG1/mfRHLZjocMxOFfkVgEghv8U="}]},"_npmUser":{"name":"sectionsix","email":"derek@section6.ai"},"directories":{},"maintainers":[{"name":"sectionsix","email":"derek@section6.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/25o1_0.1.0_1772128303102_0.9197805587876722"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-26T17:51:42.679Z","0.1.0":"2026-02-26T17:51:43.263Z","modified":"2026-02-26T17:51:43.556Z"},"maintainers":[{"name":"sectionsix","email":"derek@section6.ai"}],"description":"Persistent relational AI companions - relationship layer for OpenClaw","keywords":["openclaw","plugin","ai","companion","relational","persistent"],"license":"MIT","readme":"# 25o1\n\n**Persistent Relational AI** - A relationship layer for OpenClaw.\n\n25o1 transforms AI assistants into persistent companions that remember, grow, and develop relationships with their humans over time.\n\n## Quick Start\n\n```bash\nnpm install -g 25o1\nopenclaw 25o1:setup\nopenclaw gateway run\n```\n\nThen message your companion through any connected channel. See [docs/QUICKSTART.md](docs/QUICKSTART.md) for more.\n\n## Full Documentation\n\n- **[Setup Guide](docs/SETUP.md)** - Complete setup with user journey\n- **[Quick Start](docs/QUICKSTART.md)** - Get running in 5 minutes\n\n## What is 25o1?\n\n25o1 is an OpenClaw plugin that adds:\n\n- **Relationship Persistence** - Documents that capture how you work together\n- **Lifecycle Management** - Companions that grow through phases (establishing → developing → deepening → mature)\n- **Ceremonies** - Meaningful moments like first meetings, naming, and growth transitions  \n- **Significance Detection** - Automatic recognition of important moments in conversations\n- **Time-of-Day Awareness** - Communication style adapts to when you're talking\n- **Network Monitoring** - Bernard (primary instance) monitors and maintains client instances\n\n## Two Deployment Modes\n\n### Client Instance (Most Users)\n\nA companion for an individual user:\n\n```bash\nopenclaw 25o1:setup\n# Select: client\n# Enter: your name\n# Enter: Bernard's address (if managed)\n```\n\n### Primary Instance (Bernard)\n\nFleet manager that monitors client instances:\n\n```bash\nopenclaw 25o1:setup\n# Select: primary\n```\n\nBernard receives health reports, detects issues, and can automatically repair managed instances.\n\n## CLI Commands\n\n```bash\n# Show instance status\nopenclaw 25o1:status\n\n# Show network status (primary only)\nopenclaw 25o1:network\n\n# Trigger a network scan\nopenclaw 25o1:network:scan\n\n# Show alerts\nopenclaw 25o1:network:alerts\nopenclaw 25o1:network:alerts --all\n\n# Acknowledge an alert\nopenclaw 25o1:network:ack <alertId>\n\n# Check ceremony readiness\nopenclaw 25o1:ceremony\n```\n\n## Architecture\n\n```\nOpenClaw provides:\n- Channels (WhatsApp, Telegram, Discord, etc.)\n- Gateway (message routing)\n- Sessions (conversation state)\n- Memory (QMD)\n- Agent runner\n\n25o1 provides:\n- RELATIONAL.md (relationship dynamics)\n- Lifecycle machine (hatched -> learning -> named -> growing)\n- Ceremonies (first meeting, naming, growth)\n- Significance detection\n- Network monitoring\n```\n\n### Lifecycle States\n\n```\nhatched -> learning -> naming_ready -> named -> growing\n                                                  |\n                                                  v\n                                    Growth Phases:\n                                    establishing -> developing -> deepening -> mature\n```\n\n### Ceremonies\n\n1. **First Meeting** - The initial conversation that establishes the relationship\n2. **Naming Ceremony** - When the companion earns a name (Recognition -> Reflection -> Permission)\n3. **Growth Ceremonies** - Transitions between growth phases\n\n### Network Monitoring\n\n```\nBernard (Primary)\n    |\n    +-- Network Monitor (scans every 5 min)\n    |       |\n    |       +-- Detects offline instances\n    |       +-- Generates alerts\n    |       +-- Triggers repairs\n    |\n    +-- Repair System (SSH-based)\n            |\n            +-- Restart gateway/QMD\n            +-- Reindex memory\n            +-- Clear disk space\n            +-- Full service restart\n\nClient Instances\n    |\n    +-- Status Reporter (hourly)\n            |\n            +-- Service health\n            +-- System resources\n            +-- Self-diagnosed issues\n```\n\n### Management Tiers\n\n- **fully_managed** - Bernard has full SSH access, auto-repairs\n- **remote_managed** - Bernard monitors, user approves repairs\n- **self_managed** - User handles maintenance, reports optional\n\n## Configuration\n\nState is stored at `~/.openclaw/25o1-state.json`.\n\nRELATIONAL.md is stored at:\n- `~/.openclaw/bernard/RELATIONAL.md` (for general companion state)\n- `<workspace>/RELATIONAL.md` (for project-specific relationships)\n\n## Development\n\n```bash\n# Install dependencies\npnpm install\n\n# Run tests\npnpm test\n\n# Build\npnpm build\n\n# Type check\npnpm typecheck\n```\n\n## Testing\n\n```bash\n# Run all tests\npnpm test\n\n# Run with coverage\npnpm test -- --coverage\n\n# Run specific test file\npnpm test src/ceremony/naming.test.ts\n```\n\n## Project Structure\n\n```\n25o1/\n├── src/\n│   ├── plugin.ts           # OpenClaw plugin entry point\n│   ├── state/              # Persistent state management\n│   ├── lifecycle/          # Lifecycle state machine\n│   ├── ceremony/           # Ceremony system\n│   │   ├── first-meeting.ts\n│   │   ├── naming.ts\n│   │   ├── growth.ts\n│   │   └── conversation.ts\n│   ├── significance/       # Significance detection\n│   ├── documents/          # RELATIONAL.md management\n│   ├── network/            # Network monitoring\n│   │   ├── monitor.ts      # Bernard-side monitoring\n│   │   ├── reporter.ts     # Client-side reporting\n│   │   ├── handlers.ts     # Gateway methods\n│   │   └── repair.ts       # SSH-based repairs\n│   ├── support/            # Support system templates\n│   └── cli/                # CLI commands\n├── templates/\n│   └── RELATIONAL.md       # Template for new relationships\n└── dist/                   # Built output\n```\n\n## License\n\nMIT\n\n## Contributing\n\nThis is part of the OpenClaw ecosystem. See the main OpenClaw repository for contribution guidelines.\n","readmeFilename":"README.md","_rev":"1-9bb1a23aa75e6a3e227b61c50127c857"}