{"id":"codependentai-resonant","name":"resonant","homepage":null,"repo_url":"https://github.com/codependentai/resonant","category":"ai-ml","subcategories":[],"tags":["ai-agent","mcp","claude","self-hosted","typescript","websockets","memory","companion-ai","sveltekit","discord-bot","telegram-bot"],"what_it_does":"Resonant is an open-source, self-hosted “relational AI companion” framework that runs a local Node.js server and orchestrates interactions with the Claude Code Agent SDK. It provides persistent identity/session continuity (via Claude Code’s memory system), an orchestrator for autonomous routines/triggers, and multiple user channels (web UI, Discord, Telegram, voice with transcription/TTS).","use_cases":["Building a self-hosted AI companion that maintains long-term conversational context and identity continuity","Running autonomous check-ins and conditional routines (routines/pulses/watchers/timers/failsafes) that can act based on presence/time/context","Providing relationship-aware agent experiences using injected hooks/context and structured prompts (CLAUDE.md, wake prompts, skills)","Managing life data through an integrated “Command Center” that is accessible in chat and backed by MCP tools","Creating a multi-channel companion experience (web + chat platforms) with streaming tool-call visualization","Experimenting with MCP tool integration by wiring the companion to external MCP servers"],"not_for":["Use as a managed SaaS API for serverless automation (it’s primarily a self-hosted companion app/server)","Environments that cannot run a long-lived local service (Node server, websocket connections, scheduler/orchestrator)","Teams needing a documented public REST API/SDK contract separate from the web UI/agent tooling","Compliance regimes requiring formally documented security controls beyond what the README describes","Cases where you need strict, guaranteed idempotency for agent-driven side effects without additional guardrails"],"best_when":"You want a locally hosted, always-on or frequently running companion that preserves memory across restarts and can schedule or conditionally trigger actions using chat-accessible tools (including MCP-based tools).","avoid_when":"You need a simple “call an HTTP endpoint and get a deterministic response” interface, or you can’t accept that an agent can be configured for autonomy (routines/impulses) and may require careful prompt/guardrail design.","alternatives":["Other agent frameworks with tool orchestration (e.g., LangChain/LangGraph, Semantic Kernel) plus a separate memory layer","Self-hosted chatbot UIs with persistence (e.g., Open WebUI) combined with a memory plugin and external schedulers","Custom Claude Code or MCP-based agent orchestration without the full companion UI/orchestrator stack","Commercial AI companion platforms that provide managed hosting and security/compliance documentation"],"af_score":43.0,"security_score":46.2,"reliability_score":26.2,"package_type":"mcp_server","discovery_source":["github"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T15:32:18.278486+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":false,"mcp_server_url":null,"has_sdk":true,"sdk_languages":["typescript","nodejs"],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["claude login (Claude Code subscription session)"],"oauth":false,"scopes":false,"notes":"Authentication is described as relying on Claude Code login (no separate API key for Resonant itself). Web UI has optional password protection via resonant.yaml/settings, but the README does not specify detailed auth mechanisms (e.g., rate-limited login, password hashing method)."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"Cost depends on Claude Code usage/subscription; README does not provide Resonant-specific pricing tiers or credit-card requirements."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":["self-hosted/local machine (SQLite + local files)"],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":43.0,"security_score":46.2,"reliability_score":26.2,"mcp_server_quality":20.0,"documentation_accuracy":55.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":80.0,"rate_limit_clarity":10.0,"tls_enforcement":70.0,"auth_strength":50.0,"scope_granularity":20.0,"dependency_hygiene":45.0,"secret_handling":45.0,"security_notes":"README indicates self-hosting and local persistence (SQLite) with optional web UI password protection, but does not describe TLS enforcement details, secure secret handling for any configuration/.env, password hashing/storage, authorization model, or dependency/SBOM/CVE practices. Also, autonomy features and MCP tool integration increase the importance of least-privilege tool access and strict prompt/tool guardrails to prevent unintended data access/actions.","uptime_documented":10.0,"version_stability":35.0,"breaking_changes_history":30.0,"error_recovery":30.0,"idempotency_support":"false","idempotency_notes":null,"pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["Agent autonomy (routines/pulses/impulses/watchers) can cause repeated or unintended actions if prompts/conditions are misconfigured; add guardrails and cooldowns where supported.","Side effects through tools may not be inherently idempotent; agent retries (if any) could duplicate actions unless operations are designed to be safe.","Because it’s a companion infrastructure (web/socket/multi-channel), integration testing should account for message ordering/streaming behavior and state persistence across restarts."]}}