Install
openclaw skills install @sparkmilkway/openclaw-howtoProvides authoritative guidance on OpenClaw features, configs, CLI commands, troubleshooting, using both web search and local info with auto-cached environme...
openclaw skills install @sparkmilkway/openclaw-howtoUse this skill to become an OpenClaw expert, accurately understanding OpenClaw's capabilities, configurations, environment requirements, and the latest information to provide users with the most intuitive and effective answers.
memory/openclaw-env-info.mddef get_websearch_tool():
"""
Logic for obtaining web_search tool:
1. First check cache (memory/openclaw-env-info.md)
2. If cache invalid/missing, detect current environment
3. If new tool detected, save to cache
4. If none available, return None (fallback to local mode)
"""
# Step 1: Check cache
cached = read_cached_config("memory/openclaw-env-info.md")
if cached and is_cache_valid(cached, days=7):
return {"source": "cached", **cached}
# Step 2: Attempt environment detection
env_tools = detect_env_tools()
if env_tools:
save_new_config(env_tools)
return {"source": "auto-detected", **env_tools}
# Step 3: Only prompt on first use with no available tools
if not has_asked_before():
prompt_user_for_config()
return None # Let user decide whether to continue
# Step 4: Fallback to local mode
return None
memory/openclaw-env-info.md (auto-maintained):
## Environment Info
- **Detection Time**: 2026-03-28 23:59
- **OpenClaw Version**: 2026.3.8
### Web Search Tool Configuration (Cached)
- **Source**: auto-detected / user-provided / cached
- **Tool Name**: MiniMax.web_search
- **Call Format**: mcporter call [tool_name] query:"[query]"
- **Success Example**: mcporter call MiniMax.web_search query:"OpenClaw cron help"
- **Saved At**: 2026-03-28 23:59
- **Last Verified**: 2026-03-28 23:59
- **Status**: ✅ Active / ❌ Disabled
---
## How to Configure/Update web_search Tool
```bash
# Run the following command to start configuration
openclaw configure web-search --setup
Note:
---
## 🔄 Complete Workflow
### Scenario A: Cache Exists (After First Use)
User Question → Read Cache → Validate Validity (<7 days) ↓ ↓ ↓ Use Cached Tool ← ✅ Valid → Use Directly ↓ ❌ Expired → Prompt Re-verification
**Output Example**:
```markdown
💡 Using configured web_search tool to search...
Tool: MiniMax.web_search
Last Verified: Yesterday
Searching: "OpenClaw Cron Job Configuration"
User Question → Detect Environment → Found No web_search
↓ ↓ ↓
First Prompt ← ❌ ✅ Has Tool
↓ ↓
Ask User → Wait for Choice
↓ ↓
Option A Option B
↓ ↓
Collect Config Direct Fallback
↓ ↓
Save to Memory
Output Example:
⚠️ No available web_search tool detected
To obtain the latest information, you can choose:
**Option A: Provide Existing Configuration**
If you have other web_search tools, please share the following:
- Tool Name (e.g., "MiniMax.web_search")
- Call Method (e.g., "mcporter call [name] query:'[text]'")
- A Success Example
**Option B: Use Local Mode**
Skip web_search, answer only via CLI and existing knowledge base
Please choose A or B 👇
Receive User Input → Parse Config → Verify Availability → Save to Memory
↓ ↓ ↓ ↓
Format Validation Extract Fields Test Once memory/openclaw-env-info.md
↓ ↓ ↓ ↓
❌ Invalid Format → Prompt Correction ✅ Success Record Timestamp
↓
Confirm Save and Continue
Output Example:
✅ Configuration successfully remembered!
📝 **Saved Information:**
- Tool Name: MiniMax.web_search
- Call Format: mcporter call [tool_name] query:"[query]"
- Status: ✅ Active
- Saved At: 2026-03-28 23:59
💡 Will load automatically next time, no need to ask again.
Now continuing with your request...
💡 **Web Search Mode** (Configured)
Using saved web_search tool to find latest information:
**Tool**: `MiniMax.web_search`
**Last Verified**: Today
**Search Scope**: OpenClaw Official Docs + GitHub + Discord
Please wait...
⚠️ **Web Search Configuration Needs Re-verification**
Last verification was `X` days ago (>7 days), to ensure accuracy:
(A) Re-verify tool configuration
(B) Temporarily fallback to local mode
Or do you want to update to a different tool?
⚠️ **Currently in Local Mode** (web_search unavailable)
Will provide assistance through:
- Reading OpenClaw CLI commands
- Analyzing configuration files
- Consulting local knowledge base (`memory/openclaw-knowledge.md`)
💡 **Hint**: For latest information, configure web_search tool and try again.
Here is the answer based on existing knowledge:
#!/usr/bin/env python3
"""Auto-save web_search config to memory/openclaw-env-info.md"""
from datetime import datetime
def save_config(tool_name, call_format, example=None):
config = {
"tool_name": tool_name,
"call_format": call_format,
"example": example or f"mcporter call {tool_name} query:'test'",
"saved_at": datetime.now().isoformat(),
"last_verified": datetime.now().isoformat(),
"status": "active"
}
with open("memory/openclaw-env-info.md", "a") as f:
f.write("\n### Web Search Tool Configuration\n")
for k, v in config.items():
f.write(f"- **{k}**: {v}\n")
print("✅ Configuration saved to memory/openclaw-env-info.md")
#!/bin/bash
# Verify if cached configuration is valid
ENV_FILE="memory/openclaw-env-info.md"
LAST_VERIFIED=$(grep "Last Verified" $ENV_FILE | awk '{print $3" "$4}')
CURRENT_DATE=$(date +"%Y-%m-%d %H:%M")
DAYS_OLD=$(( ($(date -d "$CURRENT_DATE" +%s) - $(date -d "$LAST_VERIFIED" +%s)) / 86400 ))
if [ $DAYS_OLD -gt 7 ]; then
echo "⚠️ Web Search configuration expired ($DAYS_OLD days ago)"
exit 1
else
echo "✅ Web Search configuration valid (${DAYS_OLD}days ago verified)"
exit 0
fi
Use this skill when users ask about:
Maintain the following files under memory/ directory:
memory/openclaw-knowledge.mdOpenClaw Core Knowledge Base (command reference, configuration options, best practices)
memory/openclaw-env-info.md (New)Environment Info Recording (web_search tool config, version info, special configs)
memory/openclaw-commands.mdOpenClaw Command Quick Reference
# View OpenClaw status
openclaw status
# View all available commands
openclaw help
# View help for specific command
openclaw [command] --help
# List all agents
openclaw config get agents.list --json
# View agent details
openclaw config get agents.list | jq '.[] | select(.id == "agent-name")'
# List all skills
openclaw skills list
# Install skill
openclaw skills install [skill-name]
# Publish skill
cd ~/my-skill
clawhub publish . \
--slug my-skill \
--name "My Skill" \
--version 1.0.0 \
--changelog "Initial release"
| Issue | Solution |
|---|---|
| Asking about web_search every time | Check if memory/openclaw-env-info.md is saved correctly |
| Cache config invalid | Manually delete this file to restart configuration |
| web_search tool call fails | Run mcporter list to check if tool is in list |
| Network timeout | Check network connection, configure HTTP_PROXY |
# View current web_search config
cat memory/openclaw-env-info.md | grep -A10 "Web Search"
# Clear cache (reconfigure)
rm memory/openclaw-env-info.md
# Re-run skill trigger config flow
openclaw run openclaw-howto --setup
Last Updated: 2026-03-28
Maintainer: OpenClaw HowTo Skill
Goal: One-time configuration, permanent recall, intelligent fallback
Version: 2.1 (With Cached Memory)