{"id":"a316c178-52d8-4451-a0ee-aa7d041a7029","entityType":"agent","slug":"clawhub-ide-rea-baidu-search","name":"Baidu web search","canonicalUrl":"https://www.xpersona.co/agent/clawhub-ide-rea-baidu-search","canonicalPath":"/agent/clawhub-ide-rea-baidu-search","generatedAt":"2026-10-09T00:23:04.208Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-06-01T00:30:42.289Z","emptyReason":null},"description":"Search the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 89K downloads reported by the source. Last updated 6/1/2026.","installCommand":"clawhub skill install s17a4y7rpj2bmp94zpqe8r915h83gq6d:baidu-search","sourceUrl":"https://clawhub.ai/ide-rea/baidu-search","homepage":"https://clawhub.ai/ide-rea/baidu-search","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/ide-rea/baidu-search","kind":"source"}],"safetyScore":84,"overallRank":62,"popularityScore":99,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Baidu web search technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-06-01T00:30:42.289Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-06-01T00:30:42.289Z","emptyReason":null},"stars":null,"forks":null,"downloads":89029,"packageName":null,"latestVersion":"1.1.4","tractionLabel":"89K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-06-01T00:30:42.289Z","emptyReason":null},"lastUpdatedAt":"2026-06-01T00:30:42.289Z","lastCrawledAt":"2026-06-01T00:30:42.289Z","lastIndexedAt":null,"nextCrawlAt":"2026-06-02T00:30:42.289Z","lastVerifiedAt":null,"highlights":[{"version":"1.1.4","createdAt":"2026-04-16T11:27:11.266Z","changelog":"- Removed the _meta.json file from the skill. - No feature or behavior changes; functionality remains fully intact.","fileCount":5,"zipByteSize":5166},{"version":"1.1.3","createdAt":"2026-03-18T10:15:34.466Z","changelog":"- Added new documentation for API key setup, including a reference guide (references/apikey-fetch.md) - Updated SKILL.md with clearer instructions on API key configuration and setup link - Added _meta.json file for enhanced skill metadata","fileCount":4,"zipByteSize":3504},{"version":"1.1.2","createdAt":"2026-03-13T09:39:14.557Z","changelog":"- Added detailed usage instructions and examples for using the Baidu AI Search API in SKILL.md. - Documented all available request parameters, including query, count, and freshness options. - Updated skill description for clarity on live search and research capabilities. - Included requirements for environment variables and binaries in metadata. - Confirmed the skill is fully functional.","fileCount":3,"zipByteSize":2461},{"version":"1.1.1","createdAt":"2026-03-10T07:20:27.674Z","changelog":"- Updated request parameters: simplified to include only query, count, and freshness. - Added support for new freshness formats (\"YYYY-MM-DDtoYYYY-MM-DD\" and short codes pd/pw/pm/py). - Default and range for count parameter clarified (default 10, range 1–50). - Examples and usage instructions revised for new parameter set. - Removed advanced resource and search filter options from documentation for simplicity. - _meta.json file removed.","fileCount":3,"zipByteSize":2460},{"version":"1.1.0","createdAt":"2026-02-13T04:11:33.565Z","changelog":"- Added detailed usage instructions and request parameter documentation for the Baidu Search skill. - Described available filters, including resource type, advanced search, website blocking, and date ranges. - Provided example commands for common search tasks. - Outlined current capability: fully functional for live Baidu web, image, and video search.","fileCount":3,"zipByteSize":2478},{"version":"1.0.6","createdAt":"2026-02-09T16:49:11.929Z","changelog":"- Simplified and clarified user documentation in SKILL.md for easier reference. - Improved usage instructions and added concise, updated search parameter tables. - Streamlined parameter descriptions, examples, and filtering guidance. - No code logic changes; documentation updates only.","fileCount":3,"zipByteSize":2476},{"version":"1.0.5","createdAt":"2026-02-09T03:49:05.826Z","changelog":"- Fixed a bug in scripts/search.py to improve stability and/or functionality. - No changes to user-facing features or SKILL.md documentation.","fileCount":3,"zipByteSize":3776},{"version":"1.0.4","createdAt":"2026-02-08T15:28:21.972Z","changelog":"- Environment variable requirement changed from apiKey to BAIDU_API_KEY. - Metadata updated to reflect the new environment variable name.","fileCount":3,"zipByteSize":3752}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17a4y7rpj2bmp94zpqe8r915h83gq6d:baidu-search","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17a4y7rpj2bmp94zpqe8r915h83gq6d:baidu-search` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/ide-rea/baidu-search before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ide-rea-baidu-search/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ide-rea-baidu-search/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ide-rea-baidu-search/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-ide-rea-baidu-search/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-ide-rea-baidu-search/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-ide-rea-baidu-search/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-09T00:23:04.208Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ide-rea-baidu-search/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ide-rea-baidu-search/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ide-rea-baidu-search/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ide-rea-baidu-search/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-06-01T00:30:42.289Z","emptyReason":null},"readme":"Skill: Baidu web search\n\nOwner: ide-rea\n\nSummary: Search the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.\n\nTags: latest:1.1.4\n\nVersion history:\n\nv1.1.4 | 2026-04-16T11:27:11.266Z | user\n\n- Removed the _meta.json file from the skill.\n- No feature or behavior changes; functionality remains fully intact.\n\nv1.1.3 | 2026-03-18T10:15:34.466Z | auto\n\n- Added new documentation for API key setup, including a reference guide (references/apikey-fetch.md)\n- Updated SKILL.md with clearer instructions on API key configuration and setup link\n- Added _meta.json file for enhanced skill metadata\n\nv1.1.2 | 2026-03-13T09:39:14.557Z | user\n\n- Added detailed usage instructions and examples for using the Baidu AI Search API in SKILL.md.\n- Documented all available request parameters, including query, count, and freshness options.\n- Updated skill description for clarity on live search and research capabilities.\n- Included requirements for environment variables and binaries in metadata.\n- Confirmed the skill is fully functional.\n\nv1.1.1 | 2026-03-10T07:20:27.674Z | user\n\n- Updated request parameters: simplified to include only query, count, and freshness.\n- Added support for new freshness formats (\"YYYY-MM-DDtoYYYY-MM-DD\" and short codes pd/pw/pm/py).\n- Default and range for count parameter clarified (default 10, range 1–50).\n- Examples and usage instructions revised for new parameter set.\n- Removed advanced resource and search filter options from documentation for simplicity.\n- _meta.json file removed.\n\nv1.1.0 | 2026-02-13T04:11:33.565Z | auto\n\n- Added detailed usage instructions and request parameter documentation for the Baidu Search skill.\n- Described available filters, including resource type, advanced search, website blocking, and date ranges.\n- Provided example commands for common search tasks.\n- Outlined current capability: fully functional for live Baidu web, image, and video search.\n\nv1.0.6 | 2026-02-09T16:49:11.929Z | auto\n\n- Simplified and clarified user documentation in SKILL.md for easier reference.\n- Improved usage instructions and added concise, updated search parameter tables.\n- Streamlined parameter descriptions, examples, and filtering guidance.\n- No code logic changes; documentation updates only.\n\nv1.0.5 | 2026-02-09T03:49:05.826Z | auto\n\n- Fixed a bug in scripts/search.py to improve stability and/or functionality.\n- No changes to user-facing features or SKILL.md documentation.\n\nv1.0.4 | 2026-02-08T15:28:21.972Z | auto\n\n- Environment variable requirement changed from apiKey to BAIDU_API_KEY.\n- Metadata updated to reflect the new environment variable name.\n\nv1.0.3 | 2026-02-08T12:23:51.928Z | auto\n\n- Environment variable changed from BAIDU_API_KEY to apiKey for configuration.\n- Updated documentation to remove explicit setup steps for environment variable.\n- Example usage updated to reflect new environment variable requirements.\n- Metadata in SKILL.md and _meta.json adjusted to match the environment variable change.\n\nv1.0.2 | 2026-02-07T09:49:49.321Z | auto\n\n- Added _meta.json file for enhanced metadata management.\n- Updated requirement from \"python\" to \"python3\" in the skill metadata.\n\nv1.0.1 | 2026-02-06T02:50:21.259Z | auto\n\n- Added detailed instructions for obtaining the BAIDU_API_KEY, including Baidu Cloud registration and API key retrieval links.\n- No other workflow or functionality changes.\n\nv1.0.0 | 2026-02-05T11:42:34.419Z | auto\n\nInitial release of the baidu-search skill.\n\n- Enables web search via Baidu AI Search Engine (BDSE) when built-in web_search is unavailable.\n- Requires a valid BAIDU_API_KEY environment variable for authentication.\n- Supports advanced search parameters, including filtering by site, date range, content type, and safe search.\n- Executes a Python script to interact with the Baidu API and returns structured search results.\n- Provides detailed setup, parameter usage, and example invocation instructions.\n\nArchive index:\n\nArchive v1.1.4: 5 files, 5166 bytes\n\nFiles: references/apikey-fetch.md (1371b), scripts/search.py (4459b), skill-card.md (2298b), SKILL.md (1794b), _meta.json (131b)\n\nFile v1.1.4:SKILL.md\n\n---\nname: baidu-search\ndescription: Search the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.\nmetadata: { \"openclaw\": { \"emoji\": \"🔍︎\",  \"requires\": { \"bins\": [\"python3\"], \"env\":[\"BAIDU_API_KEY\"]},\"primaryEnv\":\"BAIDU_API_KEY\" } }\n---\n\n# Baidu Search\n\nSearch the web via Baidu AI Search API.\n\n## Prerequisites\n\n### API Key Configuration\nThis skill requires a **BAIDU_API_KEY** to be configured in OpenClaw.\n\nIf you don't have an API key yet, please visit:\n**https://console.bce.baidu.com/ai-search/qianfan/ais/console/apiKey**\n\nFor detailed setup instructions, see:\n[references/apikey-fetch.md](references/apikey-fetch.md)\n\n## Usage\n\n```bash\npython3 skills/baidu-search/scripts/search.py '<JSON>'\n```\n\n## Request Parameters\n\n| Param | Type | Required | Default | Description |\n|-------|------|----------|---------|-------------|\n| query | str | yes | - | Search query |\n| count | int | no | 10 | Number of results to return, range 1-50 |\n| freshness | str | no | Null | Time range, two formats: format one is ”YYYY-MM-DDtoYYYY-MM-DD“, and format two includes pd, pw, pm, and py, representing the past 24 hours, past 7 days, past 31 days, and past 365 days respectively |\n\n## Examples\n\n```bash\n# Basic search\npython3 scripts/search.py '{\"query\":\"人工智能\"}'\n\n# Freshness first format \"YYYY-MM-DDtoYYYY-MM-DD\" example\npython3 scripts/search.py '{\n  \"query\":\"最新新闻\",\n  \"freshness\":\"2025-09-01to2025-09-08\"\n}'\n\n# Freshness second format pd、pw、pm、py example\npython3 scripts/search.py '{\n  \"query\":\"最新新闻\",\n  \"freshness\":\"pd\"\n}'\n\n# set count, the number of results to return\npython3 scripts/search.py '{\n  \"query\":\"旅游景点\",\n  \"count\": 20,\n}'\n```\n\n## Current Status\n\nFully functional.\n\nFile v1.1.4:_meta.json\n\n{\n  \"ownerId\": \"kn7akgt520t01vgs2tzx7yk6m180kt26\",\n  \"slug\": \"baidu-search\",\n  \"version\": \"1.1.4\",\n  \"publishedAt\": 1776338831266\n}\n\nFile v1.1.4:references/apikey-fetch.md\n\n# Baidu API Key Setup Guide (OpenClaw)\n\n## BAIDU_API_KEY Not Configured\n\nWhen the `BAIDU_API_KEY` environment variable is not set, follow these steps:\n\n### 1. Get API Key\nVisit: **https://console.bce.baidu.com/ai-search/qianfan/ais/console/apiKey**\n\n- Log in to your Baidu Cloud account\n- Create an application or view existing API keys\n- Copy your **API Key** (only API Key is needed)\n\n### 2. Configure OpenClaw\nEdit the OpenClaw configuration file: `~/.openclaw/openclaw.json`\n\nAdd or merge the following structure:\n\n```json\n{\n  \"skills\": {\n    \"entries\": {\n      \"baidu-search\": {\n        \"env\": {\n          \"BAIDU_API_KEY\": \"your_actual_api_key_here\"\n        }\n      }\n    }\n  }\n}\n```\n\nReplace `\"your_actual_api_key_here\"` with your actual API key.\n\n### 3. Verify Configuration\n```bash\n# Check JSON format\ncat ~/.openclaw/openclaw.json | python -m json.tool\n```\n\n### 4. Restart OpenClaw\n```bash\nopenclaw gateway restart\n```\n\n### 5. Test\n```bash\ncd ~/.openclaw/workspace/skills/baidu-search\npython3 scripts/search.py '{\"query\": \"test search\"}'\n```\n\n## Troubleshooting\n- Ensure `~/.openclaw/openclaw.json` exists with correct JSON format\n- Confirm API key is valid and Baidu AI Search service is activated\n- Check account balance on Baidu Cloud\n- Restart OpenClaw after configuration changes\n\n**Recommended**: Use OpenClaw configuration file for centralized management\n\nFile v1.1.4:skill-card.md\n\n## Description: <br>\nSearch the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[ide-rea](https://clawhub.ai/user/ide-rea) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers, researchers, and external agent users use this skill to fetch current Baidu web search references for live information, documentation lookup, and research tasks. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Search queries are sent to Baidu or to the configured sandbox proxy. <br>\nMitigation: Use the skill only for queries that are acceptable to share with that service path. <br>\nRisk: The skill requires a sensitive Baidu API key. <br>\nMitigation: Use a dedicated revocable key, keep the OpenClaw configuration private, and rotate the key if exposure is suspected. <br>\nRisk: API usage may consume quota or incur billing. <br>\nMitigation: Monitor Baidu Cloud quota, account balance, and billing for the key used by this skill. <br>\n\n\n## Reference(s): <br>\n- [Baidu API Key Setup Guide](references/apikey-fetch.md) <br>\n- [Baidu AI Search API key console](https://console.bce.baidu.com/ai-search/qianfan/ais/console/apiKey) <br>\n- [Baidu AI Search web search endpoint](https://qianfan.baidubce.com/v2/ai_search/web_search) <br>\n- [ClawHub skill page](https://clawhub.ai/ide-rea/baidu-search) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, json, shell commands, configuration, guidance] <br>\n**Output Format:** [JSON search results printed to stdout, with Markdown setup guidance in the bundled reference file.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Accepts a JSON request with query, optional count from 1 to 50, and optional freshness filters; removes snippets from returned reference items.] <br>\n\n## Skill Version(s): <br>\n1.1.4 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.1.3: 4 files, 3504 bytes\n\nFiles: _meta.json (131b), references/apikey-fetch.md (1371b), scripts/search.py (3520b), SKILL.md (1794b)\n\nFile v1.1.3:SKILL.md\n\n---\nname: baidu-search\ndescription: Search the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.\nmetadata: { \"openclaw\": { \"emoji\": \"🔍︎\",  \"requires\": { \"bins\": [\"python3\"], \"env\":[\"BAIDU_API_KEY\"]},\"primaryEnv\":\"BAIDU_API_KEY\" } }\n---\n\n# Baidu Search\n\nSearch the web via Baidu AI Search API.\n\n## Prerequisites\n\n### API Key Configuration\nThis skill requires a **BAIDU_API_KEY** to be configured in OpenClaw.\n\nIf you don't have an API key yet, please visit:\n**https://console.bce.baidu.com/ai-search/qianfan/ais/console/apiKey**\n\nFor detailed setup instructions, see:\n[references/apikey-fetch.md](references/apikey-fetch.md)\n\n## Usage\n\n```bash\npython3 skills/baidu-search/scripts/search.py '<JSON>'\n```\n\n## Request Parameters\n\n| Param | Type | Required | Default | Description |\n|-------|------|----------|---------|-------------|\n| query | str | yes | - | Search query |\n| count | int | no | 10 | Number of results to return, range 1-50 |\n| freshness | str | no | Null | Time range, two formats: format one is ”YYYY-MM-DDtoYYYY-MM-DD“, and format two includes pd, pw, pm, and py, representing the past 24 hours, past 7 days, past 31 days, and past 365 days respectively |\n\n## Examples\n\n```bash\n# Basic search\npython3 scripts/search.py '{\"query\":\"人工智能\"}'\n\n# Freshness first format \"YYYY-MM-DDtoYYYY-MM-DD\" example\npython3 scripts/search.py '{\n  \"query\":\"最新新闻\",\n  \"freshness\":\"2025-09-01to2025-09-08\"\n}'\n\n# Freshness second format pd、pw、pm、py example\npython3 scripts/search.py '{\n  \"query\":\"最新新闻\",\n  \"freshness\":\"pd\"\n}'\n\n# set count, the number of results to return\npython3 scripts/search.py '{\n  \"query\":\"旅游景点\",\n  \"count\": 20,\n}'\n```\n\n## Current Status\n\nFully functional.\n\nFile v1.1.3:_meta.json\n\n{\n  \"ownerId\": \"kn7akgt520t01vgs2tzx7yk6m180kt26\",\n  \"slug\": \"baidu-search\",\n  \"version\": \"1.1.3\",\n  \"publishedAt\": 1773828934466\n}\n\nFile v1.1.3:references/apikey-fetch.md\n\n# Baidu API Key Setup Guide (OpenClaw)\n\n## BAIDU_API_KEY Not Configured\n\nWhen the `BAIDU_API_KEY` environment variable is not set, follow these steps:\n\n### 1. Get API Key\nVisit: **https://console.bce.baidu.com/ai-search/qianfan/ais/console/apiKey**\n\n- Log in to your Baidu Cloud account\n- Create an application or view existing API keys\n- Copy your **API Key** (only API Key is needed)\n\n### 2. Configure OpenClaw\nEdit the OpenClaw configuration file: `~/.openclaw/openclaw.json`\n\nAdd or merge the following structure:\n\n```json\n{\n  \"skills\": {\n    \"entries\": {\n      \"baidu-search\": {\n        \"env\": {\n          \"BAIDU_API_KEY\": \"your_actual_api_key_here\"\n        }\n      }\n    }\n  }\n}\n```\n\nReplace `\"your_actual_api_key_here\"` with your actual API key.\n\n### 3. Verify Configuration\n```bash\n# Check JSON format\ncat ~/.openclaw/openclaw.json | python -m json.tool\n```\n\n### 4. Restart OpenClaw\n```bash\nopenclaw gateway restart\n```\n\n### 5. Test\n```bash\ncd ~/.openclaw/workspace/skills/baidu-search\npython3 scripts/search.py '{\"query\": \"test search\"}'\n```\n\n## Troubleshooting\n- Ensure `~/.openclaw/openclaw.json` exists with correct JSON format\n- Confirm API key is valid and Baidu AI Search service is activated\n- Check account balance on Baidu Cloud\n- Restart OpenClaw after configuration changes\n\n**Recommended**: Use OpenClaw configuration file for centralized management\n\nArchive v1.1.2: 3 files, 2461 bytes\n\nFiles: scripts/search.py (3520b), SKILL.md (1439b), _meta.json (131b)\n\nFile v1.1.2:SKILL.md\n\n---\nname: baidu-search\ndescription: Search the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.\nmetadata: { \"openclaw\": { \"emoji\": \"🔍︎\",  \"requires\": { \"bins\": [\"python3\"], \"env\":[\"BAIDU_API_KEY\"]},\"primaryEnv\":\"BAIDU_API_KEY\" } }\n---\n\n# Baidu Search\n\nSearch the web via Baidu AI Search API.\n\n## Usage\n\n```bash\npython3 skills/baidu-search/scripts/search.py '<JSON>'\n```\n\n## Request Parameters\n\n| Param | Type | Required | Default | Description |\n|-------|------|----------|---------|-------------|\n| query | str | yes | - | Search query |\n| count | int | no | 10 | Number of results to return, range 1-50 |\n| freshness | str | no | Null | Time range, two formats: format one is ”YYYY-MM-DDtoYYYY-MM-DD“, and format two includes pd, pw, pm, and py, representing the past 24 hours, past 7 days, past 31 days, and past 365 days respectively |\n\n## Examples\n\n```bash\n# Basic search\npython3 scripts/search.py '{\"query\":\"人工智能\"}'\n\n# Freshness first format \"YYYY-MM-DDtoYYYY-MM-DD\" example\npython3 scripts/search.py '{\n  \"query\":\"最新新闻\",\n  \"freshness\":\"2025-09-01to2025-09-08\"\n}'\n\n# Freshness second format pd、pw、pm、py example\npython3 scripts/search.py '{\n  \"query\":\"最新新闻\",\n  \"freshness\":\"pd\"\n}'\n\n# set count, the number of results to return\npython3 scripts/search.py '{\n  \"query\":\"旅游景点\",\n  \"count\": 20,\n}'\n```\n\n## Current Status\n\nFully functional.\n\nFile v1.1.2:_meta.json\n\n{\n  \"ownerId\": \"kn7akgt520t01vgs2tzx7yk6m180kt26\",\n  \"slug\": \"baidu-search\",\n  \"version\": \"1.1.2\",\n  \"publishedAt\": 1773394754557\n}\n\nArchive v1.1.1: 3 files, 2460 bytes\n\nFiles: scripts/search.py (3520b), SKILL.md (1439b), _meta.json (131b)\n\nFile v1.1.1:SKILL.md\n\n---\nname: baidu-search\ndescription: Search the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.\nmetadata: { \"openclaw\": { \"emoji\": \"🔍︎\",  \"requires\": { \"bins\": [\"python3\"], \"env\":[\"BAIDU_API_KEY\"]},\"primaryEnv\":\"BAIDU_API_KEY\" } }\n---\n\n# Baidu Search\n\nSearch the web via Baidu AI Search API.\n\n## Usage\n\n```bash\npython3 skills/baidu-search/scripts/search.py '<JSON>'\n```\n\n## Request Parameters\n\n| Param | Type | Required | Default | Description |\n|-------|------|----------|---------|-------------|\n| query | str | yes | - | Search query |\n| count | int | no | 10 | Number of results to return, range 1-50 |\n| freshness | str | no | Null | Time range, two formats: format one is ”YYYY-MM-DDtoYYYY-MM-DD“, and format two includes pd, pw, pm, and py, representing the past 24 hours, past 7 days, past 31 days, and past 365 days respectively |\n\n## Examples\n\n```bash\n# Basic search\npython3 scripts/search.py '{\"query\":\"人工智能\"}'\n\n# Freshness first format \"YYYY-MM-DDtoYYYY-MM-DD\" example\npython3 scripts/search.py '{\n  \"query\":\"最新新闻\",\n  \"freshness\":\"2025-09-01to2025-09-08\"\n}'\n\n# Freshness second format pd、pw、pm、py example\npython3 scripts/search.py '{\n  \"query\":\"最新新闻\",\n  \"freshness\":\"pd\"\n}'\n\n# set count, the number of results to return\npython3 scripts/search.py '{\n  \"query\":\"旅游景点\",\n  \"count\": 20,\n}'\n```\n\n## Current Status\n\nFully functional.\n\nFile v1.1.1:_meta.json\n\n{\n  \"ownerId\": \"kn7akgt520t01vgs2tzx7yk6m180kt26\",\n  \"slug\": \"baidu-search\",\n  \"version\": \"1.1.1\",\n  \"publishedAt\": 1773127227674\n}\n\nArchive v1.1.0: 3 files, 2478 bytes\n\nFiles: _meta.json (131b), scripts/search.py (2522b), SKILL.md (2114b)\n\nFile v1.1.0:SKILL.md\n\n---\nname: baidu-search\ndescription: Search the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.\nmetadata: { \"openclaw\": { \"emoji\": \"🔍︎\",  \"requires\": { \"bins\": [\"python3\"], \"env\":[\"BAIDU_API_KEY\"]},\"primaryEnv\":\"BAIDU_API_KEY\" } }\n---\n\n# Baidu Search\n\nSearch the web via Baidu AI Search API.\n\n## Usage\n\n```bash\npython3 skills/baidu-search/scripts/search.py '<JSON>'\n```\n\n## Request Parameters\n\n| Param | Type | Required | Default | Description |\n|-------|------|----------|---------|-------------|\n| query | str | yes | - | Search query |\n| edition | str | no | standard | `standard` (full) or `lite` (light) |\n| resource_type_filter | list[obj] | no | web:20, others:0 | Resource types: web (max 50), video (max 10), image (max 30), aladdin (max 5) |\n| search_filter | obj | no | - | Advanced filters (see below) |\n| block_websites | list[str] | no | - | Sites to block, e.g. [\"tieba.baidu.com\"] |\n| search_recency_filter | str | no | - | Time filter: `week`, `month`, `semiyear`, `year` |\n| safe_search | bool | no | false | Enable strict content filtering |\n\n## SearchFilter\n\n| Param | Type | Description |\n|-------|------|-------------|\n| match.site | list[str] | Limit search to specific sites, e.g. [\"baike.baidu.com\"] |\n| range.pageTime | obj | Date range for page_time field (see below) |\n\n### Date Range Format\n\nFixed date: `YYYY-MM-DD`\nRelative time (from current day): `now-1w/d`, `now-1M/d`, `now-1y/d`\n\n| Operator | Meaning |\n|----------|---------|\n| gte | Greater or equal (start) |\n| lte | Less or equal (end) |\n\n## Examples\n\n```bash\n# Basic search\npython3 skills/baidu-search/scripts/search.py '{\"query\":\"人工智能\"}'\n\n# Filter by time and site\npython3 skills/baidu-search/scripts/search.py '{\n  \"query\":\"最新新闻\",\n  \"search_recency_filter\":\"week\",\n  \"search_filter\":{\"match\":{\"site\":[\"news.baidu.com\"]}}\n}'\n\n# Resource type filter\npython3 skills/baidu-search/scripts/search.py '{\n  \"query\":\"旅游景点\",\n  \"resource_type_filter\":[{\"type\":\"web\",\"top_k\":20},{\"type\":\"video\",\"top_k\":5}]\n}'\n```\n\n## Current Status\n\nFully functional.\n\nFile v1.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn7akgt520t01vgs2tzx7yk6m180kt26\",\n  \"slug\": \"baidu-search\",\n  \"version\": \"1.1.0\",\n  \"publishedAt\": 1770955893565\n}\n\nArchive v1.0.6: 3 files, 2476 bytes\n\nFiles: _meta.json (131b), scripts/search.py (2522b), SKILL.md (2114b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: baidu-search\ndescription: Search the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.\nmetadata: { \"openclaw\": { \"emoji\": \"🔍︎\",  \"requires\": { \"bins\": [\"python3\"], \"env\":[\"BAIDU_API_KEY\"]},\"primaryEnv\":\"BAIDU_API_KEY\" } }\n---\n\n# Baidu Search\n\nSearch the web via Baidu AI Search API.\n\n## Usage\n\n```bash\npython3 skills/baidu-search/scripts/search.py '<JSON>'\n```\n\n## Request Parameters\n\n| Param | Type | Required | Default | Description |\n|-------|------|----------|---------|-------------|\n| query | str | yes | - | Search query |\n| edition | str | no | standard | `standard` (full) or `lite` (light) |\n| resource_type_filter | list[obj] | no | web:20, others:0 | Resource types: web (max 50), video (max 10), image (max 30), aladdin (max 5) |\n| search_filter | obj | no | - | Advanced filters (see below) |\n| block_websites | list[str] | no | - | Sites to block, e.g. [\"tieba.baidu.com\"] |\n| search_recency_filter | str | no | - | Time filter: `week`, `month`, `semiyear`, `year` |\n| safe_search | bool | no | false | Enable strict content filtering |\n\n## SearchFilter\n\n| Param | Type | Description |\n|-------|------|-------------|\n| match.site | list[str] | Limit search to specific sites, e.g. [\"baike.baidu.com\"] |\n| range.pageTime | obj | Date range for page_time field (see below) |\n\n### Date Range Format\n\nFixed date: `YYYY-MM-DD`\nRelative time (from current day): `now-1w/d`, `now-1M/d`, `now-1y/d`\n\n| Operator | Meaning |\n|----------|---------|\n| gte | Greater or equal (start) |\n| lte | Less or equal (end) |\n\n## Examples\n\n```bash\n# Basic search\npython3 skills/baidu-search/scripts/search.py '{\"query\":\"人工智能\"}'\n\n# Filter by time and site\npython3 skills/baidu-search/scripts/search.py '{\n  \"query\":\"最新新闻\",\n  \"search_recency_filter\":\"week\",\n  \"search_filter\":{\"match\":{\"site\":[\"news.baidu.com\"]}}\n}'\n\n# Resource type filter\npython3 skills/baidu-search/scripts/search.py '{\n  \"query\":\"旅游景点\",\n  \"resource_type_filter\":[{\"type\":\"web\",\"top_k\":20},{\"type\":\"video\",\"top_k\":5}]\n}'\n```\n\n## Current Status\n\nFully functional.\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn7akgt520t01vgs2tzx7yk6m180kt26\",\n  \"slug\": \"baidu-search\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1770655751929\n}\n\nArchive v1.0.5: 3 files, 3776 bytes\n\nFiles: _meta.json (131b), scripts/search.py (2249b), SKILL.md (5518b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: baidu-search\ndescription: Search the web using Baidu AI Search Engine (BDSE). Use this when you need live information, documentation, or to research topics and the built-in web_search is unavailable.\nmetadata: { \"openclaw\": { \"emoji\": \"🔍︎\",  \"requires\": { \"bins\": [\"python3\"], \"env\":[\"BAIDU_API_KEY\"]},\"primaryEnv\":\"BAIDU_API_KEY\" } }\n---\n\n# Baidu Search Skill\n\nThis skill allows OpenClaw agents to perform web searches via Baidu AI Search Engine (BDSE).\n\n## Workflow\n\n1. The skill executes the Python script located at `scripts/search.py`\n2. The script makes a POST request to the Baidu AI Search API\n3. The API returns structured search results with titles, URLs, and content snippets\n\n## Parameters\n\n#### request body structure\n|  param   | type     | required|  default|  description|\n|----------|----------|----------|----------|-----------|\n|  query | str        | yes      |          | user query content|\n|  edition | str      | no      |  standard     |Optional value: standard: Full version. lite: Standard version. |\n|  resource_type_filter | list[obj]         | no      |    [{\"type\": \"web\",\"top_k\": 20},{\"type\": \"video\",\"top_k\": 0},{\"type\": \"image\",\"top_k\": 0},{\"type\": \"aladdin\",\"top_k\": 0}]      | Support setting web pages, videos, images, and Aladdin search modes. The maximum value of top_k for web pages is 50, for videos it is 10, for images it is 30, and for Aladdin it is 5|\n|  search_filter | list[obj]      | no      |       |Search and filter based on the sub-conditions under SearchFilter. For the usage method, please refer to the details of the SearchFilter table.|\n|  block_websites | list[str]      | no      |       |List of sites that need to be blocked. Filter the search results belonging to this site and its sub-sites in the site list. Example: [\"tieba.baidu.com\"]|\n|  search_recency_filter | str      | no      |      |Filter based on the publication time of the web page. Enumeration values: week: The last 7 days month: The last 30 days semiyear: The last 180 days, year: The last 365 days|\n|  safe_search | bool      | no      |  false    |Whether to enable secure search or not, if it is enabled, a stricter risk control strategy will be adopted, and some queries that may involve pornography or terrorism will not return search results.|\n\n### SearchFilter table\n|  param   | type     | required|  default|  description|\n|----------|----------|----------|----------|-----------|\n|  match | obj        | no      |          |filter site condition|\n|  match.site | str      | no      |          |Support setting search conditions for specified sites, that is, only conduct content search within the set sites. Currently, it supports setting up 100 sites. Example: [\"tieba.baidu.com\", \"baike.baidu.com\"] Note: This is a paid feature and is currently free for a limited time.|\n|  range | obj      | no      |          |Range query. It can be used for numeric and date-type fields. The grammar format is as follows: \"range\" : { \"{field}\" : { \"gte\" : \" {lowerBound}\" , \"gt\" : \"{lowerBound}\" , \"lte\" : \"{upperBound}\" , \"lt\" : \"{upperBound}\" }} Entity (field) pageTime: The name of the entity representing the publication time, indicating a range query for pageTime. Here, pageTime corresponds to the page_time field in the response data. The filtering function for web page publication time is only applicable to available and displayable libraries. Other results such as videos will not be recalled.|\n\n#### SearchFilter example\n```json\n{\n    \"match\": {\n        \"site\": [\"tieba.baidu.com\", \"baike.baidu.com\"]\n    },\n    \"range\": {\n        \"pageTime\": {\n            \"gte\": \"now-1w/d\",\n            \"lt\": \"now/d\"\n        }\n    }\n}\n```\n\n#### range usage description\n\nQuery range (lowerBound\\upperBound)\n1. Specify date Specify search date range, format: YYYY-MM-DD, for example: quot; range\" : { \" page_time\" : { \" gte\" : \" 2025-11-01\" , \" lte\" : \" 2025-11-04\" \n2. Time units supported by fixed packages: y (year), M (month), w (week), d (day). Currently, the following fixed packages are provided. Any other packages are illegal. Among them, \"now\" To represent the current time, a mathematical expression can be added after \"now\" : \"-1w\" indicates minus one week. \"-1M\" indicates minus one month; \"-1y\" indicates minus one year; \"/d\" indicates the start/end time normalized to the current day. \nthe fixed time unit enums:\n   now/d \n   now-1w/d: One week \n   now-2w/d: Two weeks \n   now-1M/d: One month \n   now-3M/d: Three months \n   now-6M/d: Six months \n   now-1y/d: One year \n\nParameter limitation description: \n1.lte usage note: The range range will participate in the calculation of the cache key in the retrieval system. After the lte performs upward rounding and rounding, due to cache, the result timeliness may lag behind the lte value specified by match. \n2. The lowerBound and upperBound times must exist simultaneously; otherwise, this function will not take effect. \n3. Only one of gte and gt needs to be passed. If both are passed, only gt will take effect\n\n\n## Example Usage\n\n```bash\npython3 skills/baidu-search/scripts/search.py '{\"query\":\"北京有哪些旅游景区\",\"resource_type_filter\":[{\"type\":\"web\",\"top_k\":20}],\"search_filter\":{\"match\":{\"site\":[\"www.weather.com.cn\"]}},\"search_recency_filter\":\"year\"}'\n```\n\n## Current Status\n\nThe Baidu search skill is fully functional and can be used to retrieve current information from the web. As demonstrated, it successfully retrieved weather information for Beijing, showing current conditions and forecasts.\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn7akgt520t01vgs2tzx7yk6m180kt26\",\n  \"slug\": \"baidu-search\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1770608945826\n}\n\nArchive v1.0.4: 3 files, 3752 bytes\n\nFiles: _meta.json (131b), scripts/search.py (2208b), SKILL.md (5518b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: baidu-search\ndescription: Search the web using Baidu AI Search Engine (BDSE). Use this when you need live information, documentation, or to research topics and the built-in web_search is unavailable.\nmetadata: { \"openclaw\": { \"emoji\": \"🔍︎\",  \"requires\": { \"bins\": [\"python3\"], \"env\":[\"BAIDU_API_KEY\"]},\"primaryEnv\":\"BAIDU_API_KEY\" } }\n---\n\n# Baidu Search Skill\n\nThis skill allows OpenClaw agents to perform web searches via Baidu AI Search Engine (BDSE).\n\n## Workflow\n\n1. The skill executes the Python script located at `scripts/search.py`\n2. The script makes a POST request to the Baidu AI Search API\n3. The API returns structured search results with titles, URLs, and content snippets\n\n## Parameters\n\n#### request body structure\n|  param   | type     | required|  default|  description|\n|----------|----------|----------|----------|-----------|\n|  query | str        | yes      |          | user query content|\n|  edition | str      | no      |  standard     |Optional value: standard: Full version. lite: Standard version. |\n|  resource_type_filter | list[obj]         | no      |    [{\"type\": \"web\",\"top_k\": 20},{\"type\": \"video\",\"top_k\": 0},{\"type\": \"image\",\"top_k\": 0},{\"type\": \"aladdin\",\"top_k\": 0}]      | Support setting web pages, videos, images, and Aladdin search modes. The maximum value of top_k for web pages is 50, for videos it is 10, for images it is 30, and for Aladdin it is 5|\n|  search_filter | list[obj]      | no      |       |Search and filter based on the sub-conditions under SearchFilter. For the usage method, please refer to the details of the SearchFilter table.|\n|  block_websites | list[str]      | no      |       |List of sites that need to be blocked. Filter the search results belonging to this site and its sub-sites in the site list. Example: [\"tieba.baidu.com\"]|\n|  search_recency_filter | str      | no      |      |Filter based on the publication time of the web page. Enumeration values: week: The last 7 days month: The last 30 days semiyear: The last 180 days, year: The last 365 days|\n|  safe_search | bool      | no      |  false    |Whether to enable secure search or not, if it is enabled, a stricter risk control strategy will be adopted, and some queries that may involve pornography or terrorism will not return search results.|\n\n### SearchFilter table\n|  param   | type     | required|  default|  description|\n|----------|----------|----------|----------|-----------|\n|  match | obj        | no      |          |filter site condition|\n|  match.site | str      | no      |          |Support setting search conditions for specified sites, that is, only conduct content search within the set sites. Currently, it supports setting up 100 sites. Example: [\"tieba.baidu.com\", \"baike.baidu.com\"] Note: This is a paid feature and is currently free for a limited time.|\n|  range | obj      | no      |          |Range query. It can be used for numeric and date-type fields. The grammar format is as follows: \"range\" : { \"{field}\" : { \"gte\" : \" {lowerBound}\" , \"gt\" : \"{lowerBound}\" , \"lte\" : \"{upperBound}\" , \"lt\" : \"{upperBound}\" }} Entity (field) pageTime: The name of the entity representing the publication time, indicating a range query for pageTime. Here, pageTime corresponds to the page_time field in the response data. The filtering function for web page publication time is only applicable to available and displayable libraries. Other results such as videos will not be recalled.|\n\n#### SearchFilter example\n```json\n{\n    \"match\": {\n        \"site\": [\"tieba.baidu.com\", \"baike.baidu.com\"]\n    },\n    \"range\": {\n        \"pageTime\": {\n            \"gte\": \"now-1w/d\",\n            \"lt\": \"now/d\"\n        }\n    }\n}\n```\n\n#### range usage description\n\nQuery range (lowerBound\\upperBound)\n1. Specify date Specify search date range, format: YYYY-MM-DD, for example: quot; range\" : { \" page_time\" : { \" gte\" : \" 2025-11-01\" , \" lte\" : \" 2025-11-04\" \n2. Time units supported by fixed packages: y (year), M (month), w (week), d (day). Currently, the following fixed packages are provided. Any other packages are illegal. Among them, \"now\" To represent the current time, a mathematical expression can be added after \"now\" : \"-1w\" indicates minus one week. \"-1M\" indicates minus one month; \"-1y\" indicates minus one year; \"/d\" indicates the start/end time normalized to the current day. \nthe fixed time unit enums:\n   now/d \n   now-1w/d: One week \n   now-2w/d: Two weeks \n   now-1M/d: One month \n   now-3M/d: Three months \n   now-6M/d: Six months \n   now-1y/d: One year \n\nParameter limitation description: \n1.lte usage note: The range range will participate in the calculation of the cache key in the retrieval system. After the lte performs upward rounding and rounding, due to cache, the result timeliness may lag behind the lte value specified by match. \n2. The lowerBound and upperBound times must exist simultaneously; otherwise, this function will not take effect. \n3. Only one of gte and gt needs to be passed. If both are passed, only gt will take effect\n\n\n## Example Usage\n\n```bash\npython3 skills/baidu-search/scripts/search.py '{\"query\":\"北京有哪些旅游景区\",\"resource_type_filter\":[{\"type\":\"web\",\"top_k\":20}],\"search_filter\":{\"match\":{\"site\":[\"www.weather.com.cn\"]}},\"search_recency_filter\":\"year\"}'\n```\n\n## Current Status\n\nThe Baidu search skill is fully functional and can be used to retrieve current information from the web. As demonstrated, it successfully retrieved weather information for Beijing, showing current conditions and forecasts.\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn7akgt520t01vgs2tzx7yk6m180kt26\",\n  \"slug\": \"baidu-search\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1770564501972\n}\n\nArchive v1.0.3: 3 files, 3734 bytes\n\nFiles: _meta.json (131b), scripts/search.py (2195b), SKILL.md (5504b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: baidu-search\ndescription: Search the web using Baidu AI Search Engine (BDSE). Use this when you need live information, documentation, or to research topics and the built-in web_search is unavailable.\nmetadata: { \"openclaw\": { \"emoji\": \"🔍︎\",  \"requires\": { \"bins\": [\"python3\"], \"env\":[\"apiKey\"]},\"primaryEnv\":\"apiKey\" } }\n---\n\n# Baidu Search Skill\n\nThis skill allows OpenClaw agents to perform web searches via Baidu AI Search Engine (BDSE).\n\n## Workflow\n\n1. The skill executes the Python script located at `scripts/search.py`\n2. The script makes a POST request to the Baidu AI Search API\n3. The API returns structured search results with titles, URLs, and content snippets\n\n## Parameters\n\n#### request body structure\n|  param   | type     | required|  default|  description|\n|----------|----------|----------|----------|-----------|\n|  query | str        | yes      |          | user query content|\n|  edition | str      | no      |  standard     |Optional value: standard: Full version. lite: Standard version. |\n|  resource_type_filter | list[obj]         | no      |    [{\"type\": \"web\",\"top_k\": 20},{\"type\": \"video\",\"top_k\": 0},{\"type\": \"image\",\"top_k\": 0},{\"type\": \"aladdin\",\"top_k\": 0}]      | Support setting web pages, videos, images, and Aladdin search modes. The maximum value of top_k for web pages is 50, for videos it is 10, for images it is 30, and for Aladdin it is 5|\n|  search_filter | list[obj]      | no      |       |Search and filter based on the sub-conditions under SearchFilter. For the usage method, please refer to the details of the SearchFilter table.|\n|  block_websites | list[str]      | no      |       |List of sites that need to be blocked. Filter the search results belonging to this site and its sub-sites in the site list. Example: [\"tieba.baidu.com\"]|\n|  search_recency_filter | str      | no      |      |Filter based on the publication time of the web page. Enumeration values: week: The last 7 days month: The last 30 days semiyear: The last 180 days, year: The last 365 days|\n|  safe_search | bool      | no      |  false    |Whether to enable secure search or not, if it is enabled, a stricter risk control strategy will be adopted, and some queries that may involve pornography or terrorism will not return search results.|\n\n### SearchFilter table\n|  param   | type     | required|  default|  description|\n|----------|----------|----------|----------|-----------|\n|  match | obj        | no      |          |filter site condition|\n|  match.site | str      | no      |          |Support setting search conditions for specified sites, that is, only conduct content search within the set sites. Currently, it supports setting up 100 sites. Example: [\"tieba.baidu.com\", \"baike.baidu.com\"] Note: This is a paid feature and is currently free for a limited time.|\n|  range | obj      | no      |          |Range query. It can be used for numeric and date-type fields. The grammar format is as follows: \"range\" : { \"{field}\" : { \"gte\" : \" {lowerBound}\" , \"gt\" : \"{lowerBound}\" , \"lte\" : \"{upperBound}\" , \"lt\" : \"{upperBound}\" }} Entity (field) pageTime: The name of the entity representing the publication time, indicating a range query for pageTime. Here, pageTime corresponds to the page_time field in the response data. The filtering function for web page publication time is only applicable to available and displayable libraries. Other results such as videos will not be recalled.|\n\n#### SearchFilter example\n```json\n{\n    \"match\": {\n        \"site\": [\"tieba.baidu.com\", \"baike.baidu.com\"]\n    },\n    \"range\": {\n        \"pageTime\": {\n            \"gte\": \"now-1w/d\",\n            \"lt\": \"now/d\"\n        }\n    }\n}\n```\n\n#### range usage description\n\nQuery range (lowerBound\\upperBound)\n1. Specify date Specify search date range, format: YYYY-MM-DD, for example: quot; range\" : { \" page_time\" : { \" gte\" : \" 2025-11-01\" , \" lte\" : \" 2025-11-04\" \n2. Time units supported by fixed packages: y (year), M (month), w (week), d (day). Currently, the following fixed packages are provided. Any other packages are illegal. Among them, \"now\" To represent the current time, a mathematical expression can be added after \"now\" : \"-1w\" indicates minus one week. \"-1M\" indicates minus one month; \"-1y\" indicates minus one year; \"/d\" indicates the start/end time normalized to the current day. \nthe fixed time unit enums:\n   now/d \n   now-1w/d: One week \n   now-2w/d: Two weeks \n   now-1M/d: One month \n   now-3M/d: Three months \n   now-6M/d: Six months \n   now-1y/d: One year \n\nParameter limitation description: \n1.lte usage note: The range range will participate in the calculation of the cache key in the retrieval system. After the lte performs upward rounding and rounding, due to cache, the result timeliness may lag behind the lte value specified by match. \n2. The lowerBound and upperBound times must exist simultaneously; otherwise, this function will not take effect. \n3. Only one of gte and gt needs to be passed. If both are passed, only gt will take effect\n\n\n## Example Usage\n\n```bash\npython3 skills/baidu-search/scripts/search.py '{\"query\":\"北京有哪些旅游景区\",\"resource_type_filter\":[{\"type\":\"web\",\"top_k\":20}],\"search_filter\":{\"match\":{\"site\":[\"www.weather.com.cn\"]}},\"search_recency_filter\":\"year\"}'\n```\n\n## Current Status\n\nThe Baidu search skill is fully functional and can be used to retrieve current information from the web. As demonstrated, it successfully retrieved weather information for Beijing, showing current conditions and forecasts.\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn7akgt520t01vgs2tzx7yk6m180kt26\",\n  \"slug\": \"baidu-search\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1770553431928\n}\n\nArchive v1.0.2: 3 files, 3963 bytes\n\nFiles: _meta.json (131b), scripts/search.py (2209b), SKILL.md (5973b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: baidu-search\ndescription: Search the web using Baidu AI Search Engine (BDSE). Use this when you need live information, documentation, or to research topics and the built-in web_search is unavailable.\nmetadata: { \"openclaw\": { \"emoji\": \"🔍︎\",  \"requires\": { \"bins\": [\"python3\"], \"env\":[\"BAIDU_API_KEY\"]},\"primaryEnv\":\"BAIDU_API_KEY\" } }\n---\n\n# Baidu Search Skill\n\nThis skill allows OpenClaw agents to perform web searches via Baidu AI Search Engine (BDSE).\n\n## Setup\n\n1.  **API Key:** Ensure the BAIDU_API_KEY environment variable is set with your valid API key.\n2.  **Environment:** The API key should be available in the runtime environment.\n3.  **BAIDU_API_KEY:** BAIDU_API_KEY available, need to go to the baidu cloud platform(https://login.bce.baidu.com) registered account, if you already have account will go to get the API KEY (https://console.bce.baidu.com/qianfan/ais/console/apiKey)\n\n## Workflow\n\n1. The skill executes the Python script located at `scripts/search.py`\n2. The script makes a POST request to the Baidu AI Search API\n3. The API returns structured search results with titles, URLs, and content snippets\n\n## Parameters\n\n#### request body structure\n|  param   | type     | required|  default|  description|\n|----------|----------|----------|----------|-----------|\n|  query | str        | yes      |          | user query content|\n|  edition | str      | no      |  standard     |Optional value: standard: Full version. lite: Standard version. |\n|  resource_type_filter | list[obj]         | no      |    [{\"type\": \"web\",\"top_k\": 20},{\"type\": \"video\",\"top_k\": 0},{\"type\": \"image\",\"top_k\": 0},{\"type\": \"aladdin\",\"top_k\": 0}]      | Support setting web pages, videos, images, and Aladdin search modes. The maximum value of top_k for web pages is 50, for videos it is 10, for images it is 30, and for Aladdin it is 5|\n|  search_filter | list[obj]      | no      |       |Search and filter based on the sub-conditions under SearchFilter. For the usage method, please refer to the details of the SearchFilter table.|\n|  block_websites | list[str]      | no      |       |List of sites that need to be blocked. Filter the search results belonging to this site and its sub-sites in the site list. Example: [\"tieba.baidu.com\"]|\n|  search_recency_filter | str      | no      |      |Filter based on the publication time of the web page. Enumeration values: week: The last 7 days month: The last 30 days semiyear: The last 180 days, year: The last 365 days|\n|  safe_search | bool      | no      |  false    |Whether to enable secure search or not, if it is enabled, a stricter risk control strategy will be adopted, and some queries that may involve pornography or terrorism will not return search results.|\n\n### SearchFilter table\n|  param   | type     | required|  default|  description|\n|----------|----------|----------|----------|-----------|\n|  match | obj        | no      |          |filter site condition|\n|  match.site | str      | no      |          |Support setting search conditions for specified sites, that is, only conduct content search within the set sites. Currently, it supports setting up 100 sites. Example: [\"tieba.baidu.com\", \"baike.baidu.com\"] Note: This is a paid feature and is currently free for a limited time.|\n|  range | obj      | no      |          |Range query. It can be used for numeric and date-type fields. The grammar format is as follows: \"range\" : { \"{field}\" : { \"gte\" : \" {lowerBound}\" , \"gt\" : \"{lowerBound}\" , \"lte\" : \"{upperBound}\" , \"lt\" : \"{upperBound}\" }} Entity (field) pageTime: The name of the entity representing the publication time, indicating a range query for pageTime. Here, pageTime corresponds to the page_time field in the response data. The filtering function for web page publication time is only applicable to available and displayable libraries. Other results such as videos will not be recalled.|\n\n#### SearchFilter example\n```json\n{\n    \"match\": {\n        \"site\": [\"tieba.baidu.com\", \"baike.baidu.com\"]\n    },\n    \"range\": {\n        \"pageTime\": {\n            \"gte\": \"now-1w/d\",\n            \"lt\": \"now/d\"\n        }\n    }\n}\n```\n\n#### range usage description\n\nQuery range (lowerBound\\upperBound)\n1. Specify date Specify search date range, format: YYYY-MM-DD, for example: quot; range\" : { \" page_time\" : { \" gte\" : \" 2025-11-01\" , \" lte\" : \" 2025-11-04\" \n2. Time units supported by fixed packages: y (year), M (month), w (week), d (day). Currently, the following fixed packages are provided. Any other packages are illegal. Among them, \"now\" To represent the current time, a mathematical expression can be added after \"now\" : \"-1w\" indicates minus one week. \"-1M\" indicates minus one month; \"-1y\" indicates minus one year; \"/d\" indicates the start/end time normalized to the current day. \nthe fixed time unit enums:\n   now/d \n   now-1w/d: One week \n   now-2w/d: Two weeks \n   now-1M/d: One month \n   now-3M/d: Three months \n   now-6M/d: Six months \n   now-1y/d: One year \n\nParameter limitation description: \n1.lte usage note: The range range will participate in the calculation of the cache key in the retrieval system. After the lte performs upward rounding and rounding, due to cache, the result timeliness may lag behind the lte value specified by match. \n2. The lowerBound and upperBound times must exist simultaneously; otherwise, this function will not take effect. \n3. Only one of gte and gt needs to be passed. If both are passed, only gt will take effect\n\n\n## Example Usage\n\n```bash\nBAIDU_API_KEY=xxx python3 skills/baidu-search/scripts/search.py '{\"query\":\"北京有哪些旅游景区\",\"resource_type_filter\":[{\"type\":\"web\",\"top_k\":20}],\"search_filter\":{\"match\":{\"site\":[\"www.weather.com.cn\"]}},\"search_recency_filter\":\"year\"}'\n```\n\n## Current Status\n\nThe Baidu search skill is fully functional and can be used to retrieve current information from the web. As demonstrated, it successfully retrieved weather information for Beijing, showing current conditions and forecasts.\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn7akgt520t01vgs2tzx7yk6m180kt26\",\n  \"slug\": \"baidu-search\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1770457789321\n}","readmeExcerpt":"Skill: Baidu web search Owner: ide-rea Summary: Search the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics. Tags: latest:1.1.4 Version history: v1.1.4 | 2026-04-16T11:27:11.266Z | user - Removed the _meta.json file from the skill. - No feature or behavior changes; functionality remains fully intact. v1.1.3 | 2026-03-18T10:15:34.466Z | auto - Added new documentation","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"python3 skills/baidu-search/scripts/search.py '<JSON>'"},{"language":"bash","snippet":"# Basic search\npython3 scripts/search.py '{\"query\":\"人工智能\"}'\n\n# Freshness first format \"YYYY-MM-DDtoYYYY-MM-DD\" example\npython3 scripts/search.py '{\n  \"query\":\"最新新闻\",\n  \"freshness\":\"2025-09-01to2025-09-08\"\n}'\n\n# Freshness second format pd、pw、pm、py example\npython3 scripts/search.py '{\n  \"query\":\"最新新闻\",\n  \"freshness\":\"pd\"\n}'\n\n# set count, the number of results to return\npython3 scripts/search.py '{\n  \"query\":\"旅游景点\",\n  \"count\": 20,\n}'"},{"language":"json","snippet":"{\n  \"skills\": {\n    \"entries\": {\n      \"baidu-search\": {\n        \"env\": {\n          \"BAIDU_API_KEY\": \"your_actual_api_key_here\"\n        }\n      }\n    }\n  }\n}"},{"language":"bash","snippet":"# Check JSON format\ncat ~/.openclaw/openclaw.json | python -m json.tool"},{"language":"bash","snippet":"openclaw gateway restart"},{"language":"bash","snippet":"cd ~/.openclaw/workspace/skills/baidu-search\npython3 scripts/search.py '{\"query\": \"test search\"}'"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: baidu-search\ndescription: Search the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.\nmetadata: { \"openclaw\": { \"emoji\": \"🔍︎\",  \"requires\": { \"bins\": [\"python3\"], \"env\":[\"BAIDU_API_KEY\"]},\"primaryEnv\":\"BAIDU_API_KEY\" } }\n---\n\n# Baidu Search\n\nSearch the web via Baidu AI Search API.\n\n## Prerequisites\n\n### API Key Configuration\nThis skill requires a **BAIDU_API_KEY** to be configured in OpenClaw.\n\nIf you don't have an API key yet, please visit:\n**https://console.bce.baidu.com/ai-search/qianfan/ais/console/apiKey**\n\nFor detailed setup instructions, see:\n[references/apikey-fetch.md](references/apikey-fetch.md)\n\n## Usage\n\n```bash\npython3 skills/baidu-search/scripts/search.py '<JSON>'\n```\n\n## Request Parameters\n\n| Param | Type | Required | Default | Description |\n|-------|------|----------|---------|-------------|\n| query | str | yes | - | Search query |\n| count | int | no | 10 | Number of results to return, range 1-50 |\n| freshness | str | no | Null | Time range, two formats: format one is ”YYYY-MM-DDtoYYYY-MM-DD“, and format two includes pd, pw, pm, and py, representing the past 24 hours, past 7 days, past 31 days, and past 365 days respectively |\n\n## Examples\n\n```bash\n# Basic search\npython3 scripts/search.py '{\"query\":\"人工智能\"}'\n\n# Freshness first format \"YYYY-MM-DDtoYYYY-MM-DD\" example\npython3 scripts/search.py '{\n  \"query\":\"最新新闻\",\n  \"freshness\":\"2025-09-01to2025-09-08\"\n}'\n\n# Freshness second format pd、pw、pm、py example\npython3 scripts/search.py '{\n  \"query\":\"最新新闻\",\n  \"freshness\":\"pd\"\n}'\n\n# set count, the number of results to return\npython3 scripts/search.py '{\n  \"query\":\"旅游景点\",\n  \"count\": 20,\n}'\n```\n\n## Current Status\n\nFully functional."},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7akgt520t01vgs2tzx7yk6m180kt26\",\n  \"slug\": \"baidu-search\",\n  \"version\": \"1.1.4\",\n  \"publishedAt\": 1776338831266\n}"},{"path":"references/apikey-fetch.md","content":"# Baidu API Key Setup Guide (OpenClaw)\n\n## BAIDU_API_KEY Not Configured\n\nWhen the `BAIDU_API_KEY` environment variable is not set, follow these steps:\n\n### 1. Get API Key\nVisit: **https://console.bce.baidu.com/ai-search/qianfan/ais/console/apiKey**\n\n- Log in to your Baidu Cloud account\n- Create an application or view existing API keys\n- Copy your **API Key** (only API Key is needed)\n\n### 2. Configure OpenClaw\nEdit the OpenClaw configuration file: `~/.openclaw/openclaw.json`\n\nAdd or merge the following structure:\n\n```json\n{\n  \"skills\": {\n    \"entries\": {\n      \"baidu-search\": {\n        \"env\": {\n          \"BAIDU_API_KEY\": \"your_actual_api_key_here\"\n        }\n      }\n    }\n  }\n}\n```\n\nReplace `\"your_actual_api_key_here\"` with your actual API key.\n\n### 3. Verify Configuration\n```bash\n# Check JSON format\ncat ~/.openclaw/openclaw.json | python -m json.tool\n```\n\n### 4. Restart OpenClaw\n```bash\nopenclaw gateway restart\n```\n\n### 5. Test\n```bash\ncd ~/.openclaw/workspace/skills/baidu-search\npython3 scripts/search.py '{\"query\": \"test search\"}'\n```\n\n## Troubleshooting\n- Ensure `~/.openclaw/openclaw.json` exists with correct JSON format\n- Confirm API key is valid and Baidu AI Search service is activated\n- Check account balance on Baidu Cloud\n- Restart OpenClaw after configuration changes\n\n**Recommended**: Use OpenClaw configuration file for centralized management"},{"path":"skill-card.md","content":"## Description: <br>\nSearch the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[ide-rea](https://clawhub.ai/user/ide-rea) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers, researchers, and external agent users use this skill to fetch current Baidu web search references for live information, documentation lookup, and research tasks. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Search queries are sent to Baidu or to the configured sandbox proxy. <br>\nMitigation: Use the skill only for queries that are acceptable to share with that service path. <br>\nRisk: The skill requires a sensitive Baidu API key. <br>\nMitigation: Use a dedicated revocable key, keep the OpenClaw configuration private, and rotate the key if exposure is suspected. <br>\nRisk: API usage may consume quota or incur billing. <br>\nMitigation: Monitor Baidu Cloud quota, account balance, and billing for the key used by this skill. <br>\n\n\n## Reference(s): <br>\n- [Baidu API Key Setup Guide](references/apikey-fetch.md) <br>\n- [Baidu AI Search API key console](https://console.bce.baidu.com/ai-search/qianfan/ais/console/apiKey) <br>\n- [Baidu AI Search web search endpoint](https://qianfan.baidubce.com/v2/ai_search/web_search) <br>\n- [ClawHub skill page](https://clawhub.ai/ide-rea/baidu-search) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, json, shell commands, configuration, guidance] <br>\n**Output Format:** [JSON search results printed to stdout, with Markdown setup guidance in the bundled reference file.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Accepts a JSON request with query, optional count from 1 to 50, and optional freshness filters; removes snippets from returned reference items.] <br>\n\n## Skill Version(s): <br>\n1.1.4 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1297,"uniquenessScore":44,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-06-01T00:30:42.289Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-06-01T00:30:42.289Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-09T00:23:04.208Z","emptyReason":null},"items":[{"id":"959108e7-5f7c-45ac-bea0-9ab67f017226","entityType":"agent","canonicalPath":"/agent/langchain-x1pay-langchain","slug":"langchain-x1pay-langchain","name":"@x1pay/langchain","description":"LangChain/LangGraph tools for AI agent x402 payments on X1","url":"https://www.npmjs.com/package/@x1pay/langchain","homepage":null,"source":"GITHUB_OPENCLEW","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":70,"overallRank":65,"updatedAt":"2026-06-01T00:29:07.099Z","createdAt":"2026-05-23T06:52:58.553Z","downloads":null},{"id":"4f8f8f95-34f7-49a9-b516-391d1c355d6c","entityType":"agent","canonicalPath":"/agent/langchain-langchain-langgraph-swarm","slug":"langchain-langchain-langgraph-swarm","name":"@langchain/langgraph-swarm","description":"An implementation of a multi-agent swarm using LangGraph","url":"git+ssh://git@github.com/langchain-ai/langgraphjs.git","homepage":"https://github.com/langchain-ai/langgraphjs#readme","source":"GITHUB_OPENCLEW","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":70,"overallRank":65,"updatedAt":"2026-06-01T00:29:03.792Z","createdAt":"2026-05-23T06:52:55.396Z","downloads":null},{"id":"e36fd59b-38d7-4e73-aa20-c1431a8f7434","entityType":"agent","canonicalPath":"/agent/langchain-langchain-langgraph-supervisor","slug":"langchain-langchain-langgraph-supervisor","name":"@langchain/langgraph-supervisor","description":"LangGraph Multi-Agent Supervisor","url":"git+ssh://git@github.com/langchain-ai/langgraphjs.git","homepage":"https://github.com/langchain-ai/langgraphjs#readme","source":"GITHUB_OPENCLEW","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":70,"overallRank":65,"updatedAt":"2026-06-01T00:29:03.756Z","createdAt":"2026-05-23T06:52:55.353Z","downloads":null},{"id":"d1d0f93e-b722-4791-9bbf-2532470054c2","entityType":"agent","canonicalPath":"/agent/langchain-oceanbus-langchain","slug":"langchain-oceanbus-langchain","name":"oceanbus-langchain","description":"LangChain tools for OceanBus — give your LangChain and CrewAI agents a global identity, encrypted messaging, and Yellow Pages service discovery with a single import.","url":"git+https://github.com/oceanbus/oceanbus.git","homepage":"https://github.com/oceanbus/oceanbus#readme","source":"GITHUB_OPENCLEW","protocols":["OPENCLAW"],"capabilities":["oceanbus","langchain","langchain-tools","agent-to-agent","ai-agent","communication","messaging","e2ee","structured-tool","yellow-pages","service-discovery","reputation","crewai"],"safetyScore":70,"overallRank":65,"updatedAt":"2026-06-01T00:29:02.595Z","createdAt":"2026-05-23T06:52:54.240Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}