OpenMonitor
A vendor-neutral, durable web monitoring agent that runs on a schedule, filters search results against custom criteria, and delivers alerts via Slack or webhook.
At a Glance
Self-hosted, open-source agent — free to deploy on your own OpenComputer account with your own search API keys.
Engagement
Available On
Listed Sep 2026
About OpenMonitor
OpenMonitor is a durable web monitoring agent built by diggerhq and deployed on the OpenComputer serverless agent platform. It runs scheduled searches across any of 13 supported search APIs, filters results against user-defined criteria sentences, and delivers notifications to Slack or a webhook endpoint. The project is open source on GitHub and written in TypeScript with no proprietary framework dependencies.
What It Is
OpenMonitor is a self-hosted, vendor-neutral alternative to managed web monitoring services like Exa Monitors or Parallel Monitor. Instead of locking you into a single search provider, it accepts whichever search API key you already have — Exa, Parallel, Tavily, Brave, Serper, Firecrawl, Jina, Perplexity, Linkup, You.com, Kagi, Valyu, or Monid — and only that one key is required at runtime. The agent runs as a serverless session on OpenComputer, meaning every scheduled refresh is a durable, inspectable session visible in the OpenComputer dashboard.
How It Works
The core loop is a plain TypeScript function (agent.ts) that, on each step, selects a model and three tools: list_watches, search_watch, and deliver. The managed harness runs the loop. On a daily schedule (09:00 UTC by default), the agent walks every configured watch, queries the selected provider with a date-bounded lookback, applies the optional criteria filter, and delivers results. Key architectural properties include:
- Durable sessions: Each run survives restarts; state is managed by the OpenComputer platform.
- Secret injection at the edge: Provider API keys are never visible to the agent process or its prompt — they are injected at the outbound network edge.
- Stable item IDs: Each result item gets a stable ID per watch and URL, enabling deduplication across runs without a database.
- Idempotent Slack delivery: Results are published through an outbox with retries; the stable ID doubles as an idempotency key so re-runs never double-post.
Configuring Watches
Watches are defined in opencomputer/agents/monitor/watches.ts. Each watch is a query string plus an optional criteria sentence. When criteria is provided, the agent reads every result against it and drops non-matching items; without criteria, all new results are delivered. The schedule and lookback window are set together in schedules/refresh.ts.
Deployment and Setup Path
OpenMonitor offers two deployment paths:
- One-click via OpenComputer template: A deploy button links directly to the OpenComputer template UI, where you set
SEARCH_PROVIDERand the corresponding API key secret. - CLI from a clone:
git clone,npm install,opencomputer login, set the provider env var and secret, thennpm run deploy.
The homepage also provides a 389-word prompt designed to be pasted into a coding agent (Claude Code, Codex, Grok, OpenCode) that automates the entire setup — installing the CLI, cloning the repo, configuring secrets, editing watches, deploying, and walking through Slack app creation.
Slack integration is per-environment (development and production) and is managed via a scripts/slack.sh helper that generates a Slack app manifest, guides through app creation at api.slack.com, and binds the bot to a specific channel.
Extensibility and Provider Switching
Switching search providers is two commands: set the new provider secret and update the SEARCH_PROVIDER environment variable. Adding a new provider means copying an existing provider module, implementing the single search(query, { since, limit }) interface, and registering it in providers/index.ts. The README notes that SerpApi and Google Custom Search are explicitly excluded because they require the API key as a query parameter, which is incompatible with the platform's header-only secret injection model.
Current Status
The repository was created on 2026-09-05 and last updated the same day, indicating a very recent initial release. The project has no license specified in the repository, one open issue, and one fork at the time of indexing.
Community Discussions
Be the first to start a conversation about OpenMonitor
Share your experience with OpenMonitor, ask questions, or help others learn from your insights.
Pricing
Open Source
Self-hosted, open-source agent — free to deploy on your own OpenComputer account with your own search API keys.
- All 13 search provider integrations
- Scheduled daily web monitoring
- Slack and webhook delivery
- Durable sessions on OpenComputer
- Full source code access on GitHub
Capabilities
Key Features
- Vendor-neutral: supports 13 search providers (Exa, Parallel, Tavily, Brave, Serper, Firecrawl, Jina, Perplexity, Linkup, You.com, Kagi, Valyu, Monid)
- Only one search API key required at runtime
- API keys never enter the agent runtime — injected at outbound edge
- Scheduled daily web searches with configurable cron and lookback window
- Per-watch criteria filtering: drops results that don't match a user-written sentence
- Slack delivery with idempotent outbox (no double-posting on re-runs)
- Webhook delivery (one POST per watch with new results)
- Stable item IDs for deduplication across runs without a database
- Durable sessions: every refresh is inspectable in the OpenComputer dashboard
- One-click deploy via OpenComputer template
- CLI-based deployment from a cloned repo
- Coding-agent setup prompt for fully automated installation
- Per-environment Slack connections (development and production)
- Extensible provider interface: add a new provider by implementing one function
- No framework dependencies — plain TypeScript
