OpenViber is an open-source platform that turns your machine into a Viber — hosting role-scoped AI workers called tasks that automate real work. Unlike cloud-based agent frameworks, OpenViber runs locally with full privacy, connects outbound to your enterprise channels, and works autonomously while you sleep.
- ✅ Zero Setup — No servers to host, just
npx openviber start - ✅ Task Workforce — Role-scoped tasks working in parallel
- ✅ Human-in-the-Loop — Enterprise messaging channels (DingTalk, WeCom)
- ✅ Privacy First — 100% local execution, data never leaves your machine
The fastest way to get started is using npx:
# 1. Set your API key (OpenRouter recommended)
export OPENROUTER_API_KEY="your_api_key_here"
# 2. Start OpenViber (Standalone Mode)
npx openviber startIf you prefer to install it globally:
npm install -g openviber
viber startIf you want to contribute or run from source:
- Node.js v18+ and pnpm (recommended)
- tmux installed (
brew install tmuxon macOS)
git clone https://github.com/dustland/openviber.git
cd openviber
pnpm install
# Configure environment
cp .env.example .env
# Add your OPENROUTER_API_KEY to .env# Starts Gateway + Viber runtime (port 6009) and Web UI (port 6006)
pnpm dev- Viber Board (Web UI): http://localhost:6006
- Viber Gateway: http://localhost:6009
OpenViber provides multiple ways to interact with your vibers, designed for both developers and teams.
Use OpenViber from any terminal. It integrates deeply with tmux for streaming output and managing long-running tasks.
# Start an interactive chat
viber chatA modern, visual interface to manage your tasks, monitor jobs, and chat in real-time. Accessible at http://localhost:6006 when running pnpm dev.
Deploy your tasks to where your team works. Support for DingTalk and WeCom is built-in.
# Start the enterprise channel server
# Note: Defaults to port 6009. If running alongside 'viber start' (which also uses 6009), use a different port:
viber channels --port 6010OpenViber follows a standardized configuration pattern for AI personality. Three markdown files define your task's complete behavior:
| File | Scope | Purpose | Update Frequency |
|---|---|---|---|
user.md |
Shared | Who you are, current projects, priorities | Daily/Weekly |
soul.md |
Per-task | Communication style, boundaries, rules | Monthly |
memory.md |
Per-task | Decisions, learned patterns, corrections | Grows organically |
Location: ~/.openviber/vibers/default/
Deploy autonomous workers via simple YAML cron jobs.
# examples/jobs/morning-standup.yaml
name: morning-standup
schedule: "0 9 * * 1-5" # Every weekday at 9 AM
prompt: "Check GitHub notifications, summarize what needs my attention."Capabilities are defined in SKILL.md files. No complex code required to extend your tasks.
---
name: git-commit
description: Stage and commit changes
---
git add . && git commit -m "$message"Seamlessly connect to any MCP server to give your tasks access to external tools like Google Maps, Slack, or custom internal APIs.
Maintain control with approval gates. Tasks can be configured to pause and ask for permission before executing sensitive actions (e.g., deleting files, making payments).
┌─────────────────────────────────────────────────┐
│ Viber │
│ │
│ ┌────────────────────────────────────────────┐ │
│ │ dev-task │ researcher-task │ pm-task │ │
│ └────────────────────────────────────────────┘ │
│ │ │
│ ┌────┴─────────────────────┐ │
│ │ Gateway (REST + WS) │ │
│ │ Scheduler + Dispatcher │ │
│ └──────────────────────────┘ │
│ │ │
│ ┌────┴─────────────────────┐ │
│ │ Worker (Agent Engine) │ │
│ │ Tools + Skills + MCP │ │
│ └──────────────────────────┘ │
│ │ │
│ ┌────┴─────────────────────┐ │
│ │ Channels │ │
│ │ Board │ DingTalk │ CLI │ │
│ └──────────────────────────┘ │
└─────────────────────────────────────────────────┘
↓ ↓
Outbound Only Local Execution
| Feature | OpenViber | Cloud Agents | IDE Plugins |
|---|---|---|---|
| Deployment | Local Viber | Cloud Server | Editor Only |
| Connectivity | Outbound | Inbound/Cloud | None |
| Autonomy | Full (Jobs/Cron) | Managed | Manual Trigger |
| Privacy | 100% Local | Data Leaves | Limited |
| Channels | Multi-channel | Web only | Chat only |
We welcome contributions! See CONTRIBUTING.md for details.
Special thanks to the maintainers and contributors of awesome-openclaw-skills for curating a high-quality OpenClaw skill catalog that helps power skill discovery in OpenViber.
Licensed under the Apache License 2.0.
Website · Documentation · Issues
Made with ❤️ by Dustland
If you find Viber helpful, please ⭐ star us on GitHub!