EasyDocs

Stack

Langgraph
MCPuse
Gemini
FastMCP
Streamlit

分享

功能特性:

  • 智能查询分析:自动识别 API 平台(OpenAI、Stripe、Bright Data 等)以及操作类型
  • 智能文档提取:使用高级浏览器自动化抓取官方 API 文档
  • 可用于生产的输出:生成干净规范的文档,包含 cURL 示例、鉴权方式、错误处理与参数说明
  • 两种部署方式
    • Web UI:精美的 Streamlit 界面,支持实时进度跟踪
    • MCP Server:可直接集成 Cursor、Claude Desktop 以及任何兼容 MCP 的客户端
  • 实时处理:从查询分析到最终文档生成,可实时观看每一步执行过程

演示

点击观看 YouTube 上的完整演示

架构

基于 LangGraph 构建,提供强健、可扩展的 AI 工作流:

graph LR
 A[ Natural Language Query] --> B[ Analyze Query]
 B --> C[ Generate Plan]
 C --> D[ Execute Browser]
 D --> E[ Generate Response]
 E --> F[ API Documentation]

 %% Deployment Options
 F --> G[ Streamlit Web UI]
 F --> H[ MCP Server]

 %% End Users
 G --> I[ Web Browser]
 H --> J[ Claude Desktop]
 H --> K[ Cursor IDE]

 %% Styling
 classDef process fill:#e1f5fe,stroke:#01579b,stroke-width:2px
 classDef output fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
 classDef interface fill:#e8f5e8,stroke:#1b5e20,stroke-width:2px

 class B,C,D,E process
 class F output
 class G,H,I,J,K interface

项目结构

EasyDocs/
 src/
 graph.py # LangGraph workflow definition
 nodes.py # Individual processing nodes
 state.py # State management schema
 app.py # Streamlit web interface
 main.py # Testing and validation suite
 mcp_wraper.py # MCP server wrapper
 test_single.py # Individual node testing
 .env.example # Environment variables template
 README.md # This file

快速开始

前置条件

  • Python 3.8+
  • 目标平台的 API Key(OpenAI、Bright Data 等)

安装

  1. 克隆仓库
    git clone https://github.com/MeirKaD/EasyDocs.git
    cd EasyDocs
  2. 创建虚拟环境
    python -m venv venv
    source venv/bin/activate # On Windows: venvScriptsactivate
  3. 安装依赖
    pip install -r requirements.txt
  4. 配置环境
    cp .env.example .env
    # Edit .env with your API keys

环境变量

创建一个 .env 文件,包含以下变量:

# Google AI (for LLM processing)
GOOGLE_API_KEY=your_google_ai_api_key

# Bright Data (for web scraping)
BRIGHT_DATA_API_TOKEN=your_bright_data_token
WEB_UNLOCKER_ZONE=unblocker
BROWSER_ZONE=scraping_browser

使用方法

方式 1:Web 界面

启动 Streamlit 应用,获得交互式 Web 体验:

streamlit run app.py

特性:

  • 简洁的输入界面,带示例查询
  • 实时进度跟踪
  • 置信度指示与调试信息
  • 下载生成的文档
  • 专业 UI,支持响应式设计

示例查询:

  • “How to create a payment intent with Stripe API”
  • “How to send a POST request to OpenAI’s chat completion API”
  • “How to authenticate with Bright Data’s Web Scraper API”

方式 2:MCP Server 集成

通过直接集成到开发环境,提升你的编码工作流。

与 Claude Desktop 集成

  1. 添加到 Claude Desktop 配置claude_desktop_config.json):
    {
     "mcpServers": {
     "EasyDocs": {
     "command": "/path/to/your/EasyDocs/venv/bin/python",
     "args": ["/path/to/your/EasyDocs/mcp_wraper.py"]
     }
     }
    }
  2. 更新路径以匹配你的安装目录
  3. 重启 Claude Desktop
  4. 在对话中使用
    @EasyDocs generate API documentation for creating a Stripe payment intent

与 Cursor 集成

  1. 在 Cursor 中安装 MCP 扩展
  2. 添加服务器配置,指向 mcp_wraper.py
  3. 在代码编辑器中直接使用,即时生成 API 文档

测试 MCP Server

验证你的 MCP Server 是否正常工作:

# Test with MCP Inspector
npx @modelcontextprotocol/inspector mcp_wraper.py

# Or test directly
python mcp_wraper.py

测试

运行完整测试套件

python main.py

这将会:

  • 验证图编译(graph compilation)
  • 测试查询分析准确性
  • 验证逐步执行过程
  • 检查最终文档质量

测试单个组件

# Test specific nodes
python test_single.py

# Test with custom query
python -c "
from src.graph import create_demo_graph
graph = create_demo_graph()
result = graph.invoke({
 'query': 'Your test query here',
 'platform': '', 'action_plan': [], 'extracted_content': '',
 'final_response': '', 'error': None, 'operation_type': '',
 'confidence': 0.0, 'estimated_duration': 0, 'complexity_level': '',
 'current_step': 0, 'confidence_level': None, 'explanation': None
})
print(result['final_response'])
"

API 参考

核心函数

analyze_query(state: DemoState) -> DemoState

分析用户查询,提取平台与操作类型。

输入:自然语言查询字符串
输出:平台识别结果、操作类型、置信度分数

generate_plan(state: DemoState) -> DemoState

为文档提取创建分步骤行动计划。

输出:行动步骤、预计耗时、复杂度级别

execute_browser(state: DemoState) -> DemoState

执行浏览器自动化以提取 API 文档。

输出:提取内容、置信度级别、处理说明

generate_response(state: DemoState) -> DemoState

生成面向开发者的友好文档与示例。

输出:格式化文档,包含 cURL 命令、鉴权方式、参数

MCP 工具

generate_api_docs(question: str) -> str

用于生成 API 文档的主 MCP 工具。

参数:

  • question(string):关于 API 文档需求的自然语言查询

返回:格式化 API 文档,包含示例与最佳实践

技术栈

  • Langgraph
  • MCPuse
  • Gemini
  • FastMCP
  • Streamlit

故障排查

常见问题

MCP server 报 “Module not found”:

# Ensure virtual environment path is correct
which python # Use this path in Claude Desktop config

浏览器执行失败:

# Check Bright Data credentials
echo $BRIGHT_DATA_API_TOKEN

文档置信度较低:

  • 尝试更具体的查询
  • 显式包含平台名称
  • 检查平台是否受支持

调试模式

启用详细日志:

# In src/nodes.py, add:
import logging
logging.basicConfig(level=logging.DEBUG)

贡献

欢迎贡献!开始方式如下:

  1. Fork 仓库
  2. 创建功能分支git checkout -b feature/amazing-feature
  3. 为新功能添加测试
  4. 运行测试套件python main.py
  5. 提交 Pull Request

许可证

https://api.github.com/repos/brightdata/brightdata-agent-showcase/contents/agents/dev_tools/EasyDocs/README.md?ref=main本项目采用 MIT 许可证——详情请查看 LICENSE 文件。

支持

  • 文档:查看本 README 与代码内联注释
  • Issues:通过 GitHub Issue 提交 Bug 或功能需求
  • Discussions:使用 GitHub Discussions 提问与交流想法

准备好改造你的 API 开发工作流了吗?先从 Web 界面开始,然后集成 MCP Server,实现无缝的编码效率提升!

为开发者社区而构建