Install
openclaw skills install glm-search-proWeb search via Zhipu GLM — supports both MCP (mcporter) and cURL (REST API) backends. Provides multi-engine search (Pro, Sogou, Quark, Std) with intent recognition, time range filtering, domain filtering, and configurable result count/detail level. Use when the agent needs to search the web, look up current information, find news, or retrieve online resources. Works from China without VPN. Trigger on: "search the web", "web search", "look up", "find online", "latest news", "search for", "google for", "联网搜索", "在线搜索", "查最新", "搜索一下".
openclaw skills install glm-search-proWeb search powered by Zhipu GLM, with dual-backend support: cURL (REST API, preferred) and MCP (via mcporter).
This skill requires a Zhipu API key, provided via the ZHIPU_API_KEY environment variable.
No setup required. The key is read from $ZHIPU_API_KEY at runtime and sent via HTTP Authorization: Bearer header. In cURL mode, no files are written to disk.
If you need MCP mode, setup.sh will write a config file to disk:
| File | What it contains | Permissions |
|---|---|---|
~/.openclaw/config/mcporter/mcporter.json | MCP server URL with API key as query param | 600 (owner-only) |
~/.openclaw/config/mcporter/ directory | Parent directory | 700 (owner-only) |
Important: The Zhipu MCP broker endpoint requires the API key as a URL query parameter (Authorization=<key>). This is how their SSE endpoint works — the key cannot be passed via HTTP header for MCP connections. Setup writes this to mcporter.json with 600 permissions. If this is not acceptable, use cURL mode only (which passes the key via Authorization header at runtime and writes nothing to disk).
| Source | When | Purpose |
|---|---|---|
$ZHIPU_API_KEY env var | Every search (cURL mode), and during setup (MCP mode) | API key |
For maximum security, use cURL mode and skip setup.sh. MCP mode is provided as a convenience but requires persisting the key on disk due to the Zhipu MCP broker's authentication design.
# Set your API key
export ZHIPU_API_KEY="your-api-key"
# Search (cURL mode, no setup needed)
bash scripts/glm-search.sh "your query"
# With options
bash scripts/glm-search.sh -q "latest AI news" -c 20 -r oneWeek -e quark
The script auto-selects the best available backend:
curl + ZHIPU_API_KEY env var. Key sent via HTTP header. Nothing written to disk.mcporter + config from setup.sh. Key stored in config file for MCP broker auth.Force a specific mode with --curl or --mcp.
| Engine | Flag | Best For |
|---|---|---|
| Pro | -e pro | General purpose, best quality (default) |
| Quark | -e quark | Advanced scenarios, Chinese content |
| Sogou | -e sogou | China domestic content |
| Std | -e std | Basic search, Q&A |
| Flag | Long | Default | Description |
|---|---|---|---|
-q | --query | — | Search text (required, ≤70 chars recommended) |
-c | --count | 10 | Number of results (1-50) |
-e | --engine | pro | pro, sogou, quark, std |
-r | --recency | noLimit | noLimit, oneYear, oneMonth, oneWeek, oneDay |
-s | --size | medium | medium (400-600 chars) or high (up to 2500) |
-i | --intent | off | Enable search intent recognition (cURL only) |
-d | --domain | — | Restrict results to specific domain |
--curl | — | Force cURL backend | |
--mcp | — | Force MCP backend |
# Basic search (cURL mode auto-selected)
glm-search "OpenClaw framework"
# Recent news, more results
glm-search -q "AI news" -c 20 -r oneWeek
# Chinese content via Sogou
glm-search -q "最新科技新闻" -e sogou -r oneDay
# Domain-specific search
glm-search -q "Python async" -d docs.python.org
# Intent recognition (cURL only)
glm-search -i "What is machine learning"
{
"id": "task-id",
"created": 1704067200,
"search_result": [
{
"title": "Page Title",
"content": "Page summary...",
"link": "https://example.com",
"media": "Source Name",
"refer": "ref_1",
"publish_date": "2026-04-27"
}
]
}
glm-search (script)
├── cURL mode (preferred)
│ └── curl + $ZHIPU_API_KEY → Authorization: Bearer header → Zhipu REST API
└── MCP mode (advanced, requires setup)
└── mcporter → config from setup.sh → Zhipu MCP Broker SSE endpoint
export ZHIPU_API_KEY="your-api-key"
bash scripts/setup.sh
This is only needed for MCP mode. cURL mode works immediately with ZHIPU_API_KEY set.
The skill requires ZHIPU_API_KEY to be available in the Gateway process environment.
If openclaw skills check shows △ needs setup for this skill, the key is missing.
If the Gateway runs as a systemd user service:
# Edit the service override
systemctl --user edit openclaw-gateway
# Add the following in the editor:
[Service]
Environment=ZHIPU_API_KEY=your-api-key-here
# Then reload and restart
systemctl --user daemon-reload
systemctl --user restart openclaw-gateway
Or create the file manually:
mkdir -p ~/.config/systemd/user/openclaw-gateway.service.d
cat > ~/.config/systemd/user/openclaw-gateway.service.d/override.conf << 'EOF'
[Service]
Environment=ZHIPU_API_KEY=your-api-key-here
EOF
systemctl --user daemon-reload
systemctl --user restart openclaw-gateway
Set the environment variable before starting the Gateway:
export ZHIPU_API_KEY="your-api-key-here"
Or add it to your .env / docker-compose.yml as appropriate.
After restarting, confirm the skill is ready:
openclaw skills check
# Should show: ✓ glm-search-pro (no longer "needs setup")
ZHIPU_API_KEY env var)npm i -g mcporter (invoked via npx)See references/api-notes.md for detailed API reference and common issues.