图表伪造
  
将自然语言转化为企业级架构图。 Diagram Forge是一个MCP服务器,它将模板驱动的提示工程与可交换的AI图像提供程序相结合,从任何兼容MCP的客户端生成专业图表。
与其纠结于绘图工具或手动制作图像生成提示,不如用简单的英语描述你的系统,让Diagram Forge处理剩下的事情——模板选择、提示工程、样式应用和成本跟踪。
Example: Enterprise architecture diagram generated with Diagram Forge
特性
- 13个图表模板 --架构(TOGAF)、C4容器、执行信息图、数据流、组件、序列、集成、信息图、通用、产品路线图、工作流、看板和品牌信息图
- 2图像提供商 --谷歌双子座(推荐),OpenAI(GPT镜像)
- 自动提供商选择 --每个模板都为其图表类型推荐最佳的提供者/模型
- 模板驱动的提示 --具有十六进制编码颜色系统、显式渲染指令和布局规则的YAML模板
- 样式参考 --提供可视化示例以指导输出一致性(Gemini)
- 成本跟踪 --SQLite支持的使用和成本报告
- 跨客户 --通过stdio传输与Claude Code、Claude Desktop、Codex CLI、Gemini CLI配合使用
快速开始
1.安装
pip install diagram-forge或来源:
git clone https://github.com/jessepike/diagram-forge.git
cd diagram-forge
pip install -e ".[dev]"2.配置提供者
至少设置一个API密钥:
export GEMINI_API_KEY="your-key" # Google Gemini (recommended)
export OPENAI_API_KEY="your-key" # OpenAI GPT Image3.添加到您的MCP客户端
克劳德代码 (.mcp.json 在您的项目中):
{
"diagram-forge": {
"command": "python",
"args": ["-m", "diagram_forge.server"]
}
}克劳德桌面版 (claude_desktop_config.json):
{
"mcpServers": {
"diagram-forge": {
"command": "python",
"args": ["-m", "diagram_forge.server"]
}
}
}Codex CLI/Gemini CLI --同样的 .mcp.json 格式为克劳德代码。
4.生成图表
自然地问你的AI客户端:
生成一个具有React前端、Node.js API层和PostgreSQL数据库的三层web应用程序的架构图
或者更具体地说:
“创建一个TOGAF风格的架构图,显示我们的微服务。使用架构模板、Gemini提供程序、16:9纵横比。”
MCP工具
| 工具 | 说明 |
|---|---|
generate_diagram | 从具有模板和样式支持的文本提示生成图表 |
edit_diagram | 使用自然语言指令编辑现有图表 |
list_templates | 列出可用的图表模板及其变量 |
list_providers | 显示已配置的提供程序、API密钥状态和支持的功能 |
list_styles | 列出可用的样式参考图像 |
get_usage_report | 按提供商、类型或日期查看发电成本和使用统计数据 |
configure_provider | 为提供程序设置API密钥(仅限会话) |
图表类型
| 类型 | 模板 | 最适合 |
|---|---|---|
architecture | 企业架构(TOGAF) | 系统架构,分层设计 |
c4_container | C4容器图 | 软件系统内部,C4级别2 |
exec_infographic | 高管信息图 | 利益相关者演示文稿、语义颜色+图标 |
data_flow | 数据流/管道 | ETL管道,数据移动 |
component | 组件详细视图 | 服务内部,模块结构 |
sequence | 序列图 | 请求流、协议交互 |
integration | 集成/连接图 | 系统连接,API横向 |
infographic | 信息图/学习卡 | 概念解释、概述 |
product_roadmap | 产品路线图 | 阶段管道、门图标、状态徽章 |
workstreams | 工作流/优先车道 | 带状态和依赖关系的泳道规划 |
kanban | 看板 | 带有类别颜色条的三列任务板 |
brand_infographic | 品牌信息图 | 带有品牌美学的投资者/营销幻灯片 |
generic | 自定义/自由形式 | 其他 |
风格参考
提供一个可视化示例来指导输出一致性。Gemini通过多图像输入原生支持此功能。
generate_diagram(prompt="...", style_reference="c4-container")将您自己的样式保存到 ~/.diagram-forge/styles//reference.png 可选 style.yaml 对于元数据。
自动提供商选择
集 provider="auto" (默认设置),Diagram Forge根据图表类型选择最佳提供者。每个模板都包含一个经过测试的建议。覆盖 provider="openai" 或 provider="gemini" 当你想要一个特定的模型时。
Claude代码插件
此仓库包含一个Claude Code插件 diagram-forge-plugin/ 它在MCP服务器之上添加了一个引导的UX层:
/diagram:create--带上下文收集的引导图创建/diagram:iterate--优化现有图表/diagram:usage--查看成本报告/diagram:templates--浏览可用模板- 上下文收集器代理 --自动探索您的项目,以了解要绘制什么图
- 图表智能技能 --提到图表时自动触发
要使用,请安装插件或添加 .mcp.json 从插件目录。
运作原理
- 模板选择 --将您的请求与13个YAML模板中的一个匹配,每个模板都编码经过验证的提示模式(颜色系统、图层组织、易读性规则)
- 快速渲染 --将您的描述与模板合并,替换变量并应用样式默认值
- 供应商派遣 --将工程提示发送给您选择的提供商(Gemini或OpenAI)
- 图像处理 --将生成的图像、记录成本和元数据保存到SQLite
- 迭代 --通过支持图像编辑的提供商使用自然语言指令编辑现有图表
发展
# Install dev dependencies
pip install -e ".[dev]"
# Run tests (52 tests)
python -m pytest tests/ -v --cov=diagram_forge
# Lint
ruff check src/ tests/
# Type check
mypy src/
# Test MCP tools interactively
npx @modelcontextprotocol/inspector python -m diagram_forge.server
# Run low-cost model benchmark (dry-run first)
python scripts/eval_diagram_models.py --dry-run --max-cost-usd 5
python scripts/eval_diagram_models.py --execute --providers gemini,openai --resolution 1K --max-cases 6 --max-cost-usd 5基准和模型刷新文档:
docs/evaluation-runbook.mddocs/model-refresh-process.mdevals/benchmark_v1.yaml
建筑
src/diagram_forge/
server.py # FastMCP server — 7 tools, stdio transport
models.py # Pydantic v2 models
config.py # YAML + env var config loading
template_engine.py # Template loading and prompt rendering
style_manager.py # Style reference image management
cost_tracker.py # SQLite usage/cost tracking
providers/
base.py # BaseImageProvider ABC
gemini.py # Google Gemini
openai_provider.py # OpenAI GPT Image
templates/ # 13 YAML prompt templates许可证
麻省理工学院
