openviber 0.5.1 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +111 -129
- package/dist/cli/index.cjs +18342 -7685
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.js +18580 -7936
- package/dist/cli/index.js.map +1 -1
- package/dist/index.cjs +4918 -7184
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +282 -905
- package/dist/index.d.ts +282 -905
- package/dist/index.js +4906 -7177
- package/dist/index.js.map +1 -1
- package/package.json +23 -10
package/README.md
CHANGED
|
@@ -4,9 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# OpenViber
|
|
6
6
|
|
|
7
|
-
###
|
|
8
|
-
|
|
9
|
-
<!-- SHIELD GROUP -->
|
|
7
|
+
### You Imagine It. Tasks Build It.
|
|
10
8
|
|
|
11
9
|
[![Download][download-shield]][viber-npm]
|
|
12
10
|
[![GitHub Stars][github-star]][viber-github]
|
|
@@ -19,12 +17,12 @@
|
|
|
19
17
|
|
|
20
18
|
---
|
|
21
19
|
|
|
22
|
-
**
|
|
20
|
+
**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.
|
|
23
21
|
|
|
24
22
|
### ⭐ 100% Open Source · 🥇 Local Deployment · 🏆 MCP Integration
|
|
25
23
|
|
|
26
24
|
- ✅ **Zero Setup** — No servers to host, just `npx openviber start`
|
|
27
|
-
- ✅ **
|
|
25
|
+
- ✅ **Task Workforce** — Role-scoped tasks working in parallel
|
|
28
26
|
- ✅ **Human-in-the-Loop** — Enterprise messaging channels (DingTalk, WeCom)
|
|
29
27
|
- ✅ **Privacy First** — 100% local execution, data never leaves your machine
|
|
30
28
|
|
|
@@ -32,115 +30,119 @@
|
|
|
32
30
|
|
|
33
31
|
## 🚀 Quick Start
|
|
34
32
|
|
|
33
|
+
The fastest way to get started is using `npx`:
|
|
34
|
+
|
|
35
35
|
```bash
|
|
36
|
+
# 1. Set your API key (OpenRouter recommended)
|
|
37
|
+
export OPENROUTER_API_KEY="your_api_key_here"
|
|
38
|
+
|
|
39
|
+
# 2. Start OpenViber (Standalone Mode)
|
|
36
40
|
npx openviber start
|
|
37
41
|
```
|
|
38
42
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
```
|
|
44
|
-
~/.openviber/
|
|
45
|
-
├── soul.md # How your agent thinks and communicates
|
|
46
|
-
├── user.md # Who you are and what you're working on
|
|
47
|
-
├── memory.md # What your agent remembers over time
|
|
43
|
+
If you prefer to install it globally:
|
|
44
|
+
```bash
|
|
45
|
+
npm install -g openviber
|
|
46
|
+
viber start
|
|
48
47
|
```
|
|
49
48
|
|
|
50
|
-
|
|
51
|
-
|------|---------|------------------|
|
|
52
|
-
| **soul.md** | Communication style, boundaries, operational rules | Monthly |
|
|
53
|
-
| **user.md** | Current projects, priorities, preferences | Daily/Weekly |
|
|
54
|
-
| **memory.md** | Decisions, learned patterns, corrections | Grows organically |
|
|
55
|
-
|
|
56
|
-
These files work as a system — a detailed personality is useless without user context, and memory without personality produces generic responses. The power comes from alignment between all three.
|
|
57
|
-
|
|
58
|
-
**The skill transfers**: Time invested in configuring these files isn't locked into OpenViber. The pattern is identical across agent platforms, so your configuration travels with you.
|
|
49
|
+
---
|
|
59
50
|
|
|
60
|
-
|
|
51
|
+
## 🛠️ Development Setup
|
|
61
52
|
|
|
62
|
-
|
|
53
|
+
If you want to contribute or run from source:
|
|
63
54
|
|
|
64
|
-
###
|
|
55
|
+
### 1. Prerequisites
|
|
56
|
+
- **Node.js** v18+ and **pnpm** (recommended)
|
|
57
|
+
- **tmux** installed (`brew install tmux` on macOS)
|
|
65
58
|
|
|
66
|
-
|
|
59
|
+
### 2. Installation
|
|
60
|
+
```bash
|
|
61
|
+
git clone https://github.com/dustland/openviber.git
|
|
62
|
+
cd openviber
|
|
63
|
+
pnpm install
|
|
67
64
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
schedule: "0 9 * * 1-5"
|
|
72
|
-
prompt: "Check my GitHub notifications and Slack mentions, summarize what needs my attention"
|
|
73
|
-
model: anthropic/claude-sonnet-4-20250514
|
|
65
|
+
# Configure environment
|
|
66
|
+
cp .env.example .env
|
|
67
|
+
# Add your OPENROUTER_API_KEY to .env
|
|
74
68
|
```
|
|
75
69
|
|
|
76
|
-
###
|
|
77
|
-
|
|
78
|
-
|
|
70
|
+
### 3. Launch full stack
|
|
71
|
+
```bash
|
|
72
|
+
# Starts Gateway + Viber runtime (port 6009) and Web UI (port 6006)
|
|
73
|
+
pnpm dev
|
|
74
|
+
```
|
|
75
|
+
- **Viber Board (Web UI)**: [http://localhost:6006](http://localhost:6006)
|
|
76
|
+
- **Viber Gateway**: [http://localhost:6009](http://localhost:6009)
|
|
79
77
|
|
|
80
|
-
```markdown
|
|
81
|
-
---
|
|
82
|
-
name: git-commit
|
|
83
|
-
description: Stage and commit changes
|
|
84
78
|
---
|
|
85
79
|
|
|
86
|
-
|
|
87
|
-
```
|
|
80
|
+
## 🧵 Interactive Experience
|
|
88
81
|
|
|
89
|
-
|
|
82
|
+
OpenViber provides multiple ways to interact with your vibers, designed for both developers and teams.
|
|
90
83
|
|
|
91
|
-
|
|
84
|
+
### 💻 Terminal Chat (tmux-friendly)
|
|
85
|
+
Use OpenViber from any terminal. It integrates deeply with tmux for streaming output and managing long-running tasks.
|
|
92
86
|
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
command: npx -y @modelcontextprotocol/server-github
|
|
87
|
+
```bash
|
|
88
|
+
# Start an interactive chat
|
|
89
|
+
viber chat
|
|
97
90
|
```
|
|
98
91
|
|
|
99
|
-
###
|
|
100
|
-
|
|
101
|
-
Critical for long-running vibe-working tasks like vibe-coding:
|
|
92
|
+
### 🌐 Viber Board (Web UI)
|
|
93
|
+
A modern, visual interface to manage your tasks, monitor jobs, and chat in real-time. Accessible at `http://localhost:6006` when running `pnpm dev`.
|
|
102
94
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
- **Progressive Autonomy** — Start supervised, gradually increase agent freedom
|
|
106
|
-
- **Context Handoff** — Seamlessly transfer context between human and agent
|
|
95
|
+
### 🏢 Enterprise Channels
|
|
96
|
+
Deploy your tasks to where your team works. Support for **DingTalk** and **WeCom** is built-in.
|
|
107
97
|
|
|
108
|
-
```
|
|
109
|
-
#
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
- delete
|
|
113
|
-
- billing
|
|
98
|
+
```bash
|
|
99
|
+
# Start the enterprise channel server
|
|
100
|
+
# Note: Defaults to port 6009. If running alongside 'viber start' (which also uses 6009), use a different port:
|
|
101
|
+
viber channels --port 6010
|
|
114
102
|
```
|
|
115
103
|
|
|
116
|
-
|
|
104
|
+
---
|
|
117
105
|
|
|
118
|
-
|
|
106
|
+
## 🧠 Personalization (The Three-File Pattern)
|
|
119
107
|
|
|
120
|
-
|
|
121
|
-
openviber start --channel dingtalk --token YOUR_TOKEN
|
|
122
|
-
openviber start --channel wecom --corpid YOUR_CORP
|
|
123
|
-
```
|
|
108
|
+
OpenViber follows a standardized configuration pattern for AI personality. Three markdown files define your task's complete behavior:
|
|
124
109
|
|
|
125
|
-
|
|
110
|
+
| File | Scope | Purpose | Update Frequency |
|
|
111
|
+
|------|-------|---------|------------------|
|
|
112
|
+
| **`user.md`** | Shared | Who you are, current projects, priorities | Daily/Weekly |
|
|
113
|
+
| **`soul.md`** | Per-task | Communication style, boundaries, rules | Monthly |
|
|
114
|
+
| **`memory.md`** | Per-task | Decisions, learned patterns, corrections | Grows organically |
|
|
126
115
|
|
|
127
|
-
|
|
116
|
+
Location: `~/.openviber/vibers/default/`
|
|
128
117
|
|
|
129
|
-
|
|
118
|
+
---
|
|
130
119
|
|
|
131
|
-
|
|
120
|
+
## ✨ Key Features
|
|
132
121
|
|
|
122
|
+
### 🤖 Task Workforce (Jobs)
|
|
123
|
+
Deploy autonomous workers via simple YAML cron jobs.
|
|
133
124
|
```yaml
|
|
134
|
-
# examples/jobs/
|
|
135
|
-
name:
|
|
136
|
-
schedule: "
|
|
137
|
-
|
|
138
|
-
|
|
125
|
+
# examples/jobs/morning-standup.yaml
|
|
126
|
+
name: morning-standup
|
|
127
|
+
schedule: "0 9 * * 1-5" # Every weekday at 9 AM
|
|
128
|
+
prompt: "Check GitHub notifications, summarize what needs my attention."
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### 🔧 Zero Configuration Skills
|
|
132
|
+
Capabilities are defined in `SKILL.md` files. No complex code required to extend your tasks.
|
|
133
|
+
```markdown
|
|
134
|
+
---
|
|
135
|
+
name: git-commit
|
|
136
|
+
description: Stage and commit changes
|
|
137
|
+
---
|
|
138
|
+
git add . && git commit -m "$message"
|
|
139
139
|
```
|
|
140
140
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
141
|
+
### 🌐 Model Context Protocol (MCP)
|
|
142
|
+
Seamlessly connect to any MCP server to give your tasks access to external tools like Google Maps, Slack, or custom internal APIs.
|
|
143
|
+
|
|
144
|
+
### 👤 Human-in-the-Loop
|
|
145
|
+
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).
|
|
144
146
|
|
|
145
147
|
---
|
|
146
148
|
|
|
@@ -148,73 +150,54 @@ prompt: "Check Antigravity IDE status and auto-recover if errors found"
|
|
|
148
150
|
|
|
149
151
|
```
|
|
150
152
|
┌─────────────────────────────────────────────────┐
|
|
151
|
-
│
|
|
153
|
+
│ Viber │
|
|
152
154
|
│ │
|
|
153
|
-
│
|
|
154
|
-
│ │
|
|
155
|
-
│
|
|
156
|
-
│
|
|
155
|
+
│ ┌────────────────────────────────────────────┐ │
|
|
156
|
+
│ │ dev-task │ researcher-task │ pm-task │ │
|
|
157
|
+
│ └────────────────────────────────────────────┘ │
|
|
158
|
+
│ │ │
|
|
159
|
+
│ ┌────┴─────────────────────┐ │
|
|
160
|
+
│ │ Gateway (REST + WS) │ │
|
|
161
|
+
│ │ Scheduler + Dispatcher │ │
|
|
162
|
+
│ └──────────────────────────┘ │
|
|
157
163
|
│ │ │
|
|
158
164
|
│ ┌────┴─────────────────────┐ │
|
|
159
|
-
│ │
|
|
160
|
-
│ │
|
|
165
|
+
│ │ Worker (Agent Engine) │ │
|
|
166
|
+
│ │ Tools + Skills + MCP │ │
|
|
161
167
|
│ └──────────────────────────┘ │
|
|
162
168
|
│ │ │
|
|
163
169
|
│ ┌────┴─────────────────────┐ │
|
|
164
170
|
│ │ Channels │ │
|
|
165
|
-
│ │
|
|
171
|
+
│ │ Board │ DingTalk │ CLI │ │
|
|
166
172
|
│ └──────────────────────────┘ │
|
|
167
173
|
└─────────────────────────────────────────────────┘
|
|
168
174
|
↓ ↓
|
|
169
175
|
Outbound Only Local Execution
|
|
170
176
|
```
|
|
171
177
|
|
|
172
|
-
## 📦 Three Pillars
|
|
173
|
-
|
|
174
|
-
| Component | What | Where |
|
|
175
|
-
| ---------- | --------------------------- | ---------------- |
|
|
176
|
-
| **Jobs** | Scheduled tasks (YAML cron) | `examples/jobs/` |
|
|
177
|
-
| **Skills** | Capabilities (SKILL.md) | `skills/` |
|
|
178
|
-
| **Tools** | Low-level primitives | `src/tools/` |
|
|
179
|
-
|
|
180
178
|
## 📊 Comparison
|
|
181
179
|
|
|
182
|
-
|
|
|
183
|
-
|
|
|
184
|
-
| Deployment |
|
|
185
|
-
|
|
|
186
|
-
| Jobs
|
|
187
|
-
| Privacy
|
|
188
|
-
| Channels
|
|
180
|
+
| Feature | OpenViber | Cloud Agents | IDE Plugins |
|
|
181
|
+
| :--- | :---: | :---: | :---: |
|
|
182
|
+
| **Deployment** | Local Viber | Cloud Server | Editor Only |
|
|
183
|
+
| **Connectivity** | Outbound | Inbound/Cloud | None |
|
|
184
|
+
| **Autonomy** | Full (Jobs/Cron) | Managed | Manual Trigger |
|
|
185
|
+
| **Privacy** | 100% Local | Data Leaves | Limited |
|
|
186
|
+
| **Channels** | Multi-channel | Web only | Chat only |
|
|
189
187
|
|
|
190
188
|
---
|
|
191
189
|
|
|
192
190
|
## 🤝 Contributing
|
|
193
191
|
|
|
194
|
-
We welcome contributions!
|
|
195
|
-
|
|
196
|
-
## 📄 License
|
|
197
|
-
|
|
198
|
-
This project is licensed under the [Apache License 2.0](./LICENSE).
|
|
199
|
-
|
|
200
|
-
```
|
|
201
|
-
Copyright 2024-2026 Dustland
|
|
202
|
-
|
|
203
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
204
|
-
you may not use this file except in compliance with the License.
|
|
205
|
-
You may obtain a copy of the License at
|
|
192
|
+
We welcome contributions! See [CONTRIBUTING.md](./CONTRIBUTING.md) for details.
|
|
206
193
|
|
|
207
|
-
|
|
208
|
-
```
|
|
194
|
+
## Thanks
|
|
209
195
|
|
|
210
|
-
|
|
196
|
+
Special thanks to the maintainers and contributors of [awesome-openclaw-skills][awesome-openclaw-skills] for curating a high-quality OpenClaw skill catalog that helps power skill discovery in OpenViber.
|
|
211
197
|
|
|
212
|
-
|
|
198
|
+
## 📄 License
|
|
213
199
|
|
|
214
|
-
|
|
215
|
-
- [Model Context Protocol](https://modelcontextprotocol.io) — Standardized tool integration
|
|
216
|
-
- [Croner](https://github.com/hexagon/croner) — Lightweight cron scheduling
|
|
217
|
-
- [Zod](https://zod.dev) — TypeScript-first schema validation
|
|
200
|
+
Licensed under the [Apache License 2.0](./LICENSE).
|
|
218
201
|
|
|
219
202
|
---
|
|
220
203
|
|
|
@@ -229,17 +212,16 @@ If you find Viber helpful, please ⭐ star us on GitHub!
|
|
|
229
212
|
</div>
|
|
230
213
|
|
|
231
214
|
<!-- LINKS -->
|
|
232
|
-
|
|
233
215
|
[viber-site]: https://viber.dustland.ai
|
|
234
|
-
[viber-github]: https://github.com/dustland/
|
|
216
|
+
[viber-github]: https://github.com/dustland/openviber
|
|
235
217
|
[viber-npm]: https://www.npmjs.com/package/openviber
|
|
236
218
|
[docs-site]: https://viber.dustland.ai/docs
|
|
237
|
-
[github-issues]: https://github.com/dustland/
|
|
238
|
-
[license-link]: https://github.com/dustland/
|
|
219
|
+
[github-issues]: https://github.com/dustland/openviber/issues
|
|
220
|
+
[license-link]: https://github.com/dustland/openviber/blob/main/LICENSE
|
|
221
|
+
[awesome-openclaw-skills]: https://github.com/VoltAgent/awesome-openclaw-skills
|
|
239
222
|
|
|
240
223
|
<!-- SHIELDS -->
|
|
241
|
-
|
|
242
224
|
[download-shield]: https://img.shields.io/badge/Download-Viber-blue?style=flat-square
|
|
243
|
-
[github-star]: https://img.shields.io/github/stars/dustland/
|
|
225
|
+
[github-star]: https://img.shields.io/github/stars/dustland/openviber?style=flat-square&logo=github
|
|
244
226
|
[npm-shield]: https://img.shields.io/npm/v/openviber?style=flat-square&logo=npm
|
|
245
|
-
[license-shield]: https://img.shields.io/badge/License-Apache%202.0-green?style=flat-square
|
|
227
|
+
[license-shield]: https://img.shields.io/badge/License-Apache%202.0-green?style=flat-square
|