Skip to content

feat: get_api_detail 增加备注和示例返回#8

Open
sevenstars0 wants to merge 1 commit into
MCNeteaseDevs:mainfrom
sevenstars0:feat/api-detail-notes-example
Open

feat: get_api_detail 增加备注和示例返回#8
sevenstars0 wants to merge 1 commit into
MCNeteaseDevs:mainfrom
sevenstars0:feat/api-detail-notes-example

Conversation

@sevenstars0
Copy link
Copy Markdown

@sevenstars0 sevenstars0 commented Jun 3, 2026

改动说明

get_api_detail 原来只返回从 JSON 文件提取的描述、参数、返回值,缺少文档中的备注示例,容易导致大模型在创建组件工厂时写错CreateXXXXX这部分。

本次改动从 markdown 文档 section 中解析并补充这两项信息。

修改文件

  • modsdk_mcp/docs_reader.py:新增 _api_section_map 映射、_parse_notes_and_example() 解析方法,get_api_detail() 返回结果增加 notes 和 example 字段
  • modsdk_mcp/server.py:工具描述更新,输出格式化新增备注和示例展示

数据覆盖

  • 1817 个 API 有对应文档 section
  • 745 个有备注(~41%)
  • 1419 个有示例(~78%)

效果对比

改动后,使用get_api_detail查询LockCamera返回值示例:

 - 类型: api | 分类: 玩家/摄像机
 - 描述: 锁定摄像机
 - 参数:
   - `lockPos`(tuple(float,float,float)) — 世界坐标
   - `lockRot`(tuple(float,float,float)) — 摄像机的角度(俯仰角,偏航角,横滚角)
 - 返回: `bool` — 设置是否成功
 - 备注:
   - 锁定摄像机时只是锁定画面视角,玩家仍然可以移动
   - 该接口的效果会与departcamera互相覆盖
 - 示例:
 ```python
 import mod.client.extraClientApi as clientApi
 comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
 ```

@sevenstars0 sevenstars0 force-pushed the feat/api-detail-notes-example branch 2 times, most recently from 986b813 to fbec490 Compare June 3, 2026 08:02
从文档 markdown section 中提取备注和示例代码,补充到 get_api_detail 的返回结果中。
- 新增 _api_section_map 缓存 API名称→文档section映射
- 新增 _parse_notes_and_example 解析备注和示例
- server.py 输出格式化新增备注和示例展示
- 单条结果时去除冗余的二级标题

覆盖: 745个API有备注(41%), 1419个API有示例(78%)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@sevenstars0 sevenstars0 force-pushed the feat/api-detail-notes-example branch from fbec490 to d4c9fb8 Compare June 3, 2026 08:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant