Install
openclaw skills install geo-pulseGEO Pulse delivers compelling, client-ready GEO (Generative Engine Optimization) reports for brands. It measures AI search visibility across ChatGPT / Perplexity / Qwen / DeepSeek style outputs, including mention rate, link reference rate, sentiment, platform breakdown, competitor benchmarking, and historical trends. Use when users ask about GEO performance, AI visibility, brand mentions in AI answers, competitor comparison, GEO reports, or trend changes over time.
openclaw skills install geo-pulse中文:把“品牌在 AI 搜索里到底有没有被看见”变成可量化、可对比、可执行的报告。
English: Turn brand visibility in AI search into measurable, benchmarkable, action-ready insights.
Use configurable base URL (default is public endpoint):
BASE_URL="${GEO_PULSE_BASE_URL:-http://8.148.223.19:8000}"
All requests use curl with network access.
BASE_URL="${GEO_PULSE_BASE_URL:-http://8.148.223.19:8000}"
curl -s "$BASE_URL/api/brands"
Expected structure:
{"code":0,"data":{"brands":[{"brand":"Name","brand_domain":"example.com"}]}}
Match by brand OR brand_domain.
Tell user this is first-time processing and may take several minutes.
BASE_URL="${GEO_PULSE_BASE_URL:-http://8.148.223.19:8000}"
curl -s -X POST "$BASE_URL/api/brand-analyze" \
-H 'Content-Type: application/json' \
-d '{"brand":"BRAND_NAME"}'
Save data.brand_analyse and data.link_analyse.
BASE_URL="${GEO_PULSE_BASE_URL:-http://8.148.223.19:8000}"
curl -s -X POST "$BASE_URL/api/brands" \
-H 'Content-Type: application/json' \
-d '{"brand":"BRAND_NAME","brand_analyse":<from_2a>,"link_analyse":<from_2a>}'
BASE_URL="${GEO_PULSE_BASE_URL:-http://8.148.223.19:8000}"
curl -s --max-time 600 -X POST "$BASE_URL/api/pipeline/ai-search" \
-H 'Content-Type: application/json' \
-d '{"brand":"BRAND_NAME"}'
Use long timeout (about 600s). This is the bottleneck step.
BASE_URL="${GEO_PULSE_BASE_URL:-http://8.148.223.19:8000}"
curl -sG "$BASE_URL/api/brand-profile" --data-urlencode "brand_name=BRAND_NAME"
BASE_URL="${GEO_PULSE_BASE_URL:-http://8.148.223.19:8000}"
curl -s -X POST "$BASE_URL/api/brand-metrics" \
-H 'Content-Type: application/json' \
-d '{"brand":"BRAND_NAME"}'
# {Brand} GEO Audit Report
> Report date: {date} | Domain: {domain}
## Brand Overview
{brand_overview}
## Core GEO Metrics
| Metric | Value |
|--------|-------|
| Visibility Score | {visibility_score} |
| Brand Mention Rate | {brand_mention_rate × 100}% |
| Link Reference Rate | {link_reference_rate × 100}% |
| Brand Mentions | {brand_mention_count} |
| Link References | {link_reference_count} |
| Sentiment | Positive {positive} / Neutral {neutral} / Negative {negative} |
## Platform Performance
| Platform | Mentions | Links | Positive | Neutral | Negative |
|----------|----------|-------|----------|---------|----------|
(from platform breakdown)
## Competitor Benchmark
| Brand | Visibility Score | Brand Visibility | Link Visibility |
|-------|------------------|------------------|-----------------|
(sorted by visibility_score desc; mark target brand with ⭐)
## Recommendations
{suggestion}
BASE_URL="${GEO_PULSE_BASE_URL:-http://8.148.223.19:8000}"
curl -sG "$BASE_URL/api/brand-metrics/history" \
--data-urlencode "brand_name=BRAND_NAME" \
--data-urlencode "days=90"
# {Brand} GEO Trend Report (Last {days} Days)
## Visibility Score Trend
| Date | Score | Mention Rate | Link Rate | Sentiment (P/N/Neu) |
|------|-------|--------------|-----------|---------------------|
(one row per snapshot, chronological order)
## Summary
- Visibility Score: {first} → {latest} ({delta})
- Brand Mention Rate: {first_rate}% → {latest_rate}% ({delta})
- Link Reference Rate: {first_link}% → {latest_link}% ({delta})
- Overall trend: {improving / declining / stable}
If only one snapshot exists, state clearly that trend confidence is limited.
Condition: connection refused / timeout / non-200 HTTP
Fallback message (CN):
GEO Pulse 服务暂时不可达(网络或服务超时)。我可以稍后重试,或先基于已有快照给你做一个“非实时版本”的初步报告。
Fallback message (EN):
GEO Pulse API is temporarily unreachable (network/service timeout). I can retry shortly, or provide a non-realtime draft report based on available snapshots.
code != 0)Fallback:
接口返回业务错误:
{message}。我可以尝试重新初始化品牌,或换“品牌名/域名”再查一次。
Fallback:
品牌初始化失败。请确认品牌名称拼写,或提供官网域名(例如
example.com)以提高识别准确率。
Progress copy (CN):
首次品牌分析正在执行多平台 AI 查询(通常 3-10 分钟),我会在完成后立即回传完整报告。
Progress copy (EN):
First-time brand pipeline is running multi-platform AI queries (usually 3–10 minutes). I’ll return the full report once complete.
Fallback:
当前还没有足够的数据样本。建议先触发一次完整 pipeline,再做趋势分析会更可靠。
brand_mention_rate / link_reference_rate are ratios in [0,1]; multiply by 100 for display.brand_visibility / link_visibility are already percentages.days range for history: 7-365 (default 90).brand_domain first.