功能特性:
- 智能查询分析:自动识别 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 等)
安装
- 克隆仓库
git clone https://github.com/MeirKaD/EasyDocs.git cd EasyDocs - 创建虚拟环境
python -m venv venv source venv/bin/activate # On Windows: venvScriptsactivate - 安装依赖
pip install -r requirements.txt - 配置环境
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 集成
- 添加到 Claude Desktop 配置(
claude_desktop_config.json):{ "mcpServers": { "EasyDocs": { "command": "/path/to/your/EasyDocs/venv/bin/python", "args": ["/path/to/your/EasyDocs/mcp_wraper.py"] } } } - 更新路径以匹配你的安装目录
- 重启 Claude Desktop
- 在对话中使用:
@EasyDocs generate API documentation for creating a Stripe payment intent
与 Cursor 集成
- 在 Cursor 中安装 MCP 扩展
- 添加服务器配置,指向
mcp_wraper.py - 在代码编辑器中直接使用,即时生成 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)
贡献
欢迎贡献!开始方式如下:
- Fork 仓库
- 创建功能分支:
git checkout -b feature/amazing-feature - 为新功能添加测试
- 运行测试套件:
python main.py - 提交 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,实现无缝的编码效率提升!
为开发者社区而构建