Skip to content

Navigation Menu

Sign in
Sign up
@openvesper
openvesper
Follow

openvesper openvesper

Block or report openvesper

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please donโ€™t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
openvesper /README.md

 โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—
โ–ˆโ–ˆโ•”โ•โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—
โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•”โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•
โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ•โ• โ–ˆโ–ˆโ•”โ•โ•โ• โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•”โ•โ•โ• โ•šโ•โ•โ•โ•โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ•โ• โ–ˆโ–ˆโ•”โ•โ•โ• โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—
โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘ โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ•‘ โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ• โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘
 โ•šโ•โ•โ•โ•โ•โ• โ•šโ•โ• โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ• โ•šโ•โ•โ•โ• โ•šโ•โ•โ•โ• โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ• โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ• โ•šโ•โ•
 ๐ŸŒ’ local-first

OpenVesper is a local-first AI agent framework. You bring your own LLM (Anthropic, OpenAI, Groq, Gemini, DeepSeek, Ollama, etc.) and your own keys. The framework handles agent personas, tool execution, multi-source skills, persistent memory, scheduling, and chat-channel delivery โ€” all on your machine.

๐ŸŒ Website ยท ๐Ÿ“ฆ Install ยท ๐Ÿค– Agents ยท ๐Ÿ’ก Examples ยท โš™๏ธ Config ยท ๐Ÿ“š Docs


๐Ÿงฐ Tech Stack

Skills


๐Ÿค– Powered By Any of These LLMs

LLMs

+ 11 more: Groq, DeepSeek, Mistral, OpenRouter, Together, Perplexity, Fireworks, Nebius, DeepInfra, xAI Grok, LM Studio


๐Ÿ“– Table of Contents


๐ŸŒ’ Why OpenVesper

Most AI agent frameworks are wrappers that send your data through their servers. OpenVesper is the opposite.

Feature Typical AI Framework OpenVesper
๐Ÿ“ Where state lives Their cloud Your disk (~/.openvesper/)
๐Ÿ”„ Runtime Library you import Persistent gateway daemon
๐Ÿง  LLM choice Locked to one vendor 15 providers, swap any time
๐Ÿค– Agent definition Python/TS code Plain markdown personas
๐Ÿ“Š Telemetry Always-on None. Zero. Never.
๐Ÿ’ฌ Channels DIY Telegram, Slack, Discord, Email, WS built-in
โฐ Cron scheduling DIY Built-in heartbeats + webhooks
๐Ÿ’ฐ Crypto-native tools Add yourself 22 crypto plugins out of the box

๐ŸŽ What's in the Box

๐Ÿง  15 LLM Providers

Anthropic ยท OpenAI ยท Gemini ยท Groq ยท DeepSeek ยท Mistral ยท Together ยท OpenRouter ยท Fireworks ยท Nebius ยท DeepInfra ยท xAI ยท Perplexity ยท Ollama ยท LM Studio

๐Ÿค– 26 Specialist Agents

All defined as plain markdown personas. Crypto hunters, code reviewers, content writers, fitness coaches, smart home controllers โ€” see /docs/agents.

๐Ÿ”Œ 52 Plugins ยท 119 Tools

Crypto ยท DeFi ยท Solana ยท GitHub ยท Telegram ยท Slack ยท Weather ยท Fitness ยท Gaming ยท E-commerce ยท DNS ยท Database ยท Browser automation โ€” and 40+ more.

๐ŸŽฏ Multi-source Skill System

6 precedence levels (workspace > project-agent > personal-agent > managed > bundled > extra) with gating (env/bin/config/OS) and per-agent allowlists.

๐Ÿ’ฌ 5 Channels

CLI ยท Telegram ยท Slack ยท Discord ยท WebSocket โ€” all bidirectional. Talk to your agent from anywhere.

โฐ Cron + Webhook Scheduler

Agents run on a timer or respond to external events. Daily summaries to Telegram, PR review on GitHub push, alert when a wallet moves.

๐Ÿ” OS Keychain Integration

macOS Keychain ยท libsecret ยท kwallet ยท 1Password CLI. Your API keys never have to sit in plaintext .env files.

๐Ÿ›ก Approval Queue + Audit Log

Review every tool call before execution. Full audit trail in ~/.openvesper/audit/ for every action.

๐Ÿšซ What It Is NOT

โš ๏ธ Not a hosted SaaS. There is no openvesper.com account. There are no OpenVesper servers receiving your data.

โš ๏ธ Not a wallet. The framework never asks for seed phrases or private keys.

โš ๏ธ Not a trading bot. Crypto plugins are read-only โ€” they query data, they don't sign transactions.

โš ๏ธ Not locked to one model. Switch from Claude to GPT to a local Ollama model with one env var.


๐Ÿ— Architecture

 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
 โ”‚ You โ€” the user โ”‚
 โ”‚ (CLI ยท Telegram ยท Slack) โ”‚
 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
 โ”‚
 โ–ผ
 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
 โ”‚ OpenVesper Gateway โ”‚
 โ”‚ 127.0.0.1:18789 (loopback)โ”‚
 โ”‚ โ”‚
 โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
 โ”‚ โ”‚ Agent Router โ”‚ โ”‚
 โ”‚ โ”‚ Tool Dispatcher โ”‚ โ”‚
 โ”‚ โ”‚ Session Lanes โ”‚ โ”‚
 โ”‚ โ”‚ Approval Queue โ”‚ โ”‚
 โ”‚ โ”‚ Cron Scheduler โ”‚ โ”‚
 โ”‚ โ”‚ Memory Manager โ”‚ โ”‚
 โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
 โ”‚
 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
 โ–ผ โ–ผ โ–ผ
 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
 โ”‚ LLM API โ”‚ โ”‚ Plugins โ”‚ โ”‚ ~/.openvesperโ”‚
 โ”‚ (your key) โ”‚ โ”‚ (52 built-in)โ”‚ โ”‚ (your state)โ”‚
 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
 Anthropic bagsfm, github, sessions
 OpenAI telegram, weather, audit logs
 Gemini 22 crypto plugins, OAuth tokens
 Groq productivity tools cron jobs
 (+ 11 more) + your own .env

๐Ÿ”„ The Agent Loop

User Query (any channel)
 โ”‚
 โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Gateway receives request โ”‚
โ”‚ โ†’ Resolves session (or creates) โ”‚
โ”‚ โ†’ Routes to correct agent โ”‚
โ”‚ โ†’ Loads eligible skills (gated) โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
 โ”‚
 โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ LLM call (with tools + skills) โ”‚
โ”‚ Model decides which tools to run โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
 โ”‚ tool_use
 โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Tool dispatcher executes โ”‚
โ”‚ โ†’ Approval queue (if needed) โ”‚
โ”‚ โ†’ Audit log entry โ”‚
โ”‚ โ†’ Permission check โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
 โ”‚ results
 โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Loop back to LLM until done โ”‚
โ”‚ โ†’ Persist session โ”‚
โ”‚ โ†’ Emit response to channel โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ“ฆ Installation

๐ŸŽฏ Prerequisites

Requirement Version Notes
Node 18+ nodejs.org โ€” or use the installer's auto-install
pnpm 9+ npm install -g pnpm
Key โ€” Any of 15 providers (Anthropic, OpenAI, Groq, Gemini...)

๐Ÿš€ Method 1 โ€” One-line Installer (Recommended)

๐Ÿง macOS / Linux

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

๐ŸชŸ Windows (PowerShell)

iwr -useb https://raw.githubusercontent.com/openvesper/openvesper/main/scripts/install.ps1 | iex

The installer does all of this for you:

Step What Where
1๏ธโƒฃ Detect / auto-install Node.js via fnm (Unix) or winget/MSI (Windows)
2๏ธโƒฃ Detect / auto-install pnpm via npm install -g pnpm
3๏ธโƒฃ Clone the repo ~/.local/share/openvesper or %LOCALAPPDATA%\openvesper
4๏ธโƒฃ Build all packages pnpm -r build
5๏ธโƒฃ Install vesper shim to PATH ~/.local/bin/vesper or %LOCALAPPDATA%\Microsoft\WindowsApps\vesper.cmd
6๏ธโƒฃ Run guided setup wizard vesper onboard

๐Ÿ”ง Method 2 โ€” Manual Install

git clone https://github.com/openvesper/openvesper
cd openvesper
pnpm install --ignore-scripts
pnpm -r build
# Guided setup
node apps/cli/dist/index.js onboard

๐Ÿณ Method 3 โ€” Docker

docker run -d \
 --name openvesper \
 -p 127.0.0.1:18789:18789 \
 -v "$HOME/.openvesper:/home/vesper/.openvesper" \
 -e ANTHROPIC_API_KEY=sk-ant-... \
 ghcr.io/openvesper/openvesper:latest

Docker Pulls

Multi-arch: linux/amd64 + linux/arm64

Or with docker-compose:

git clone https://github.com/openvesper/openvesper
cd openvesper
cp .env.example .env # add your keys
docker-compose up -d

โšก Quick Start

After install, run the wizard:

vesper onboard

The wizard asks 5 questions:

# Question Default
1๏ธโƒฃ Workspace location ~/.openvesper
2๏ธโƒฃ LLM provider (15 choices) Anthropic
3๏ธโƒฃ API key (stored in ~/.openvesper/.env mode 0600) โ€”
4๏ธโƒฃ Default agent (auto / bags-hunter / code-reviewer...) auto
5๏ธโƒฃ Send a test message Y

Then ask your first question:

vesper -q "What's the price of BTC right now?"

Or open an interactive REPL:

vesper repl

Start the gateway as a daemon (for Telegram / Slack / cron):

vesper gateway start -d # detached / background
vesper gateway install-daemon # auto-start at boot (systemd / launchd)

Check health:

vesper doctor

๐Ÿง  LLM Providers

OpenVesper supports 15 providers. Set one key, you're done. Set multiple, switch with --provider flag.

Provider Best Model Free Tier Notes
Anthropic Anthropic claude-opus-4-5 โŒ Best tool use, recommended
OpenAI OpenAI gpt-4o, o1, o3 โŒ Universal compatibility
Gemini Google Gemini gemini-2.5-pro โœ… 15 RPM Free tier, fast
Groq Groq llama-3.3-70b โœ… Ultra-fast inference
DeepSeek DeepSeek v3 / r1 โŒ Cheap, good reasoning
xAI xAI Grok grok-4 โŒ Real-time web access
Mistral Mistral mistral-large โŒ EU-hosted
OpenRouter OpenRouter 100+ models Pay-as-you-go Unified gateway
Together Together Open-source โŒ Hosted Llama / Mixtral
Perplexity Perplexity sonar โŒ Search-augmented
Fireworks Fireworks Llama / Mixtral โŒ Fast serverless
Nebius Nebius OpenAI-compat โœ… Generous free tier
DeepInfra DeepInfra Open-source โŒ Affordable
Ollama Ollama llama3.2, mistral โœ… 100% local Offline-capable
LM Studio LM Studio Any GGUF โœ… Local Local GUI
# Switch providers per-query
vesper -q "BTC price" --provider groq --model llama-3.3-70b-versatile
# Or set default in ~/.openvesper/.env
LLM_PROVIDER=anthropic
ANTHROPIC_API_KEY=sk-ant-...

๐Ÿค– Agents

OpenVesper ships with 26 specialist agents, each defined as a markdown persona in .agents/<mode>/. Use vesper -a <mode> to invoke one directly.

๐Ÿ’ฐ Crypto / Web3 (8)

๐ŸŽ’ bags-hunter

Bags.fm Solana memecoin tracking + scoring

๐Ÿš€ pumpfun-hunter

Pump.fun bonding curve analysis + holder scans

๐Ÿธ base-hunter

Base chain memecoin specialist

๐ŸŽ airdrop-hunter

Multi-chain airdrop tracking + eligibility

๐Ÿ–ผ nft-analyst

NFT collection floor, holders, rarity

๐Ÿฆ defi-strategist

DeFi yields, TVL, liquidity analysis

๐Ÿ“Š quant-analyst

TA, indicators, backtests

๐Ÿ“ˆ investment-researcher

Falsifiable theses, DD, market research

๐Ÿ’ป Development (5)

๐Ÿ”ฌ code-reviewer

PR review, code quality, bug detection

๐Ÿ™ github-pm

PR triage, issue management, repo health

๐Ÿ›  solana-dev-coach

Anchor, IDL, dApp helper

๐Ÿ›ก security-reviewer

Code + token security audit

๐Ÿงช tdd-coach

Test-driven development guidance

๐ŸŒ General (13)

๐Ÿ›ธ auto
Picks tools automatically โœ content-writer
Posts, articles, marketing ๐Ÿฆ social-strategist
Twitter/X trends + strategy ๐Ÿ“‹ productivity-coach
Calendar, tasks, email
๐Ÿ“ data-analyst
SQL, CSV, charts โš– legal-assistant
Contracts, legal docs ๐Ÿ—ฃ language-tutor
Language learning partner ๐ŸŒ travel-planner
Day-by-day itineraries
๐Ÿณ cooking-coach
Recipes, techniques ๐ŸŽฎ gaming-companion
Steam, Twitch, stats ๐Ÿ’ช fitness-coach
Strava, exercise DB ๐Ÿ  smart-home-controller
Home Assistant
๐Ÿ“ฐ news-curator
Daily news digests

โœ๏ธ Defining Your Own Agent

Drop a markdown file at .agents/<your-mode>/manifest.md:

---
mode: my-agent
icon: ๐Ÿฆ…
name: My Custom Agent
description: Does my specific thing
tools: ["web_search", "github_repo", "*"]
---
You are a helpful assistant specialized in <your domain>.
Be concise and direct.

Run it: vesper -a my-agent -q "your question".


๐Ÿ”Œ Plugins

52 built-in plugins provide tools the agent can call.

๐Ÿ” Click to expand the full plugin list (52 total)

๐Ÿ’ฐ Crypto & Web3 (22)

bagsfm ยท pumpfun ยท bonkfun ยท base-meme ยท solana ยท solana-dev ยท kamino ยท drift ยท aerodrome ยท jupiter ยท security-goplus ยท rugcheck ยท defi ยท helius ยท birdeye ยท whale-alert ยท airdrop ยท farcaster ยท derivatives ยท memescan ยท onchain ยท crypto

๐Ÿ“‹ Productivity (5)

notion ยท github ยท gcal ยท research ยท news

๐Ÿ’ฌ Channels (5)

telegram ยท slack ยท discord ยท email ยท farcaster

โœจ Lifestyle (8)

weather ยท maps ยท translate ยท banking ยท fitness ยท gaming ยท shopify ยท package-tracking

๐ŸŽจ Media (4)

spotify ยท youtube ยท image-gen ยท voice

โš™๏ธ Dev Tools (6)

filesystem ยท shell ยท code-exec ยท browser ยท database ยท dns

๐Ÿ”ง Automation (2)

cron ยท webhooks

๐Ÿ›  Meta (1)

skill-workshop โ€” agents propose new skills mid-conversation

๐Ÿ— Authoring Your Own Plugin

vesper plugin scaffold weather
# Creates ./weather/ with package.json, tsconfig.json, src/index.ts
import { definePlugin, defineTool, inputSchema } from "@openvesper/plugin-sdk";
export default definePlugin({
 name: "@your-org/plugin-weather",
 version: "0.1.0",
 tools: [
 defineTool({
 name: "weather_get",
 description: "Get current weather for a city",
 inputSchema: inputSchema(
 { city: { type: "string" } },
 ["city"]
 ),
 handler: async ({ city }) => {
 const data = await fetch(`https://api.open-meteo.com/...`);
 return { success: true, data };
 },
 }),
 ],
});

Then pnpm install && pnpm run build, and the agent picks it up automatically.


๐ŸŽฏ Skills System

Skills are markdown instruction snippets that agents load on demand. v1.16.0 introduces a multi-source loader with strict precedence:

1. <workspace>/skills/ โ† highest priority (your project)
2. <workspace>/.agents/skills/ โ† project-agent specific
3. ~/.agents/skills/ โ† your personal skills
4. ~/.openvesper/skills/ โ† managed (vesper skills install)
5. (bundled with install)
6. config.skills.load.extraDirs โ† lowest priority

Same name in multiple sources? The higher source wins.

๐Ÿšช Skill Gating

A skill can declare requirements that filter it out at load time:

---
name: image-lab
description: Generate images with Gemini
metadata:
 openvesper:
 requires:
 env: ["GEMINI_API_KEY"]
 bins: ["uv"]
 os: ["darwin", "linux"]
---
When the user asks for an image, use the Gemini image API...

Without the env var? The skill is hidden โ€” agent doesn't even see it. No silent failures.

๐Ÿ“ฅ Installing Skills

# From GitHub
vesper skills install git:owner/repo
vesper skills install git:owner/repo@v1.2.0
# From local directory
vesper skills install ./my-skill
# Globally (~/.openvesper/skills)
vesper skills install ./my-skill --global
# List with source + gating status
vesper skills list
vesper skills list --all # include gated/filtered
vesper skills info gif-attribution
vesper skills sources # show all 6 source dirs

๐ŸŽš Per-agent Skill Allowlists

In openvesper.json:

{
 agents: {
 defaults: { skills: ["github", "weather"] },
 list: [
 { id: "writer" }, // inherits defaults
 { id: "researcher", skills: ["docs-search"] }, // replaces (no merge)
 { id: "locked", skills: [] }, // no skills at all
 ],
 },
}

๐Ÿ’ฌ Channels

Talk to your agent from anywhere. All channels go through the same gateway.

Channel Setup Direction
๐Ÿ’ป CLI None Both
โœˆ๏ธ Telegram Bot token Both (DMs + groups)
๐Ÿ’ผ Slack App + webhook Both
๐ŸŽฎ Discord Bot token Both
๐Ÿ“ง Email Gmail OAuth or IMAP Both
๐ŸŒ WebSocket Built into gateway Both

๐Ÿ” DM Pairing

When an unknown user DMs your bot, the gateway issues a 6-character pairing code:

Unknown user โ†’ "hey"
Bot โ†’ "Hi! I'm gated. Ask the operator to approve code: A3B7K2"
You (CLI) โ†’ vesper pairing approve telegram A3B7K2
Bot โ†’ "โœ“ Approved. You're in."

No more open bots that anyone can spam.


โš™๏ธ Configuration

All config lives in ~/.openvesper/:

~/.openvesper/
โ”œโ”€โ”€ .env # API keys (mode 0600)
โ”œโ”€โ”€ config.json # General settings
โ”œโ”€โ”€ openvesper.json # Agent + skill allowlists
โ”œโ”€โ”€ sessions/ # Per-session state
โ”œโ”€โ”€ audit/ # Tool call audit log
โ”œโ”€โ”€ tokens/ # OAuth tokens
โ”œโ”€โ”€ pairings.json # Channel pairing state
โ”œโ”€โ”€ skills/ # Managed skills (vesper skills install)
โ””โ”€โ”€ skills-registry.json # Skill install registry

๐Ÿ”‘ .env โ€” API Keys

# Required: at least one LLM provider
ANTHROPIC_API_KEY=sk-ant-api03-...
OPENAI_API_KEY=sk-...
GROQ_API_KEY=gsk_...
GEMINI_API_KEY=...
# Optional: channels
TELEGRAM_BOT_TOKEN=
SLACK_BOT_TOKEN=
DISCORD_BOT_TOKEN=
# Optional: extra services
GITHUB_TOKEN=
HELIUS_API_KEY=

๐Ÿ” OS Keychain (opt-in)

Don't want plaintext .env? Use your OS keychain:

vesper secret backend # detect: macOS Keychain / libsecret / kwallet / 1Password
vesper secret set ANTHROPIC_API_KEY
vesper secret list
vesper secret rm ANTHROPIC_API_KEY

๐Ÿ“‹ CLI Reference

๐Ÿ“Œ Core Commands
Command Purpose
vesper -q "<query>" One-shot question
vesper repl Interactive prompt with slash commands
vesper onboard 5-step setup wizard
vesper doctor 13-check health diagnostic
vesper monitor Live TUI dashboard
vesper init <template> Quick-start (crypto-watcher / code-reviewer / blog-writer)
๐Ÿค– Agents & Plugins
Command Purpose
vesper -a <mode> -q "<q>" Run specific agent
vesper --list-agents All 26 agents
vesper --list-providers All 15 LLM providers
vesper --list-tools Every tool from every plugin
vesper plugin scaffold <name> Generate plugin skeleton
vesper plugin list All 52 bundled plugins
๐ŸŽฏ Skills
Command Purpose
vesper skills list [--all] Eligible skills with source
vesper skills info <name> Details + gating status
vesper skills sources All 6 source dirs
vesper skills install <src> From git / local path
vesper skills update <name> Re-fetch git-installed skill
vesper skills uninstall <name> Remove
๐Ÿ”„ Gateway & Daemon
Command Purpose
vesper gateway start [-d] Start gateway (foreground or detached)
vesper gateway stop Stop gateway
vesper gateway status Health check
vesper gateway install-daemon systemd / launchd / Windows scheduled task
vesper gateway logs Tail audit log
โ™ป๏ธ Lifecycle
Command Purpose
vesper update Pull latest + rebuild (git-installed only)
vesper update --channel dev Switch to dev channel
vesper uninstall [--purge] Remove install (--purge also wipes workspace)
vesper migrate Apply workspace schema migrations
๐Ÿ” Pairing & Secrets
Command Purpose
vesper pairing list Pending channel pairings
vesper pairing approve <channel> <code> Approve a pairing code
vesper pairing deny <channel> <code> Reject
vesper secret <backend|set|get|rm> OS keychain integration
โฐ Cron & Webhooks
Command Purpose
vesper cron list All scheduled jobs
vesper cron add <job> Add cron job
vesper cron remove <id> Remove

๐Ÿ’ก Examples

๐ŸŽ’ Example 1 โ€” Crypto Deep Dive

vesper -a bags-hunter -q "Top 5 Solana memecoins by 24h volume, score each"
ร—ใฐใค 5 โœ“ bagsfm_score_token โ€” 5 scores computed โšก security_goplus_check ร—ใฐใค 5 โœ“ security_goplus_check โ€” 5 rugcheck results โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ ๐ŸŒ’ OpenVesper โ€บ ## Top 5 Solana Memecoins (24h Volume) | Rank | Token | Volume | Score | Rug Risk | |------|--------|--------|-------|----------| | 1 | $WIF | 42ใƒ‰ใƒซM | 82/100| ๐ŸŸข Low | | 2 | $BONK | 31ใƒ‰ใƒซM | 76/100| ๐ŸŸข Low | | 3 | $PEPE | 18ใƒ‰ใƒซM | 71/100| ๐ŸŸก Med | | 4 | $POPCAT| 14ใƒ‰ใƒซM | 68/100| ๐ŸŸข Low | | 5 | $MEW | 11ใƒ‰ใƒซM | 64/100| ๐ŸŸก Med | Top pick by score: $WIF โ€” large holder distribution, established team, liquidity locked. โš  Not financial advice. DYOR.">
 โšก bagsfm_top_movers (limit=5, sortBy=volume)
 โœ“ bagsfm_top_movers โ€” 5 tokens returned
 โšก bagsfm_score_token (mint=...) ร—ใฐใค 5
 โœ“ bagsfm_score_token โ€” 5 scores computed
 โšก security_goplus_check ร—ใฐใค 5
 โœ“ security_goplus_check โ€” 5 rugcheck results
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
๐ŸŒ’ OpenVesper โ€บ
## Top 5 Solana Memecoins (24h Volume)
| Rank | Token | Volume | Score | Rug Risk |
|------|--------|--------|-------|----------|
| 1 | $WIF | 42ใƒ‰ใƒซM | 82/100| ๐ŸŸข Low |
| 2 | $BONK | 31ใƒ‰ใƒซM | 76/100| ๐ŸŸข Low |
| 3 | $PEPE | 18ใƒ‰ใƒซM | 71/100| ๐ŸŸก Med |
| 4 | $POPCAT| 14ใƒ‰ใƒซM | 68/100| ๐ŸŸข Low |
| 5 | $MEW | 11ใƒ‰ใƒซM | 64/100| ๐ŸŸก Med |
Top pick by score: $WIF โ€” large holder distribution,
established team, liquidity locked.
โš  Not financial advice. DYOR.

๐Ÿ”ฌ Example 2 โ€” GitHub PR Review

vesper -a code-reviewer -q "Review PR #42 on openvesper/openvesper"
 โšก github_pr_details (repo=openvesper/openvesper, pr=42)
 โšก github_pr_diff (repo=openvesper/openvesper, pr=42)
 โšก github_repo_conventions (repo=openvesper/openvesper)
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
๐ŸŒ’ OpenVesper โ€บ
## PR #42 โ€” "Add Vercel deployment config"
### โœ“ Looks good
- Workspace install command correctly uses --ignore-scripts
- Output directory matches Next.js convention
### โš  Concerns
- vercel.json should use installCommand not buildCommand
- Missing framework: "nextjs" field
Verdict: ๐ŸŸก Request changes (small)

โฐ Example 3 โ€” Cron-based Daily Summary

# ~/.openvesper/cron.yaml
jobs:
 - name: daily-sol-summary
 schedule: "0 9 * * *" # 09:00 every day
 agent: defi-strategist
 prompt: |
 Daily Solana ecosystem summary:
 - SOL price action vs ETH/BTC
 - Top 3 protocols by 24h TVL change
 - Notable token launches in last 24h
 Send to Telegram chat 123456789. Keep it short.
 channels:
 - telegram:123456789
vesper cron add ./daily-sol-summary.yaml
vesper gateway install-daemon

Now every day at 09:00 you get a Telegram message with the summary.


๐Ÿ” Privacy & Security

OpenVesper is built on three commitments โ€” all enforced in code, not just documented.

1๏ธโƒฃ Zero Data Retention

  • No telemetry. Grep returns zero.
  • No phone-home. Gateway calls only your LLM and tools you trigger.
  • No third-party tracking. No GA, no Sentry, no PostHog.

2๏ธโƒฃ Loopback by Default

  • Gateway binds to 127.0.0.1:18789 only
  • External access requires explicit OPENVESPER_GATEWAY_HOST=0.0.0.0
  • Channels connect outbound to provider APIs โ€” never inbound

3๏ธโƒฃ No Wallet Keys

  • Never asks for seed phrases or private keys
  • Crypto plugins are read-only
  • Custom signing plugin? You handle the keys (use vesper secret)

๐Ÿ›ก File Permissions

  • All workspace files: mode 0600 (owner read/write only)
  • All workspace dirs: mode 0700
  • Verified by vesper doctor health check

๐Ÿ“œ Audit Log

Every tool call is logged to ~/.openvesper/audit/<date>.jsonl:

{"ts":"2026ๅนด05ๆœˆ24ๆ—ฅT11:23:45Z","session":"abc","agent":"bags-hunter","tool":"bagsfm_score_token","input":{"mint":"..."},"approved":true,"result":"success"}

See SECURITY.md for the full security model.


๐Ÿ—‚ Project Structure

openvesper/
โ”‚
โ”œโ”€โ”€ apps/
โ”‚ โ”œโ”€โ”€ cli/ โ† vesper CLI binary
โ”‚ โ”œโ”€โ”€ gateway/ โ† Persistent daemon (127.0.0.1:18789)
โ”‚ โ”œโ”€โ”€ telegram-bot/ โ† Telegram channel adapter
โ”‚ โ”œโ”€โ”€ website/ โ† Next.js docs site (openvesper.com)
โ”‚ โ””โ”€โ”€ vscode-extension/ โ† VSCode integration
โ”‚
โ”œโ”€โ”€ packages/
โ”‚ โ”œโ”€โ”€ core/ โ† Runtime, types, providers, skill loader
โ”‚ โ”œโ”€โ”€ plugin-sdk/ โ† definePlugin / defineTool helpers
โ”‚ โ””โ”€โ”€ plugins/ โ† 52 bundled plugins
โ”‚ โ”œโ”€โ”€ bagsfm/ โ† Bags.fm memecoin tracking
โ”‚ โ”œโ”€โ”€ pumpfun/ โ† Pump.fun analysis
โ”‚ โ”œโ”€โ”€ github/ โ† GitHub API integration
โ”‚ โ”œโ”€โ”€ telegram/ โ† Telegram channel tools
โ”‚ โ”œโ”€โ”€ skill-workshop/ โ† Propose/approve new skills
โ”‚ โ””โ”€โ”€ ... (47 more)
โ”‚
โ”œโ”€โ”€ .agents/ โ† 26 markdown agent personas
โ”œโ”€โ”€ scripts/
โ”‚ โ”œโ”€โ”€ install.sh โ† One-line Unix installer
โ”‚ โ”œโ”€โ”€ install.ps1 โ† Windows PowerShell installer
โ”‚ โ””โ”€โ”€ publish-packages.sh โ† npm publish helper
โ”œโ”€โ”€ test/
โ”‚ โ””โ”€โ”€ integration.test.ts โ† 18 vitest tests
โ”œโ”€โ”€ .github/workflows/
โ”‚ โ”œโ”€โ”€ build.yml โ† CI: build + test on every push
โ”‚ โ””โ”€โ”€ docker.yml โ† Multi-arch GHCR publish
โ”œโ”€โ”€ Dockerfile โ† Multi-stage production image
โ”œโ”€โ”€ docker-compose.yml
โ”œโ”€โ”€ CHANGELOG.md
โ”œโ”€โ”€ VISION.md
โ”œโ”€โ”€ SECURITY.md
โ””โ”€โ”€ README.md โ† You are here

โ“ FAQ

Do I need all 15 LLM provider keys?
No, just one. Anthropic and OpenAI work best for tool-heavy agents. If you want free, use Groq or Gemini.
What does it cost?
The framework is free (MIT). LLM costs vary:
  • Claude Sonnet: ~0ใƒ‰ใƒซ.003 / 1K in + 0ใƒ‰ใƒซ.015 / 1K out (~0ใƒ‰ใƒซ.01โ€“0.05 per query)
  • Groq / Gemini free tier: 0ใƒ‰ใƒซ with rate limits
  • Local Ollama: 0,ใƒ‰ใƒซ runs on your hardware
Can I use it for trading?
The framework is for analysis. Crypto plugins are read-only โ€” they don't sign transactions. You can write your own signing plugin, but key handling is your responsibility.
Does it work offline?
Yes โ€” use Ollama or LM Studio as the provider. Some plugins need internet, but the agent loop runs locally.
How is this different from LangChain?
LangChain is a library you import into your code. OpenVesper is a persistent daemon with channels, scheduling, and approval queues built in. See /docs/comparison for a detailed table.
Will my data go anywhere?
  • Your prompts go to your chosen LLM provider
  • Tool calls go to the APIs they query (Binance, GitHub, etc.)
  • Nothing goes to OpenVesper servers (there are none)
  • Memory is stored locally in ~/.openvesper/
Can I run multiple agents at once?
Yes. The gateway routes per-session, so one user can have multiple parallel agent conversations. Telegram + CLI + Slack can all be active simultaneously.
Windows support?
Yes. PowerShell installer, native vesper.cmd shim, daemon via Task Scheduler. WSL2 also works.
How do I add a new LLM provider?
Implement the LLMProvider interface in packages/core/src/providers/. ~100 lines of code. PR welcome.
Is the workspace encrypted?
Files are mode 0600 (POSIX). For at-rest encryption, use OS keychain (vesper secret) for API keys or full-disk encryption (FileVault / LUKS / BitLocker).

๐Ÿ—บ Roadmap

Status Item Target
โœ… Done Skills v2 multi-source loader v1.16.0
โœ… Done Skill Workshop plugin v1.16.0
โœ… Done Windows + Docker installers v1.16.0
โœ… Done Multi-arch Docker on GHCR v1.16.0
๐Ÿšง In Progress npm publish (@openvesper/cli) v1.17.0
๐ŸŽฏ Planned More chat channels (Matrix, Signal) v1.18.0
๐ŸŽฏ Planned i18n CLI messages (TR, EN, ES, JA) v1.18.0
๐Ÿค” Considering TUI dashboard panels v1.19+
๐Ÿค” Considering Plugin marketplace (opt-in) v2.x
โŒ Won't Do Hosted SaaS โ€”
โŒ Won't Do Built-in wallet signing โ€”
โŒ Won't Do Telemetry / analytics โ€”

๐Ÿค Contributing

PRs welcome. Active areas:

  • More LLM providers (Cohere, AI21, Replicate)
  • More chat channels (Matrix, Signal, IRC)
  • More crypto plugins (Hyperliquid stats, Jito, Eigenlayer)
  • More skills (community-contributed)
  • Better TUI dashboard (more panels)
  • i18n for CLI messages

See CONTRIBUTING.md for setup and conventions.

git clone https://github.com/openvesper/openvesper
cd openvesper
pnpm install --ignore-scripts
pnpm -r build
pnpm test # 18 vitest tests

๐Ÿ“Š Stats


๐Ÿ“„ License

MIT โ€” see LICENSE.

OpenVesper is an independent open-source project. Not affiliated with any chain, exchange, or LLM provider.


Pinned Loading

  1. openvesper openvesper Public

    TypeScript 3

AltStyle ใซใ‚ˆใฃใฆๅค‰ๆ›ใ•ใ‚ŒใŸใƒšใƒผใ‚ธ (->ใ‚ชใƒชใ‚ธใƒŠใƒซ) /