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.json、mcp.json、skills/结构,不引入旧式兼容清单。 - 静态校验增加 marketplace 清单、Plugin 名称、相对来源路径和安装策略检查。
- 隔离 E2E 直接复制并安装实际交付目录,避免测试动态生成另一份 marketplace 后产生偏差。
1.1.0
变更
- 四个 Skill 改为并列自动发现,不再把
bmap-cli设计成 plugin 入口或总分诊器。 bmap-cli只负责 CLI 自举、登录、AK / SK、样式、配额、消费量和账户资源管理;业务 Skill 仅在缺少凭据时按需调用它。baidu-ai-map明确为直接地理结果的默认路径,判断标准从“问题复杂度”改为“用户要答案还是代码”。baidu-map-jsapi-gl与baidu-map-webapi分别收紧为浏览器前端和服务端代码任务,避免抢占普通地点、路线和天气请求。- Skill 与文档 MCP 改为流程和事实的互补关系:本地 reference 处理常用模式,精确、缺失、版本相关或最新事实查询官方 MCP。
- 将 Agent Plan 接口细节下沉到按需加载的 reference,并压缩 WebAPI 主 Skill;四个
SKILL.md均低于 Codex 0.147.0 的 8 KiB 主提示词上限,避免加载时被截断。 - 移除 Codex 当前校验器尚未接受的可选
compatibilityfrontmatter;运行依赖继续由 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:frontmattername原为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 list取data.api_key,并补上「先查后建」约束——ap create是重置语义,会立即作废账号在用的所有 SK。baidu-map-webapi:recipes/并入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-cliskill 新增「能力分诊」一节 作为唯一分流点;baidu-ai-map与baidu-map-webapi各自声明边界,互相禁止替代。 轻量路径明确禁止触发ak list/ AK 创建 / 询问 AK 类型——否则一个零配置请求会 退化成申请凭据的对话。 bmap-cliskill 移除「阶段一:环境准备」中的skills install与mcp 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 根目录清单,包内只保留一个事实来源。