Hermes Agent的API文档通过五种自动化路径生成:一、从函数注释提取接口框架;二、从YAML配置抽取端点元数据;三、用Flask-RESTX生成交互式Swagger UI;四、聚合SKILL.md构建能力目录;五、从测试用例提取可验证示例。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您需要为Hermes Agent生成准确、可维护的API文档,则需依赖其内置的多源协同机制。文档并非手动拼凑,而是从代码注释、配置文件、测试用例与技能定义中自动提取结构化元数据。以下是实现该目标的具体路径:
一、基于函数注释的自动提取
该方法利用工具类源码中标准化的docstring,解析参数、返回值及功能描述,形成基础接口文档框架。它确保文档随代码变更实时同步,杜绝人工滞后。
1、定位核心工具模块路径,例如 tools/file_tools.py 与 tools/terminal_tool.py。
2、确认每个函数包含符合Google或NumPy风格的完整注释,含 Args:、Returns: 和 Raises: 块。
3、运行项目内置的文档提取脚本:python scripts/generate_api_docs_from_comments.py --output docs/api/。
二、从YAML配置文件抽取端点元数据
环境配置文件(如 environments/hermes_swe_env/default.yaml)明确声明了API基础地址、认证方式、超时策略等运行时信息,是生成服务级文档的关键输入源。
1、打开配置文件,确认存在 base_url、api_key_env、timeout 等字段。
2、执行YAML解析脚本:python scripts/parse_config_for_api_metadata.py environments/hermes_swe_env/default.yaml > docs/api/endpoints.json。
3、将输出的JSON作为Swagger UI或静态站点生成器的数据源。
三、集成Flask-RESTX自动生成Swagger UI
该方法在运行时动态暴露交互式文档界面,支持请求试调、模型定义可视化与响应示例渲染,适用于开发与调试阶段。
1、在API初始化模块中导入并实例化Flask-RESTX:from flask_restx import Api,并传入 version 与 title 参数。
2、为每个资源类添加 @api.doc 装饰器,标注 description 与 params。
3、启动服务后访问 http://localhost:5000/swagger 即可查看实时交互文档。
四、通过技能文档(SKILL.md)聚合能力目录
skills/ 目录下每个子模块均含 SKILL.md 文件,统一描述输入输出格式、调用约束与典型用例。该结构天然适配文档聚合工具,用于构建面向用户的“能力地图”。
1、检查 skills/github/github-issues/SKILL.md 是否遵循标准模板:含 ## Input Schema、## Output Schema、## Example Usage 三节。
2、运行聚合脚本:python scripts/collect_skills_into_catalog.py skills/ > docs/skills/catalog.md。
3、将生成的 catalog.md 作为API文档中“可用技能”章节的主干内容。
五、利用测试用例生成可验证示例
测试文件(如 tests/tools/test_file_tools.py)中已封装合法请求构造、断言逻辑与异常触发路径,可直接转化为文档中的“真实可运行示例”,保障准确性。
1、识别测试函数中调用 client.post() 或 api_client.invoke() 的代码段。
2、提取请求体JSON、预期状态码与响应字段断言表达式。
3、使用标记工具将上述片段注入对应API文档条目下的 ## Request Example 与 ## Response Example 区域。


















