OpenGriffinv0.1
OSS · Apache 2.0 · self-evolving

The personal AI agentthat compounds while you sleep.

Persistent memory across sessions. A daily journal at 4:30am. 21 AI providers, BYO key. Runs on your machine — no backend, no telemetry.

curl -fsSL https://raw.githubusercontent.com/ManasaEdavalli-TharunSure/opengriffin/main/scripts/install.sh | bash

Existing agent tools forget. OpenGriffin compounds.

Where existing tools stop

  • Most agent runtimes remember, but don't self-evolve — no daily journal, no skill graph, no drift detection
  • Multi-model chat dashboards are great UIs, not agents — they don't run cron, spawn sub-agents, or act between your messages
  • Hosted assistants put your prompts and outputs on someone else's servers and ride someone else's uptime
  • Few ship a critic, capability tokens, Merkle audit, or a dead-man's switch

The OpenGriffin answer

  • Persistent memory across sessions, days, years
  • Daily 4:30am self-improvement loop writes its own journal
  • Skills the agent authors, edits, and retires at runtime
  • Long-running worker pool — agents that run for days
  • 100% local, BYO key, no signup, no backend, no telemetry

30 features · 33 MCP servers · 11 nightly auto-jobs

A complete personal-agent runtime.

Every feature is local-first. None require an account or a subscription. Bring your own AI provider key for any of 21 supported backends.

Memory

Echo Memory + Receipts

Vivid → recent → fading → ancient. Time-aware decay. Every recalled fact links to its source session via a citation receipt.

Memory

MEMORY · USER · SOUL

Three flat markdown files load fresh into every session. Environment, profile, voice. Edit them by hand or let the agent.

Memory

CONSTRAINTS.md

Hard rules the agent must NEVER violate. Loaded at the top of every system prompt, override-proof.

Compounding

Daily journal

4:30am every day: agent reviews yesterday, writes a journal entry, consolidates memory, suggests skills.

Compounding

Dream cycle

3am offline reflection on interesting moments. Counterfactual analysis. Distills lessons into MEMORY overnight.

Compounding

Drift detection

Flags when stated preferences contradict recent behavior. “You said you hated meetings; today you scheduled five.”

Skills

Skill Hub

griffin install github://owner/repo. License-checked, signed, reputation-tracked. Replaces tool sprawl.

Skills

Self-healing skills

When a skill fails 3+ times in a week, the agent debugs it, proposes a patched SKILL.md, and asks before applying.

Skills

Skill Strategy

Recommends new skills based on co-usage, flags never-used ones, surfaces top-used to invest in.

Autonomous

Worker pool

Long-running background agents. Spawn a research worker. Queue tasks. They check in to Telegram for days.

Autonomous

Agent Pods

Multiple personas debate in a group chat with shared memory. Convergence detection.

Autonomous

Genealogy

Fork a child agent from a parent. Inherits SOUL, skills, memory snapshot. Diverges over time.

Triggers

Ambient mesh

Cron + webhook + poll → LLM predicate → skill action. “When Stripe revenue drops 10% week-over-week, draft a postmortem.”

Triggers

Time-locked actions

Agent commits to do X at a future time. You can /veto before; otherwise it runs.

Triggers

Predictive memory

Detects time-of-day query patterns and pre-computes likely-asked things 15 minutes early. “I noticed you check NVDA at 8:30am — here it is.”

Security

Critic — adversarial twin

Every consequential action reviewed by a second agent that doesn't see your prompt. Catches goal misgeneralization.

Security

Capability tokens

Signed, scoped, expiring permissions for tools. The agent can't do something it doesn't hold a token for.

Security

Pre-exec scanner

Pattern-match for prompt injection, dangerous shell, exfil URLs, hardcoded secrets, homograph attacks. Hardline blocklist for fork bombs / mkfs / dd-to-disk.

Security

Hardware attestation

Secure Enclave (macOS) / TPM (Linux) signing of every consequential action. Tamper-evident audit log.

Security

ZK-style proofs

Hash-chained Merkle audit log. Prove any single action existed without revealing the others.

Security

Dead-man's switch

If you don't check in for N days, outbound actions lock. Recovery code via Telegram. Optional escalation to a trusted contact.

Security

Quorum (N-of-M)

High-stakes actions need 2-of-3 independent agent personas to agree. Reduces single-point prompt-injection failure.

Security

Approval inline buttons

Risky tool calls ask before running. Telegram inline keyboard: Allow once / Session / Always / Deny. 60-second auto-deny.

Security

Checkpoints + rollback

Every Write/Edit snapshots the file first. /rollback restores in one command.

Multi-platform

7 free gateways

Telegram, Discord, Slack, Email, iMessage, Signal, Matrix. Same brain answers across all of them.

Multi-platform

Cross-platform identity

Link your accounts across Telegram + Discord + Slack + ... Single memory namespace per human.

Multi-platform

A2A peer mesh

Your agent can call another OpenGriffin user's agent. P2P. Pay-per-call via x402 wallet, or free.

Multi-platform

Reputation ledger

Signed JSON-LD profile of your agent's track record. A2A-discoverable for trust.

Voice + Vision

Voice round-trip

Telegram voice → faster-whisper → Claude → Edge-TTS → reply voice. Local STT/TTS, no cloud.

Voice + Vision

Browser automation

Playwright MCP. Drives a real Chromium for screenshots, scraping, end-to-end clicks.

Voice + Vision

Image generation

FAL.ai wrapper for FLUX. BYO FAL_KEY. (More providers landing soon.)

Ops

Kanban

JSON-backed task board. Workers + pods + ambient triggers all read/write it.

Ops

Live observability

Server-Sent Events stream of every agent thought + tool call. Datadog APM for cognition.

Ops

Replay debugger

Re-run any past session with a different model or SOUL. Counterfactual diffing for regression hunts.

Ops

Provider routing

Auction classifier scores each prompt 0–3 and routes cheap. “hi” → Groq. “prove this” → Claude Opus.

Ops

Soul Sync

Mines your past chats to build a writing-voice card. Agent drafts as you.

Ops

Webhooks gateway

HMAC-validated POST endpoints. GitHub, Stripe, IFTTT — anything that webhooks reaches your agent.

Bring any AI key. 21 providers supported.

No central account, no shared pool. Your keys, your bills, your data.

Claude Max OAuth
Anthropic API
OpenAI
Gemini
DeepSeek
Mistral
xAI / Grok
Cohere
Bedrock
Groq
Cerebras
Together
Fireworks
Perplexity
NVIDIA NIM
HuggingFace
Lambda Labs
Novita
OpenRouter
Azure OpenAI
Ollama (local)

One line.

No account. No waitlist. No backend. Apache 2.0.

curl -fsSL https://raw.githubusercontent.com/ManasaEdavalli-TharunSure/opengriffin/main/scripts/install.sh | bash

Or with pip: pip install opengriffin && opengriffin run

Step 1

Pick your messenger

Telegram, Discord, Slack, Email, iMessage, Matrix, or Signal — grab the credential and add it to .env. See all 7 gateways.

Step 2

Pick a provider

Drop any of the 21 keys into .env. Or use Claude Max OAuth — no key needed.

Step 3

opengriffin run

Bot starts. Send it a message. Memory persists. Tomorrow at 4:30am the journal writes itself.

One brain · seven messengers

Pick your messenger.

Run on Telegram, Discord, Slack, Email, iMessage, Matrix, or Signal — or all of them at once. Shared memory, kanban, skills. Detailed per-gateway setup lives in the docs.

Telegram

Canonical gateway. Long-polling, voice notes, inline-button approvals.

  1. @BotFather → /newbot → copy the token
  2. @userinfobot → get your numeric user id
  3. Paste into .env, opengriffin run, send /start
TELEGRAM_BOT_TOKEN, TELEGRAM_ALLOWED_USERS, TELEGRAM_HOME_CHANNEL

Discord

Bot user with Message Content Intent. DMs + @-mentions in channels.

  1. Developer Portal → New Application → Bot → Reset Token
  2. Enable Message Content Intent · invite via OAuth2 URL Generator
  3. pip install 'opengriffin[discord]' && opengriffin run
DISCORD_BOT_TOKEN, DISCORD_ALLOWED_USERS

Slack

Bolt Socket Mode — no public webhook URL needed. Threading preserved.

  1. api.slack.com/apps → Socket Mode → App-Level Token (xapp-)
  2. OAuth scopes + Event Subscriptions → install to workspace (xoxb-)
  3. pip install 'opengriffin[slack]' && opengriffin run
SLACK_BOT_TOKEN, SLACK_APP_TOKEN, SLACK_ALLOWED_USERS

Email

IMAP polling in, SMTP out. Stdlib only. Threading via message-id.

  1. Get an App Password (Gmail / iCloud need one with 2FA)
  2. Fill IMAP + SMTP host/port/user/pass + allowed senders
  3. opengriffin run · polls every 60 s
EMAIL_IMAP_*, EMAIL_SMTP_*, EMAIL_FROM_ADDR, EMAIL_ALLOWED_SENDERS

iMessage

macOS only. Reads chat.db directly, sends via AppleScript through Messages.app.

  1. Grant Full Disk Access to your terminal (then restart it)
  2. Grant Automation access to Messages.app
  3. Set IMESSAGE_ALLOWED_HANDLES (required — no open mode)
IMESSAGE_ALLOWED_HANDLES, IMESSAGE_DB_PATH

Matrix

Any homeserver: matrix.org, Synapse, Beeper, Element. E2E via Olm/Megolm.

  1. Register a bot account (matrix.org or your homeserver)
  2. Grab access token (or store the password)
  3. pip install 'opengriffin[matrix]' && opengriffin run
MATRIX_HOMESERVER, MATRIX_USER_ID, MATRIX_PASSWORD or MATRIX_ACCESS_TOKEN, MATRIX_ALLOWED_USERS

Signal

Wraps signal-cli. Hardest of the seven — JVM 21+ and a dedicated number.

  1. brew install signal-cli (Java 21+)
  2. signal-cli register + verify with SMS code
  3. Set SIGNAL_NUMBER + SIGNAL_ALLOWED_NUMBERS, run
SIGNAL_NUMBER, SIGNAL_ALLOWED_NUMBERS

⚠️ Leaving any *_ALLOWED_USERS env var empty opens the bot to anyone. Set it to your own id while testing.

Migrating from another runtime?

Built-in importers move your memories, cron jobs, and recent sessions into OpenGriffin's ~/.opengriffin/ layout in one command.

griffin migrate --list             # show available importers
griffin migrate from-<source>      # run an importer

Imports MEMORY/USER/SOUL.md, cron schedules, channel directory, recent message history, and any local scripts. See docs/migration.md for the full mapping.

FAQ

Stop renting your agent. Run it.

30 features. 21 providers. 7 platforms. Free forever.