GitHub·· 6 天前AI 评分23
GraphCanvasAgent:自然语言驱动的多模态图像编辑智能体
heiye-vn/graph-canvas-ai
AI 导读
GraphCanvasAgent 是一个基于 React 19 + FastAPI + LangChain/LangGraph + Konva 构建的全栈 AI 图像编辑智能体,通过 LangGraph 状态机将复杂修图意图拆解为多步执行计划。
正文
GraphCanvasAgent (图画智能体) - 自然语言驱动的多模态图像编辑工作台
GraphCanvasAgent 是一个基于 React 19 + FastAPI + LangChain/LangGraph + Konva 构建的全栈 AI 图像编辑智能体系统。
不同于传统的单步生图工具,本项目利用 LangGraph 状态机 与 大模型多步规划能力,允许用户通过自然语言完成复杂的复合修图任务;前端依托 Konva 渲染引擎 实现了可交互的高性能画布,支持图层精准解耦、文本重绘与实时流式状态反馈。
核心特性
- 🤖 Agent 智能调度与多步规划:基于 LangGraph 构建图结构状态机,将复杂修图意图拆解为多步执行计划(Planning & Execution)。
- 🎨 高性能交互画布:基于 Konva 打造,支持图层拆分、文字层剥离重构、局部遮罩(Mask)与多图元混合排版。
- 🛠 全链路多模态工具箱:内置 21+ 种图像原子操作,涵盖 文生图、局部重绘(Inpainting)、语义抠图(Matting)、分辨率超分等。
- ⚡ 生产级异步工程架构:
- 后端基于 FastAPI 构建高性能异步接口。
- 采用 SSE (Server-Sent Events) 协议实时向前端推送 Agent 思维链(CoT)与执行进度。
- 内置异步任务调度机制,保障耗时生图/推理任务的非阻塞运行。
快速开始
# 1) 中间件:Postgres 17 / Redis 7 / 对象存储 docker compose up -d # 2) 后端(依赖可选;CV 体积大,M6 才需要) cd backend uv sync --extra dev # 或再加 --extra agent / --extra cv uv run uvicorn app.main:app --port 7302 --reload # 3) 前端 cd frontend npm install --ignore-scripts # 本机必须带该参数,见 frontend/README.md npm run dev # http://localhost:7301
打开 http://localhost:7301,落地页会实时显示后端 /ready 的三项依赖状态(Postgres / Redis / 对象存储)。
⚠️ 本机
localhost会解析到 IPv6::1,而 compose 端口只绑127.0.0.1。 环境变量里一律写127.0.0.1,否则 Redis 会连接超时。
工程结构
backend/ FastAPI:config(必填 fail-fast)/ db / routers / services / tools / agent / providers / eval
frontend/ React 19:api / domain(画布领域层)/ stores / components / pages
docs/ 开发计划与参考项目分析报告(阶段性文档,开发完成后从仓库移除)
开发进度
施工图见 docs/开发计划.md。
| 里程碑 | 内容 | 状态 |
|---|---|---|
| M0 | 基建:Docker / compose / 对象存储选型 | ✅ |
| M1 | 骨架 + 鉴权 + 素材存储 | 🚧 骨架已就绪,鉴权与上传待做 |
| M2–M8 | 三条数据流、画布、工具注册表、多步计划 | ⬜ |
| M9 | 差异化:CoT 流式 / 状态机反思 / 可观测 | ⬜ |
| M10–M11 | 评测 CI、功能补齐 | ⬜ |
文档
docs/开发计划.md—— M0–M11 施工图,含每阶段的验收标准与「别照抄参考项目」清单docs/ai-picture-editor-项目分析报告.md—— 参考项目的能力与缺口审计backend/README.md/frontend/README.md—— 各自的分层与命令
来源:GitHub · github.com