Skip to content

baidu-maps/baidu-map

v1.2.0MIT

百度地图开放平台一体化 plugin。通过并列 Skills 自动处理地理问答、BMapGL 前端开发、WebAPI 服务端开发与账户凭据管理,并内置官方文档检索 MCP。

Changelog

本项目版本号遵循 Semantic Versioning

1.2.0

变更

  • 交付目录升级为可直接添加到 Codex 的本地 marketplace;接收方不再需要手工创建 .agents/plugins/marketplace.json 或重新组织裸 Plugin。
  • 外层交付目录统一命名为 baidu-map-marketplace/,与 marketplace 标识一致;内部 Agent Plugin 仍命名为 baidu-map
  • Agent Plugin 移入 marketplace 根目录下的 baidu-map/,仍保持 Agent Plugins 1.0.0 原生 plugin.jsonmcp.jsonskills/ 结构,不引入旧式兼容清单。
  • 静态校验增加 marketplace 清单、Plugin 名称、相对来源路径和安装策略检查。
  • 隔离 E2E 直接复制并安装实际交付目录,避免测试动态生成另一份 marketplace 后产生偏差。

1.1.0

变更

  • 四个 Skill 改为并列自动发现,不再把 bmap-cli 设计成 plugin 入口或总分诊器。
  • bmap-cli 只负责 CLI 自举、登录、AK / SK、样式、配额、消费量和账户资源管理;业务 Skill 仅在缺少凭据时按需调用它。
  • baidu-ai-map 明确为直接地理结果的默认路径,判断标准从“问题复杂度”改为“用户要答案还是代码”。
  • baidu-map-jsapi-glbaidu-map-webapi 分别收紧为浏览器前端和服务端代码任务,避免抢占普通地点、路线和天气请求。
  • Skill 与文档 MCP 改为流程和事实的互补关系:本地 reference 处理常用模式,精确、缺失、版本相关或最新事实查询官方 MCP。
  • 将 Agent Plan 接口细节下沉到按需加载的 reference,并压缩 WebAPI 主 Skill;四个 SKILL.md 均低于 Codex 0.147.0 的 8 KiB 主提示词上限,避免加载时被截断。
  • 移除 Codex 当前校验器尚未接受的可选 compatibility frontmatter;运行依赖继续由 Skill 正文、README 与扁平 metadata 表达,使 Agent Plugin 与 Codex 两套校验同时通过。
  • README 增加面向接收方的完整 marketplace 安装步骤,并明确自然语言是正常入口,显式 $skill / mcp:// 仅用于调试。
  • 隔离 Codex E2E 增加无显式组件名的自然语言 Skill 路由与 MCP 自动发现验证,并拒绝任何 Skill 截断事件。

1.0.0

首个 Agent Plugins 1.0.0 版本。由原先散落在 ~/.agents/skills/ 下的四个独立 skill 加一份手工写入的 MCP 配置,重构为单一可移植 plugin 包。

新增

  • plugin.json:符合 Agent Plugins 1.0.0 的闭合 manifest。
  • mcp.json:以 stdio 传输声明 baidu-maps-docs
  • bin/docs-mcp-proxy.mjs:stdio ↔ Streamable HTTP 代理。上游 docs.map.baidu.com/mcp/?ak= 查询参数鉴权,而规范禁止在远程 MCP 的 url / headers 中做占位符展开或内嵌凭据(§7.2.1),因此该端点无法直接以 streamable-http 声明。代理在运行时从 BAIDU_MAPS_DOCS_AK / BMAP_AK 或本地 bmap-cli 登录态解析 AK,凭据不落入包内任何文件。
  • skills/bmap-cli/scripts/ensure-cli.sh:客户端无关的 CLI 自举脚本。默认只探测,缺失时 输出固定下载域名、命令与安全提示;仅在用户确认后显式传入 --install 才下载。
  • tools/validate.mjs:零依赖校验器,覆盖 Agent Plugins §4/§5/§7 与 Agent Skills frontmatter 约束。
  • tools/test-in-codex.sh:使用 /opt/homebrew/bin/codex 与全新临时 CODEX_HOME,只 复制认证文件,不继承既有 skill/MCP;通过 local marketplace 安装后实际加载 skill、 调用文档 MCP,再只清理临时目录。已在 codex-cli 0.147.0 验证。

修复

  • baidu-map-jsapi-gl:frontmatter name 原为 bmap-jsapi-gl,与父目录名不一致, 严格客户端会跳过该 skill。已改为 baidu-map-jsapi-gl
  • 全部四个 skill:metadata 原为嵌套对象(openclaw.requires.env 等),而 Agent Skills 规范只允许 string→string 扁平映射。已扁平化为 openclaw.primaryEnv 等 键,环境依赖改用规范定义的 compatibility 字段表述。
  • baidu-ai-map:原指向不存在的 bmap-cli auth get-token(CLI v1.0.1 无 auth 子命令)。已改为 ap listdata.api_key,并补上「先查后建」约束—— ap create 是重置语义,会立即作废账号在用的所有 SK。
  • baidu-map-webapirecipes/ 并入 references/recipes/(规范只约定 scripts/ references/ assets/),并修正 25 处因移动而失效的相对引用。
  • Codex 0.147.0 会过滤 plugin MCP 子进程的任意宿主环境变量,原 E2E 通过 BAIDU_MAPS_DOCS_AK 注入凭据无法生效。测试现仅在 MCP 阶段复用真实 HOME 中由 bmap-cli 管理的登录态,CODEX_HOME 仍完全隔离;同时增加 CLI 更新提示上浮检查。
  • Codex 0.147.0 的非交互 exec 无法响应 Plugin MCP 审批提示。E2E 现仅在隔离 CODEX_HOME 的已安装 plugin 条目下批准 baidu-maps-docs.list_docs,继续使用 read-only 沙箱;该测试策略不注册 MCP、不写入真实配置,也不放宽 shell 权限。

变更

  • 单包双路径:轻量路径(Agent Plan,仅需登录态、零 AK)与完整路径(写代码,需 对应端 AK)合并在同一 plugin 中,不做拆分。bmap-cli skill 新增「能力分诊」一节 作为唯一分流点;baidu-ai-mapbaidu-map-webapi 各自声明边界,互相禁止替代。 轻量路径明确禁止触发 ak list / AK 创建 / 询问 AK 类型——否则一个零配置请求会 退化成申请凭据的对话。
  • bmap-cli skill 移除「阶段一:环境准备」中的 skills installmcp install 步骤。plugin 安装器已负责 skills 分发与 MCP 注册,skill 再执行一遍会产生双份 副本与版本漂移。
  • 新增凭据输出纪律:ap list 输出含明文 SK,禁止整段回显。
  • 移除原 chmod 600 <mcp_config_path> 补救步骤——AK 不再写入客户端 MCP 配置文件。
  • 移除 .codex-plugin/.claude-plugin/.mcp.json 旧客户端兼容清单。Codex 0.146.0+ 已原生读取 Agent Plugins 根目录清单,包内只保留一个事实来源。