将旅行照片转化为可分享的叙事画面。
旅画是一个面向文旅场景的多模态生成应用原型。它以 Pi Agent 作为底层的 Agent Harness:由 Harness 统一承接用户输入、上下文组织、任务执行、生成状态与结果交付,并将三种旅行内容生产能力封装为可直接体验的 Agent 工作流。
当前仓库提供可直接体验的产品 Demo,用于验证旅行素材采集、Agent 编排与生成结果交付。项目将持续向完整的文旅内容智能体平台演进。
在线体验: https://lcgf.xyz/gks
GitHub Topic: Guikesong
| Agent 工作流 | 用户输入 | 生成目标 |
|---|---|---|
| 主角画面生成 | 人物照片 + 风景照片 | 将人物与目的地视觉元素组织成横版旅行主视觉 |
| 游客照焕新 | 一张旅行照片 | 将普通旅行照片转化为竖版艺术旅行海报 |
| 旅行足迹生成 | 人物照片 + 多个地点及照片 | 生成包含地点信息与导览视觉的旅行足迹海报 |
Pi Agent 在目标架构中不是单一的模型调用入口,而是承载 Agent 运行过程的统一执行层:
用户素材与地点信息
│
▼
Pi Agent Harness
├─ 输入采集与素材编组
├─ 场景 Prompt 组装
├─ 图像生成任务编排
├─ 任务轮询与状态管理
├─ 主链路与备用链路调度
└─ 结果回传、预览与下载
│
▼
旅行视觉内容
这套 Harness 让功能层只需要表达“要完成哪一种旅行创作”,执行层则负责组织参考图、生成提示、处理异步任务,并把生成结果交付回界面。三个功能共享同一套执行范式,同时保留各自的素材规则与叙事表达。
| 层级 | 技术选型 | 在项目中的作用 |
|---|---|---|
| Agent 运行底座 | Pi Agent Harness | 统一组织素材、Prompt、工具调用、异步任务与结果交付;以 Skill、扩展和提示模板支持能力组合 |
| 前端框架 | Next.js + React + TypeScript | 构建服务端渲染、路由、组件化工作台与响应式旅行内容体验,支持体验页面和运营后台持续扩展 |
| 前端状态与交互 | React Hooks + Server Actions + 流式反馈 | 管理素材上传、任务状态、结果预览和长耗时生成过程,为用户提供连贯的实时反馈 |
| 服务端框架 | Rust + Axum | 提供高并发 API 服务,承接鉴权、素材编排、任务调度、结果分发与平台能力聚合 |
| 异步任务系统 | Rust Tokio + 队列化任务编排 | 面向图像生成等长耗时任务提供并发控制、重试策略、状态追踪和弹性处理能力 |
| 图像生成能力 | 图像生成模型 | 基于自然语言指令与多张参考图,生成主角画面、旅行海报和足迹海报 |
| 数据平台 | PostgreSQL + Redis + 对象存储 | 沉淀用户、行程、素材、任务和生成结果等核心资产;以缓存与对象存储提升访问效率和内容交付能力 |
| 数据智能 | 事件采集 + 指标体系 + 分析数据仓库 | 记录素材使用、生成任务、内容偏好与传播行为,为产品迭代、主题运营和景区内容策略提供数据基础 |
| 可靠性与可观测性 | OpenTelemetry + 结构化日志 + 指标监控 | 覆盖请求链路、Agent 执行、模型任务与服务状态,支撑容量评估、体验优化和稳定运营 |
| 部署形态 | Docker + Nginx + 云原生部署 | 将前端、Rust 服务、任务执行器与数据服务模块化部署,支持从 Demo 到生产服务的平滑演进 |
- 前后端协同架构:Next.js 提供高质量交互体验,Rust 服务负责高并发任务处理,Pi Agent Harness 聚焦智能编排,形成清晰的职责边界。
- 多模态旅行上下文:人物、风景、地点名称与地点图片按旅行语义编组,形成可供图像生成模型理解的高质量上下文。
- 异步任务闭环:从请求接入、队列调度、生成状态、结果预览到内容下载,构建完整的长耗时任务交付链路。
- 数据资产沉淀:旅行素材、路线、生成偏好、任务过程与内容结果可沉淀为结构化资产,持续反哺个性化体验和文旅运营。
- 平台化扩展能力:三种工作流共享 Harness 范式,可通过新增 Prompt 模板、Skill、模型工具和业务模块扩展更多文旅内容场景。
完整分层架构图见:旅画目标平台架构。
Next.js Web 应用
├─ 旅行创作工作台
├─ 素材上传与预览
├─ 实时任务状态
└─ 内容浏览、下载与分享
│ HTTPS / API
▼
Rust 服务平台(Axum)
├─ 用户与权限服务
├─ 素材与行程服务
├─ Agent 任务网关
├─ 生成任务调度
└─ 内容结果分发
│
▼
Pi Agent Harness
├─ 上下文构建
├─ Skill 与工具编排
├─ Prompt 策略
└─ 图像生成模型调用
│
▼
数据与基础设施
├─ PostgreSQL / Redis
├─ 对象存储
├─ 任务队列与 Worker
└─ 日志、指标与链路追踪
用户上传人物与风景图片。Agent 将人物作为画面主体,结合多个目的地素材组织旅行叙事,输出 16:9 主视觉画面。
适合用于旅行纪念、景区互动屏、活动传播页与社交媒体封面。
用户提供一张游客照。Agent 将照片理解为视觉参考,并按预设的旅行艺术海报方向生成 9:16 画面。
适合把普通拍摄素材转化为具备传播感的旅行内容。
用户上传人物照,补充多个地点名称与地点图片。Agent 按输入顺序关联地点信息和参考图,生成 3:4 的城市旅行足迹海报。
适合用于路线回顾、城市打卡、旅游攻略与行程留存。
当前 Demo 已打通素材上传、场景化 Prompt、图像生成、异步状态反馈、结果预览与下载的体验闭环。后续实现将以 Next.js 和 Rust 为主干,将页面能力升级为模块化前端应用与平台化服务端能力,并持续完善数据层、任务层与可观测性体系。
进入 Demo 目录后执行:
cd demo/static-web
./start-lan-preview.cmd然后访问 http://127.0.0.1:8080/index.html。
也可以使用 Python 启动静态服务:
cd demo/static-web
py -3 -m http.server 8080 --bind 127.0.0.1demo/static-web/index.html:产品首页与三类工作流入口demo/static-web/hero.html:主角画面生成demo/static-web/reframe.html:游客照焕新demo/static-web/footprint.html:旅行足迹生成demo/static-web/image-generator-demo.html:图像生成组件示例
这个 Demo 已经验证了“旅行素材 → Agent 编排 → 叙事画面”的完整体验闭环。后续可以围绕 Pi Agent Harness 和目标平台架构继续扩展:
- 将场景 Prompt 配置化,支持景区主题与品牌视觉的快速切换
- 接入用户会话、任务记录与内容资产中心,形成可持续积累的个人旅行内容档案
- 建立从素材、生成、编辑、分享、传播到复访的内容数据闭环
- 支持景区主题、品牌规范、城市活动与酒店服务的多租户配置
- 为文旅活动、酒店、景区和城市营销提供可定制的 Agent 工作流与数据运营能力
旅画当前以 Demo 形式呈现核心体验,并以 Pi Agent Harness、Next.js、Rust 和数据智能体系为目标平台架构,逐步构建面向文旅行业的多模态内容生产与运营能力。







