Towards AIblog

Build a Zero-Cost Web Automation Pipeline With OpenRouter, OpenClaw, and MediaUse

Monday, June 8, 2026yooikenView original
Author(s): yooiken Originally published on Towards AI. Build a Zero-Cost Web Automation Pipeline With OpenRouter, OpenClaw, and MediaUse I have become less interested in whether a cheap model can “browse the web” and more interested in whether it can run a boring workflow correctly every morning. That is a different problem. Most low-cost or free LLMs fail at web automation because the model has to do too much at once. It has to understand the goal, inspect the page, decide where to click, recover from layout changes, parse the result, and then write something useful. One weak link ruins the whole run. The workaround is simple: do not ask the free model to operate the browser. Use the free model as the dispatcher. Let MediaUse handle the browser work through site plugins. The model calls semantic commands like “get Hacker News top stories” or “read this Reddit thread.” MediaUse turns those commands into stable browser actions and returns structured JSON. In this article, I will build a daily pipeline that: Uses OpenClaw with OpenRouter’s free openrouter/owl-alpha model as the orchestrator. Uses MediaUse Hacker News skill to find today’s technical stories. Uses MediaUse Reddit skill to collect user reactions. Uses MediaUse ChatGPT skill to turn the research into a Medium draft. Saves the article draft locally. Runs every day around 10:00 AM. The result is a low-cost agent that does not depend on a frontier model for every step. The free model plans and routes. MediaUse performs the web operations. ChatGPT is optional and only used at the end because I want the final writing to be good. If you want the strictest “zero API spend” version, skip the ChatGPT step and ask owl-alpha to write the draft from the collected JSON. If you already have access to ChatGPT through the web UI, the MediaUse ChatGPT skill can use that browser workflow instead of sending paid API calls. Current caveat: OpenRouter lists openrouter/owl-alpha as free during its current availability window, with tool support and a large context window. Free model availability can change, so check the model page before relying on it in production. Why this works better than “LLM, please browse the web” A general browser agent has to reason over pixels and HTML. A site plugin does not. MediaUse skills package website actions into predictable commands. The Hacker News skill has commands like: mediause hackernews get top --limit 20 --jsonmediause hackernews read item --id <item_id> --depth 2 --replies 20 --max-length 2000 --json The Reddit skill has commands like: mediause reddit search posts --query "open source AI agent" --subreddit "LocalLLaMA" --sort relevance --time day --limit 10 --jsonmediause reddit read item --post-id <post_id> --sort top --limit 30 --depth 3 --max-length 3000 --json The LLM does not need to know where the Reddit search box is. It does not need to scroll through nested comments. It just asks for the operation. That is the whole trick. Low-quality models often struggle when the task is open-ended. They do much better when the action space is small, named, and structured. MediaUse gives them that smaller action space. The pipeline Here is the workflow I use: 10:00 AM | vOpenClaw wakes up the workflow | vOpenRouter owl-alpha chooses the plan | vMediaUse Hacker News skill fetches today's top tech stories | vMediaUse Reddit skill searches for matching user reactions | vResearch JSON is normalized into one brief | vMediaUse ChatGPT skill writes a Medium draft | vDraft is saved to ./drafts/YYYY-MM-DD-medium-draft.md Step 1: install and configure MediaUse On Windows, install or update the MediaUse CLI: powershell -C "iwr https://release.mediause.dev/install.ps1 -UseBasicParsing | iex"mediause --version Configure your MediaUse key: mediause manage key <your_mediause_key> --json Install the site plugins: mediause plugin add hackernews --jsonmediause plugin add reddit --jsonmediause plugin add chatgpt --json Bind the accounts: mediause auth list --json # Hacker News supports guest read workflows.mediause use account hackernews:guest --policy balanced --json# Reddit usually works best in visible mode.mediause use account reddit:<account_id> --policy balanced --show --json# ChatGPT needs your account context if you use it for writing.mediause use account chatgpt:<account_id> --policy balanced --jsonmediause auth health --json Step 2: configure OpenClaw to use OpenRouter Owl Alpha Create an OpenRouter API key, then set it in your shell: $env:OPENROUTER_API_KEY = "<your_openrouter_key>" Use openrouter/owl-alpha as the model for the orchestration agent. The exact OpenClaw config shape may differ depending on your version, but the important part is the provider, base URL, and model: provider: openrouterbase_url: https://openrouter.ai/api/v1model: openrouter/owl-alphaapi_key_env: OPENROUTER_API_KEYtemperature: 0.2 You can sanity-check the model directly with OpenRouter’s OpenAI-compatible API: $body = @{ model = "openrouter/owl-alpha" messages = @( @{ role = "user" content = "Return a JSON plan for collecting today's developer news." } ) response_format = @{ type = "json_object" }} | ConvertTo-Json -Depth 10 Invoke-RestMethod ` -Uri "https://openrouter.ai/api/v1/chat/completions" ` -Method Post ` -Headers @{ Authorization = "Bearer $env:OPENROUTER_API_KEY" "Content-Type" = "application/json" } ` -Body $body Step 3: give the agent a narrow prompt The prompt matters. Do not ask the model to be creative with the workflow. Ask it to call a small set of commands and produce a strict output. Use this as the system prompt for the OpenClaw workflow: You are a daily technical research dispatcher. Your job is to collect material for one Medium article draft.Rules:- Use MediaUse commands only for website data collection.- Prefer structured JSON outputs.- Do not browse manually.- Do not invent article facts.- Keep the final research bundle under 12,000 words.- Stop if a site returns a risk prompt, captcha, or account challenge.Workflow:1. Get today's top Hacker News stories.2. Select 3 to 5 stories about projects, developer tools, AI infrastructure, open source, or software engineering.3. Read each selected HN item with comments.4. For each selected story, search Reddit for matching discussion.5. Read the most relevant Reddit thread when available.6. Build a research bundle with: - title - source URL - why it matters - HN discussion summary - Reddit user feedback summary - notable disagreement - possible article angle7. Send the research bundle to ChatGPT through the MediaUse ChatGPT skill to […]