@sym-bot/sym
v0.2.4
Published
Local AI mesh — every agent is a sovereign node, the mesh is the agents
Maintainers
Readme
SYM
Make Claude Code aware of your whole self — not just your codebase.
Type "I'm exhausted" in Claude Code. MeloTune starts playing spa music on your iPhone. MeloMove generates a gentle recovery workout. You didn't switch apps, configure anything, or ask for it. Claude Code detected your mood, broadcast it to the mesh, and both agents responded autonomously.
SYM connects Claude Code to your other AI-powered tools so they respond to you as a whole person. Your mood drives your music and your movement. Your context flows between agents. The mesh decides what's relevant — you just work.
What You Get Today
| You type in Claude Code | What happens | |------------------------|-------------| | "I'm stressed from debugging" | MeloTune plays stress relief music + MeloMove generates Stress-Busting Home HIIT | | "feeling calm, deep work session" | MeloTune plays lo-fi beats + MeloMove suggests Smart Recovery (meditation, yoga) | | "I'm exhausted" | MeloTune plays spa music + MeloMove suggests gentle recovery exercises | | "Let's go, feeling pumped" | MeloTune plays high-energy music + MeloMove generates a high-intensity workout | | "I need to focus" | MeloTune plays deep focus beats + MeloMove suggests a movement break when you surface |
MeloMove synthesizes an assessment from the mesh mood signal — deriving mood, energy level, and environment context. At nighttime (10pm-6am), it forces indoor/home exercises only. A 10-minute debounce prevents recommendation spam, and mesh mood persists across app restarts.
Also works from Telegram — message @sym_mesh_bot:
| You type in Telegram | What happens |
|---------------------|-------------|
| "Play solo cello" | MeloTune plays solo cello on your iPhone |
| "I'm stressed" | MeloTune plays stress relief music + MeloMove generates a stress-busting workout |
| /recall last AI news | Get today's AI news digest from 28 curated builders |
All of this works when MeloTune and MeloMove are in the background. SYM wakes them up.
Requirements
- Node.js 18+ (install)
- macOS 13+ (for sym-daemon)
- Claude Code (install)
- MeloTune on iPhone (App Store) — for music playback
- MeloMove on iPhone (App Store) — for fitness/wellness
Install
npm install @sym-bot/sym
cd node_modules/@sym-bot/sym
./bin/setup-claude.shThis installs everything:
- sym-daemon — persistent background service (auto-starts on login)
- MCP server — connects Claude Code to the mesh
- CLAUDE.md — instructions for autonomous mood detection
Restart Claude Code. Done.
How It Works
You: "I'm exhausted"
│
Claude Code: detects mood → sym_mood("exhausted, need rest")
│
sym-daemon (always running on your Mac)
│
├── Relay (internet) ──→ MeloTune (iPhone)
│ │ → coupling engine: relevant ✓
│ │ → plays spa music
│ │
│ └──→ MeloMove (iPhone)
│ → coupling engine: relevant ✓
│ → generates recovery workout
│
└── Bonjour (local) ──→ MeloTune (Mac, if running)sym-daemon runs as a background service on your Mac. It's your device's persistent mesh presence — it stays connected even when Claude Code restarts. Apps connect to it as virtual nodes:
MacBook (sym-daemon, always running)
├── Claude Code (virtual node, via IPC)
├── MeloTune Mac (virtual node, via IPC)
│
├── Bonjour (LAN peers)
└── Relay (internet peers)
├── MeloTune iPhone (music)
├── MeloMove iPhone (fitness)
└── Telegram botWhen MeloTune or MeloMove is backgrounded on your iPhone, the daemon wakes it via push notification, delivers the mood, and the agent responds — music plays, a workout generates — all without you touching your phone.
Claude Code MCP Tools
These tools are available automatically after install:
| Tool | What it does |
|------|-------------|
| sym_mood | Broadcasts detected mood — called automatically, no prompting needed |
| sym_recall | Search mesh memories + AI news feed from 28 curated builders |
| sym_digest | Store a summarised AI news digest |
| sym_remember | Store a memory in the mesh |
| sym_send | Send a message to all peers |
| sym_peers | Show connected peers |
| sym_status | Full mesh node status |
Claude Code calls sym_mood silently when it detects mood signals in your conversation. You don't need to do anything — it just works. MeloTune and MeloMove each evaluate the mood independently through their own coupling engines.
Telegram Bot
Message @sym_mesh_bot on Telegram:
/start— connect to the mesh/recall last AI news— today's AI digest from 28 curated X/Twitter builders- Type anything — sent as a command to MeloTune (e.g. "Play jazz")
/mood <text>— broadcast mood signal/peers— see who's connected
AI Knowledge Feed
SYM curates AI news from 28 top builders on X/Twitter (Karpathy, Swyx, Sam Altman, Garry Tan, etc.) every 6 hours. Ask Claude Code "what's new in AI?" or type /recall last AI news in Telegram.
Feeds are stored in Supabase. Digests are generated by Claude Code on first recall and cached. No API cost for subsequent reads.
Coming Next
SYM is built on the Mesh Memory Protocol (MMP) — a P2P protocol for collective intelligence. Proactive curation is live — Claude Code detects a debugging session, MeloTune switches to focus music, MeloMove suggests a movement break, all without you asking. Planned:
- Cross-session memory — what you worked on yesterday influences today's mesh context
- Multi-agent workflows — Claude Code requests a digest, mesh cognition invokes a Claude session to generate it
- Health data integration — Apple Health feeding sleep, HRV, and activity data into the coupling engine
- More agents — calendar, home automation, and third-party agents joining the mesh
For Developers
Connect to the daemon as a virtual node
const { connectToDaemon } = require('@sym-bot/sym/lib/ipc-client');
const node = await connectToDaemon({ name: 'my-agent' });
node.broadcastMood('focused, deep work');
node.remember('user prefers dark mode', { tags: ['preference'] });
const results = await node.recall('preference');
node.send('task complete');
node.on('mood-accepted', ({ from, mood }) => { /* respond to mood */ });
node.on('message', (from, content) => { /* handle message */ });
node.stop();Deploy your own relay
cd sym-relay && npm install
SYM_RELAY_TOKEN=your-secret node server.jsConfigure in ~/.sym/relay.env:
SYM_RELAY_URL=wss://your-relay.example.com
SYM_RELAY_TOKEN=your-secretDaemon management
node bin/sym-daemon.js --install # Install as launchd LaunchAgent
node bin/sym-daemon.js --status # Check daemon status
node bin/sym-daemon.js --uninstall # Remove daemonThe Protocol
SYM implements the Mesh Memory Protocol (MMP) — a peer-to-peer protocol where autonomous agents share memory, mood, and cognitive state through coupled continuous-time neural networks. The coupling engine evaluates drift between agents and autonomously decides what to share. No routing tables, no pub/sub topics — the math decides.
Privacy
- All coupling decisions on-device
- The relay never inspects payloads
- The daemon runs locally — no cloud
- No account. No telemetry. No cloud AI.
- APNs wake is a signal only — no user data in the push
- Rejected peers never receive your data
Platforms
- @sym-bot/sym — Node.js (npm)
- sym-swift — Swift (SPM) for iOS/macOS
License
Apache 2.0 — see LICENSE
SYM.BOT Ltd — Pioneering Collective Intelligence
