brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
api-index-sync-apifoxmcp接口索引同步器。当 Apifox 端新增/修改/删除接口后,将 knowledge-base/02-api-docs/api-index.md 这层轻量缓存与 Apifox 最新 OpenAPI Spec 对齐。支持全量刷新与差异刷新(仅同步新增/变更的接口)。触发词:"更新接口索引"、"同步接口索引"、"刷新接口索引"、"接口索引落后了"、"apifox 新增了接口"、"重建接口索引"、"对一下接口索引"。
Independent GitHub snapshot · Automated classification · Original documentation governs
knowledge-base/02-api-docs/api-index.md 是 Apifox 全量接口的轻量缓存索引(路由→模块→ref 映射表),
供 api-script-gen-with-apifoxmcp 等 skill 做关键词匹配用。本 skill 负责把它与 Apifox 最新数据对齐。
| 资源 | 路径 |
|---|---|
| 接口索引(待刷新/生成) | knowledge-base/02-api-docs/api-index.md |
| Apifox 项目 | project-id 8658258("默认模块") |
| MCP server | Apifox接口文档 |
Apifox MCP 工具名带连接相关后缀(如 319je6),该后缀随 MCP server 重连 / 换 project / 重新授权可能变化,
不要假定固定为某个值。执行任何读取前,先探测当前 Apifox接口文档 server 上实际可用的三个工具:
调用 mcp_get_tool_description,依次尝试(以 server 名 "Apifox接口文档" 为准):
- read_project_oas_<suffix> // 读全量 OpenAPI Spec
- refresh_project_oas_<suffix> // 强制从服务器刷新 Spec
- read_project_oas_ref_resources_<suffix> // 按 $ref 读单个接口详情
319je6 后缀可用 → 直接使用(当前环境已知可用)。319je6 返回 "not found" → 改用探测到的真实后缀,并将下文所有 read_project_oas_319je6 /
refresh_project_oas_319je6 / read_project_oas_ref_resources_319je6 统一替换为实际后缀后再调用。探测失败(三个后缀都找不到)时,停止并提示用户检查 MCP server
Apifox接口文档是否已连接。
read_project_oas_<suffix> 获取;
单个接口详情才用探测到的 read_project_oas_ref_resources_<suffix>。方法 / 路径 / 描述 / ref 四列,详见下方模板。
接口的请求/响应 schema 永远由下游 skill 实时从 Apifox 拉取,索引里不要写参数结构。/api/internal/ 开头的接口归入 Internal API(仅内部调用) 折叠区,且不含 ref 列,
标记为"不对外暴露、不参与自动化测试"。refresh_project_oas_<suffix>,确保拿到的是 Apifox 服务器最新 Spec。| 模块 | 含义 | 索引锚点 |
|---|---|---|
| user-auth | 认证、登录、注册 | #user-auth |
| device-center | 设备管理、分组、预约、会话、应用、采集、监控 | #device-center |
| my | 个人中心:我的预约、消息、收藏、使用统计 | #my |
| system-settings | 用户管理、角色、权限、系统偏好 | #system-settings |
| operations | 工单、告警、文件、日志、通知 | #operations |
| dashboard | 仪表盘、使用统计 | #dashboard |
| internal(折叠) | 内部微服务调用接口 | #internal-api仅内部调用 |
device-center 模块内部按业务再分:设备管理 / 设备批量操作 / 设备收藏 / 设备市场 / 设备分组 / 设备预约 / 预约关联应用 / 会话(同屏)/ 截图录屏 / APP 文件管理 / 设备监控。新增接口优先归入最贴近的分组。
向用户确认或根据上下文判断(用户未指定时默认"差异刷新"):
全量刷新前先读取现有
api-index.md作为结构模板,避免破坏已沉淀的分组与描述措辞。
调用 refresh_project_oas_<suffix> # 先强制刷新到最新(探测到的后缀)
调用 read_project_oas_<suffix> # 读取 OpenAPI Spec(含 paths / tags / info)
从 Spec 中提取:
paths:每个路径对象下的 get/post/put/delete 等方法节点;summary / operationId / tags(用于归类到模块与分组);servers 或 info 中的 basePath(通常为 /api),拼出完整路径;/paths/_{method}_{path}.json,其中:
/api 去掉、其余 / 替换为 _;{id} 形式转为 %7Bid%7D(URL 编码的大括号);POST /api/devices/{id}/shelve → /paths/_api_devices_%7Bid%7D_shelve.json。tags(或路径前缀)映射到模块与分组。summary/ref 未变 → 保留原描述(维持人工润色过的措辞);
若 Apifox 端 summary 变化或有新增接口 → 采用 Apifox 最新 summary。/api/internal/)单独收集,不进入模块总览计数。write_to_file 整体重写,保留顶部时间戳(更新为当天日期)、
模块总览表、使用说明章节,重排所有模块表格。replace_in_file 仅修改受影响的表格行 / 新增分组标题,并只更新顶部时间戳。/paths/...json 路径。knowledge-base/_index.md 的"模块概览"接口数列与"最近更新"日志。api-script-gen-with-apifoxmcp 等下游 skill 不受影响(它们实时拉取详情),无需改。简要汇报:刷新模式、新增/变更/删除的接口数量与清单(method + path)、 更新后的对外端点总数(不含 internal)、以及本次写入/修改的文件。
原始: POST /api/devices/{id}/shelve
步骤:
1. 去掉 /api → devices/{id}/shelve
2. / 替换为 _ → devices_{id}_shelve
3. { → %7B } → %7D → devices_%7Bid%7D_shelve
4. 加前缀 /paths/_ → /paths/_api_devices_%7Bid%7D_shelve.json
(注意全量路径要保留 /api:去掉的是"方法归类"用的前缀,ref 文件名仍以 _api 开头)
实际 ref 以探测到的
read_project_oas_<suffix>返回的 Spec 内$ref值为准; 若 Spec 已直接给出各 path 的$ref,直接采用,不要手写推算。