mirror of
https://git.openapi.site/https://github.com/desirecore/market.git
synced 2026-10-21 06:24:08 +08:00
## 中文 补齐已有 owner 与已锁定上游内容可证明的许可证、技能类型和收录版本。保留 Anthropic Source Available 和其他附加条件,不把所有内容统一标为 MIT,不提升 listing-only 的安装准入。 README 保留最新的双语结构及以 manifest 为准的数量口径,增加静态目录不存访问量、下载量、评分或 Stars 的边界。 发布兼容性:**本 PR 不包含**两支团队新增的本地化字段,也不包含微信支付 `latestVersion: 1.0`;旧客户端会拒绝这些新字段,另以待发布 PR 保留,等匹配客户端发布后再合并。 验证:47 项目录校验测试、19 项 i18n 测试、5 项合集生成测试通过;完整目录/i18n/翻译新鲜度检查通过,6 个固定来源合集的生成检查通过,2 个浮动来源按既有规则明确跳过。发现并修复了生成器在 Windows 使用反斜杠造成的误报:输出改为 POSIX 路径,比较规则不放宽、不重写合集数据。 ## English Fill only license, type and listed-release facts supported by existing owners or pinned upstream content. Preserve custom license restrictions and acquisition eligibility. Keep the current bilingual README and manifest-derived inventory; do not author usage analytics. This PR deliberately excludes localized team fields and the two-part WeChat Pay version that older clients reject. Those changes remain pending a compatible client release. Validation passes: 47 catalog-validator tests, 19 i18n tests, five collection-generator tests, complete catalog and translation checks, and generated inventory checks for six pinned collections. Two mutable sources remain explicitly skipped. Fix Windows-generated path separators without weakening comparison or changing declared children.
6.0 KiB
6.0 KiB
license, name, description, version, type, risk_level, status, tags, metadata, market
| license | name | description | version | type | risk_level | status | tags | metadata | market | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MIT | baidu-poi-search | 百度地图企业 POI 搜索——输入企业名称,返回 POI 名称/地址/经纬度/分支机构。Use when 用户提到"查企业地址"、"查公司位置"、"POI搜索"、"企业地图"、"经纬度"、"查分支机构"、"百度地图"、"企业网点"、"周边企业"。 | 1.0.0 | procedural | low | enabled |
|
|
|
Baidu Map POI Search
L0: One-Sentence Summary
Input a company name, call the Baidu Map Place Search API, and return normalized POI data (name / address / coordinates / province & city).
L1: Overview
- Data source: Baidu Map Open Platform Place Search API v2
- Auth: AK (free quota for individual developers)
- Invocation: HTTP GET (curl / HttpRequest tool)
- Prerequisites: no browser, no extra dependencies — pure REST API
Credential Setup
This skill requires a Baidu Map AK (access key):
- Register a developer account at the Baidu Map Open Platform
- Console → App Management → Create an app (enable the "Place Search" service; choose the empty-whitelist
0.0.0.0/0AK type) - Export the AK as the environment variable
BAIDU_MAP_AK, or replace the{BAIDU_MAP_AK}placeholder in the commands below
If the local DesireCore service catalog already registers the Baidu Map service (endpoint
https://api.map.baidu.com), prefer calling it through the catalog so credentials are managed centrally.
L2: Procedure
1. Build the request
curl -s --max-time 15 --ssl-no-revoke \
"https://api.map.baidu.com/place/v2/search?query={company-name-URL-encoded}®ion={city-or-nationwide}&output=json&page_size=20&ak=${BAIDU_MAP_AK}"
Parameters:
| Param | Value | Notes |
|---|---|---|
| query | Company name (URL-encoded) | e.g. 华为技术有限公司 → %E5%8D%8E%E4%B8%BA%E6%8A%80%E6%9C%AF%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8 |
| region | City name or 全国 (nationwide) |
Scope; use nationwide when unsure |
| output | json | Fixed |
| page_size | 20 | Max 20 per page |
| ak | {BAIDU_MAP_AK} |
Baidu Map AK (free for individual developers) |
2. Interpret the response
status == 0: success, extractresults[]status != 0: failure, checkmessage(101 = AK missing, 200 = AK disabled, 302 = quota exceeded)
3. Normalized mapping
Map each entry in results[] to:
{
"source": "baidu-poi",
"company_name": "{user input}",
"poi_name": "{result.name}",
"address": "{result.address}",
"latitude": "{result.location.lat}",
"longitude": "{result.location.lng}",
"province": "{result.province}",
"city": "{result.city}"
}
4. Homonym filtering (due-diligence scenario)
POI results may contain same-name noise (e.g. "南岗华为公司" is not "华为技术有限公司"). Filtering suggestion:
- Exact match:
result.nameequals the full company name →match=exact - Partial match:
result.namecontains the full name or its short name →match=partial - Otherwise →
match=related, listed separately in due-diligence reports
5. Output format
{
"query_status": "success",
"source": "baidu-poi",
"total": 5,
"results": [
{ "poi_name": "华为技术有限公司", "address": "广东省深圳市龙岗区...", "latitude": "22.656137", "longitude": "114.066131", "match": "exact" }
],
"timestamp": "2026-08-31T21:00:00+08:00"
}
Known Limitations
- Free quota: QPS (~3/s) and daily caps (~100 place-search calls/day) for individual developers, per console quota management
- POI ≠ registered business address: results are map annotations and may differ from the registered address (note the distinction in due diligence)
- Homonyms: short names of famous companies hit many non-target POIs — prefer the full company name
Troubleshooting
| Code | Meaning | Fix |
|---|---|---|
| 0 | Success | — |
| 101 | AK param missing | Check the ak parameter |
| 200 | AK disabled | Check app status in the Baidu console |
| 201 | AK/SN check failed | This recipe uses an empty-whitelist 0.0.0.0/0 AK; no SN needed |
| 302 | Quota exceeded | Wait for the daily reset or upgrade the quota |
| 240 | API service invalid | The AK has not enabled "Place Search" — fix the app in the console |