ohwow 0.1.8 → 0.1.10

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 CHANGED
@@ -1,6 +1,8 @@
1
1
  # ohwow
2
2
 
3
- A local AI agent runtime. Free to use with [Ollama](https://ollama.com) for local models. Enterprise features (cloud dashboard sync, WhatsApp, Telegram, scheduling, proactive engine) unlock with an [ohwow.fun](https://ohwow.fun) subscription.
3
+ Send me a message for support at ogsus@ohwow.fun
4
+
5
+ A local AI agent runtime. Free to use with [Ollama](https://ollama.com) for local models. Enterprise features (cloud dashboard sync, WhatsApp, Telegram, scheduling, proactive engine, automations, voice) unlock with an [ohwow.fun](https://ohwow.fun) subscription.
4
6
 
5
7
  ## Getting Started
6
8
 
@@ -24,28 +26,63 @@ npm install ohwow -g
24
26
  ohwow
25
27
  ```
26
28
 
27
- On first launch, a setup wizard appears in your terminal. For the free tier, just point it at your Ollama instance. For enterprise features, enter your license key (from the ohwow.fun dashboard, under Settings > License) and your Anthropic API key. These are saved locally so you only do this once.
29
+ ## First Launch
30
+
31
+ A setup wizard appears in your terminal. For the free tier, just point it at your Ollama instance. For enterprise features, enter your license key (from the ohwow.fun dashboard, under Settings > License) and your Anthropic API key.
28
32
 
29
- After setup, the runtime opens into a TUI (terminal UI) with tabs for your dashboard, agents, tasks, approvals, activity, schedules, plans, and a chat interface. Use arrow keys or tab to navigate. Everything you see in the web dashboard is also here, running locally.
33
+ Config is saved to `~/.ohwow/config.json`. You only do this once.
30
34
 
31
- ### What Happens at Startup
35
+ ## What Happens at Startup
32
36
 
33
37
  Once configured, the runtime:
34
38
 
35
- 1. Initializes a local database
36
- 2. Connects to ohwow.fun and syncs your agent configurations
37
- 3. Starts the orchestrator, scheduler, and proactive engine
38
- 4. Connects messaging channels (WhatsApp, Telegram) if you've set them up
39
- 5. Launches a local web UI
40
- 6. Begins polling for tasks dispatched from the dashboard
39
+ 1. Loads config from `~/.ohwow/config.json`
40
+ 2. Spawns the daemon process
41
+ 3. Initializes the local SQLite database
42
+ 4. Starts the execution engine, orchestrator, and model router
43
+ 5. Connects messaging channels (WhatsApp, Telegram) if configured
44
+ 6. Starts the scheduler, proactive engine, and trigger evaluator
45
+ 7. Launches the HTTP server (default port 7700)
46
+ 8. Connects to the ohwow.fun control plane (enterprise)
47
+ 9. Opens a WebSocket for real-time updates
48
+
49
+ From here, agents execute tasks on your hardware using your own API keys. The dashboard sends the work, your machine does the thinking.
50
+
51
+ ## CLI Commands
52
+
53
+ | Command | What it does |
54
+ |---|---|
55
+ | `ohwow` | Start the TUI (default) |
56
+ | `ohwow --daemon` | Start daemon in foreground (for systemd/launchd/Docker) |
57
+ | `ohwow stop` | Stop the daemon |
58
+ | `ohwow status` | Check daemon status (PID and port) |
59
+ | `ohwow logs` | Tail daemon logs |
60
+ | `ohwow restart` | Restart the daemon |
61
+
62
+ ## TUI
63
+
64
+ The terminal UI opens into a chat interface with tab navigation. Use arrow keys or tab to switch between:
41
65
 
42
- From here, agents execute tasks on your hardware using your own API key. The dashboard sends the work, your machine does the thinking.
66
+ - **Dashboard** overview of your workspace
67
+ - **Agents** — manage agent configs, memory, and capabilities
68
+ - **Tasks** — view and manage running/completed tasks
69
+ - **Approvals** — review pending items before execution (enterprise)
70
+ - **Activity** — live feed of everything happening
71
+ - **Automations** — webhook-based automation triggers (enterprise)
72
+ - **Contacts** — CRM with leads, customers, partners
73
+ - **Settings** — config, connections, license
43
74
 
44
- ## Using the Orchestrator
75
+ Everything you see in the web dashboard is also here, running locally.
45
76
 
46
- The orchestrator is a conversational assistant built into the runtime with 40+ tools. Open the Chat tab in the TUI, or use the web UI from your browser.
77
+ ## Web UI
78
+
79
+ The runtime serves a built-in React app at `http://localhost:7700`. Same capabilities as the TUI. Useful if you prefer a graphical interface or want to share access with your team on the local network. Override the port with the `OHWOW_PORT` env var.
80
+
81
+ ## Orchestrator
82
+
83
+ The orchestrator is a conversational assistant built into the runtime with 40+ tools. Open the Chat tab in the TUI, or use the web UI.
47
84
 
48
- You can talk to it naturally. Some examples of what it can do:
85
+ You can talk to it naturally:
49
86
 
50
87
  | What you say | What happens |
51
88
  |---|---|
@@ -64,7 +101,7 @@ The orchestrator covers: agents, tasks, projects, CRM (contacts, pipeline, event
64
101
 
65
102
  ### Agent Memory
66
103
 
67
- After each task, key facts, skills, and feedback are extracted and stored locally. These memories are compiled into the agent's context on future tasks. Agents improve the more they work. You can view any agent's memory from the Agents tab.
104
+ After each task, key facts, skills, and feedback are extracted and stored locally. Memories are periodically consolidated to keep context sharp. On future tasks, relevant memories are retrieved via RAG and compiled into the agent's context. Agents improve the more they work. View any agent's memory from the Agents tab.
68
105
 
69
106
  ### Browser Automation
70
107
 
@@ -74,42 +111,68 @@ Agents can browse the web using Playwright. Navigation, clicking, form filling,
74
111
 
75
112
  Connect WhatsApp through a QR code scan in Settings (no Meta business API needed). Connect Telegram with a bot token. Once connected, incoming messages route to the orchestrator automatically. Your agents can reply, take action, or flag things for your attention. You control which chats are allowed.
76
113
 
77
- ### Agent-to-Agent (A2A)
114
+ ### Voice
78
115
 
79
- Connect to external agents using the A2A protocol. Each agent publishes a card describing its capabilities. You set trust levels to control what external agents can do. Managed from the A2A tab or through the orchestrator.
116
+ Full voice pipeline with local and cloud options:
80
117
 
81
- ### Scheduling
118
+ - **Speech-to-Text**: Voicebox (Whisper via local FastAPI server), WhisperLocal (via Ollama), or WhisperAPI (OpenAI cloud fallback)
119
+ - **Text-to-Speech**: VoiceboxTTS (local), Piper (local), or OpenAI TTS (cloud fallback)
82
120
 
83
- Set agents or workflows to run on cron schedules. Create schedules through conversation ("schedule the analyst every Monday at 8am") or from the Schedules tab. Toggle them on and off as needed.
121
+ ### A2A Protocol
84
122
 
85
- ### Goal Planning
123
+ Connect to external agents using the [A2A protocol](https://google.github.io/A2A/) over JSON-RPC 2.0. Each agent publishes a card at `/.well-known/agent-card.json` describing its capabilities. Trust levels (`read_only`, `execute`, `autonomous`, `admin`) control what external agents can do. Scopes cover tasks, agents, results, and file access. Managed from the A2A tab or through the orchestrator.
86
124
 
87
- For complex goals, the orchestrator can break them into multi-step plans with agent assignments and dependencies. Plans start as drafts. You review the steps, approve or reject, and track execution from the Plans tab.
125
+ ### Scheduling and Proactive Engine
88
126
 
89
- ### Approval Workflows
127
+ Set agents or workflows to run on cron schedules. Create schedules through conversation ("schedule the analyst every Monday at 8am") or from the Schedules tab.
90
128
 
91
- Some tasks pause for your sign-off before executing. The Approvals tab shows pending items. Approve to proceed, or reject with feedback. Rejected tasks can retry with your notes included.
129
+ The proactive engine runs every 30 minutes and checks for overdue tasks, aging approvals, and idle agents. It generates nudges (suggestions, not auto-executions) so nothing falls through the cracks.
130
+
131
+ ### Goal Planning and Approvals
132
+
133
+ For complex goals, the orchestrator breaks them into multi-step plans with agent assignments and dependencies. Plans start as drafts. You review the steps, approve or reject, and track execution from the Plans tab. Rejected tasks can retry with your feedback included.
92
134
 
93
135
  ### Projects and CRM
94
136
 
95
137
  Organize tasks into projects with Kanban boards (backlog, todo, in progress, review, done). The built-in CRM tracks contacts (leads, customers, partners), logs events (calls, emails, meetings), and gives you pipeline analytics. All stored locally.
96
138
 
97
- ### Local Models with Ollama
139
+ ### Automations and Triggers
140
+
141
+ Webhook-based automations that fire on external events. Configure field mapping to extract data from incoming payloads and route it to agents or workflows. Managed from the Automations tab (enterprise).
98
142
 
99
- If you run [Ollama](https://ollama.com) locally, the runtime can route lightweight tasks to your local model instead of Claude. Complex work still goes to Claude. If Ollama goes down, everything falls back automatically.
143
+ ### Workflows
144
+
145
+ DAG-based multi-agent execution graphs. Define sequences of agent tasks with conditions and branches. Workflows can be triggered manually, on a schedule, or via automation triggers.
146
+
147
+ ### MCP Servers
148
+
149
+ Integrate external tools via the [Model Context Protocol](https://modelcontextprotocol.io/). Supports stdio (subprocess) and HTTP (Streamable HTTP) transports. Authentication via OAuth 2.1, bearer tokens, or API keys. MCP tools are auto-adapted to the Anthropic SDK format and can be assigned per-agent or globally.
150
+
151
+ ### Code Sandbox
152
+
153
+ Agents can execute JavaScript in an isolated sandbox (Node.js `vm` module). No filesystem, network, or process access. 5-second default timeout, 30-second maximum. Safe globals only (Math, JSON, Date, Array, Object, Map, Set, etc.).
100
154
 
101
155
  ### Web Search
102
156
 
103
157
  Agents with web search enabled can search the web during task execution, powered by Anthropic's built-in search tool.
104
158
 
159
+ ### Local Models with Ollama
160
+
161
+ If you run [Ollama](https://ollama.com) locally, the runtime routes lightweight tasks (orchestration, memory extraction) to your local model instead of Claude. The model catalog includes 25+ models across 5 memory tiers with device-aware recommendations. Complex work (planning, agent tasks, browser automation) still goes to Claude. If Ollama goes down, everything falls back to Anthropic automatically.
162
+
105
163
  ### Offline Mode
106
164
 
107
165
  If ohwow.fun becomes unreachable, the runtime continues with cached agent configs. Tasks still execute, results still store locally. When connectivity returns, everything syncs back up.
108
166
 
109
- ## What Stays Local
167
+ ## Enterprise Mode
110
168
 
111
- The runtime syncs agent configurations from ohwow.fun and reports back only operational metadata: task titles, status, token counts, and costs. Everything else stays on your machine:
169
+ Enterprise mode keeps your business data on your infrastructure while syncing operational metadata to the cloud dashboard.
112
170
 
171
+ **What syncs to the cloud:**
172
+ - Agent configurations (pulled from the dashboard)
173
+ - Task metadata: titles, status, token counts, costs
174
+
175
+ **What stays local:**
113
176
  - Prompts and system instructions
114
177
  - Agent outputs and full conversations
115
178
  - Long-term agent memory
@@ -117,29 +180,38 @@ The runtime syncs agent configurations from ohwow.fun and reports back only oper
117
180
  - WhatsApp and Telegram message history
118
181
  - Browser session data and screenshots
119
182
 
120
- This is the core of the Enterprise plan. Your business data never leaves your infrastructure.
121
-
122
- ## Web UI
183
+ **How it works:**
123
184
 
124
- The runtime also serves a web UI accessible from any browser on your network. Same capabilities as the TUI. Useful if you prefer a graphical interface or want to share access with your team locally.
185
+ Activate with a license key from the ohwow.fun dashboard (Settings > License). The runtime connects to the control plane via long-polling, receives task dispatches, and sends back status updates. Heartbeats confirm the device is online. Each license is locked to a single device. The cloud dashboard gives you a web interface for managing agents, reviewing tasks, and monitoring your workspace without touching the terminal.
125
186
 
126
- ## Headless Mode
187
+ ## Headless / Daemon Mode
127
188
 
128
- For servers, containers, or always-on deployments where you don't need a terminal interface:
189
+ For servers, containers, or always-on deployments:
129
190
 
130
191
  ```bash
131
- ohwow --headless
192
+ ohwow --daemon
132
193
  ```
133
194
 
134
- In headless mode, configure through environment variables. The web UI still runs normally. See the [configuration docs](https://ohwow.fun/docs/runtime/configuration) for available options.
195
+ Runs the daemon in the foreground (no TUI). Suitable for systemd, launchd, or Docker. Set `OHWOW_HEADLESS=1` as an alternative. The web UI still runs normally. Configure through environment variables.
196
+
197
+ ## Configuration
198
+
199
+ Config lives at `~/.ohwow/config.json`. Key environment variables:
200
+
201
+ | Variable | Purpose |
202
+ |---|---|
203
+ | `OHWOW_PORT` | HTTP server port (default 7700) |
204
+ | `OHWOW_HEADLESS` | Set to `1` for headless mode |
205
+ | `OHWOW_BROWSER_HEADLESS` | Set to `false` to show the browser |
206
+ | `ANTHROPIC_API_KEY` | Anthropic API key for Claude models |
135
207
 
136
208
  ## Supported Models
137
209
 
138
210
  | Model | Provider |
139
- |-------|----------|
211
+ |---|---|
140
212
  | Claude Opus 4.6 | Anthropic |
141
- | Claude Sonnet 4.5 | Anthropic |
142
- | Claude Haiku 4 | Anthropic |
213
+ | Claude Sonnet 4.6 | Anthropic |
214
+ | Claude Haiku 4.5 | Anthropic |
143
215
  | Any Ollama model | Local |
144
216
 
145
217
  ## License