← All skills
Tencent SkillHub · Data Analysis

umami-setup

Add Umami self-hosted analytics to any website with adblocker-proof proxy. Covers: creating the website in Umami, setting up a same-domain proxy (Next.js, As...

skill openclawclawhub Free
0 Downloads
0 Stars
0 Installs
0 Score
High Signal

Add Umami self-hosted analytics to any website with adblocker-proof proxy. Covers: creating the website in Umami, setting up a same-domain proxy (Next.js, As...

⬇ 0 downloads ★ 0 stars Unverified but indexed

Install for OpenClaw

Quick setup
  1. Download the package from Yavira.
  2. Extract the archive and review SKILL.md first.
  3. Import or place the package into your OpenClaw setup.

Requirements

Target platform
OpenClaw
Install method
Manual import
Extraction
Extract archive
Prerequisites
OpenClaw
Primary doc
SKILL.md

Package facts

Download mode
Yavira redirect
Package format
ZIP package
Source platform
Tencent SkillHub
What's included
SKILL.md

Validation

  • Use the Yavira download entry.
  • Review SKILL.md after the package is downloaded.
  • Confirm the extracted package contains the expected setup assets.

Install with your agent

Agent handoff

Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.

  1. Download the package from Yavira.
  2. Extract it into a folder your agent can access.
  3. Paste one of the prompts below and point your agent at the extracted folder.
New install

I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.

Upgrade existing

I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.

Trust & source

Release facts

Source
Tencent SkillHub
Verification
Indexed source record
Version
1.0.0

Documentation

ClawHub primary doc Primary doc: SKILL.md 12 sections Open source page

Overview

Self-hosted Umami analytics with a same-domain proxy to bypass adblockers. The script is served from the same domain as your site, so blockers see it as first-party.

Prerequisites

A running Umami instance (self-hosted, e.g. analytics.casys.ai) Admin credentials for Umami Access to the website's codebase for proxy configuration

Step 1: Create the website in Umami

# Login TOKEN=$(curl -s -X POST "https://<UMAMI_HOST>/api/auth/login" \ -H "Content-Type: application/json" \ -d '{"username":"admin","password":"<PASSWORD>"}' \ | python3 -c "import json,sys; print(json.load(sys.stdin)['token'])") # Create website curl -s -X POST "https://<UMAMI_HOST>/api/websites" \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"name":"<SITE_NAME>","domain":"<DOMAIN>"}' | python3 -m json.tool Save the id from the response — that's your data-website-id.

Step 2: Set up the proxy

The proxy serves the Umami script and send endpoint from your own domain. Adblockers can't distinguish it from your own assets. Pick the method matching your stack:

Next.js (rewrites in next.config.ts)

// next.config.ts const nextConfig: NextConfig = { async rewrites() { return [ { source: "/u/script.js", destination: "https://<UMAMI_HOST>/script.js", }, { source: "/u/api/send", destination: "https://<UMAMI_HOST>/api/send", }, ]; }, }; Then add to your layout: <script defer src="/u/script.js" data-website-id="<WEBSITE_ID>"></script>

Astro + Vercel (rewrites in vercel.json)

{ "rewrites": [ { "source": "/u/script.js", "destination": "https://<UMAMI_HOST>/script.js" }, { "source": "/u/api/send", "destination": "https://<UMAMI_HOST>/api/send" } ] } Then add before </head> in your layout(s): <script defer src="/u/script.js" data-website-id="<WEBSITE_ID>"></script>

Caddy (reverse proxy)

example.com { handle /u/script.js { rewrite * /script.js reverse_proxy https://<UMAMI_HOST> { header_up Host <UMAMI_HOST> } } handle /u/api/send { rewrite * /api/send reverse_proxy https://<UMAMI_HOST> { header_up Host <UMAMI_HOST> } } }

Nginx

location /u/script.js { proxy_pass https://<UMAMI_HOST>/script.js; proxy_set_header Host <UMAMI_HOST>; } location /u/api/send { proxy_pass https://<UMAMI_HOST>/api/send; proxy_set_header Host <UMAMI_HOST>; }

Step 3: Verify

Deploy the proxy config Visit your site in a browser Check Umami dashboard — you should see a pageview within seconds Test with adblocker enabled — visit again with uBlock Origin on; the pageview should still appear Verify the proxy works: curl -sI https://<YOUR_DOMAIN>/u/script.js should return 200

Proxy path convention

Use /u/ as the proxy prefix. It's short, non-obvious to blockers, and consistent across projects: ProjectProxy pathUmami hostthenocodeguy.com/umami/script.jsanalytics.casys.aicasys.ai/u/script.jsanalytics.casys.ai

Umami API — quick reference

# Get all websites curl -s -H "Authorization: Bearer $TOKEN" "https://<UMAMI_HOST>/api/websites" # Get stats for a website (last 24h) START=$(($(date +%s) * 1000 - 86400000)) END=$(($(date +%s) * 1000)) curl -s -H "Authorization: Bearer $TOKEN" \ "https://<UMAMI_HOST>/api/websites/<WEBSITE_ID>/stats?startAt=$START&endAt=$END" # Get pageviews curl -s -H "Authorization: Bearer $TOKEN" \ "https://<UMAMI_HOST>/api/websites/<WEBSITE_ID>/pageviews?startAt=$START&endAt=$END&unit=day"

Notes

The Umami instance should be behind a reverse proxy with HTTPS (e.g. Cloudflare → Caddy → localhost:3002) Docker bind on 127.0.0.1 only — never expose Umami directly to the internet The /u/ prefix can be anything — /stats/, /t/, etc. — as long as it doesn't conflict with existing routes

Category context

Data access, storage, extraction, analysis, reporting, and insight generation.

Source: Tencent SkillHub

Largest current source with strong distribution and engagement signals.

Package contents

Included in package
1 Docs
  • SKILL.md Primary doc