Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Via54Design

FreeNot checked

Design template engine + narrative engine + media pipeline. 17 AI image platforms, 4 narrative models, HTMX Web UI, MCP Server. Pure Go single binary, zero runt

GitHubEmbed

About

Design template engine + narrative engine + media pipeline. 17 AI image platforms, 4 narrative models, HTMX Web UI, MCP Server. Pure Go single binary, zero runtime deps.

README

致敬Aaron Swartz & Tim Berners-Lee

人类的灵感与创造力,因互联网与AI而永生

🌐 Language: 🇨🇳 中文 (current) | 🇺🇸 English

This document is in Chinese. For English, click above. 开发思路:让弥散而跳动的人类灵感与AI碰撞出惊艳的故事;将历久弥新的人类经验,用于规范LLM生产力的可控性。

如切如磋,如琢如磨。——《诗经·卫风·淇奥》


🧠 让时时陪伴你的AI,成为你最会讲故事的朋友

你想要的一定不是帮你把技能简单集合,更不是帮你优化工作流 via54Design AI无法替代你的创造力,而是赋予你一双抓住灵感的妙手。

文章本天成,妙手偶得之。 粹然无疵瑕,岂复须人为? —— 宋·陆游《文章》

人类的灵感是弥散而跳动的,AI 是结构化的、可控的。via54Design 在这两者之间搭建桥梁——把人类的"一句话灵感"转化为 AI 可执行的叙事脚手架,再通过模板引擎输出视频、演示文稿、创意图片。


🚀 v1.0 完整 Pipeline (v1.0 Complete Pipeline)

via54Design 提供了从人类灵感 Seed 出发,全自动/半自动流转到最终高保真视觉与多媒体交付的完整 Pipeline 工作流:

graph TD
    Seed["💡 1. 一句话灵感 (Seed)"] -->|via54 narrate| Scaffold["📋 2. 叙事大纲 (Scaffold JSON)"]
    Scaffold -->|via54 prompt| GenAI["🎨 3a. AI 生图提示词 (Prompt)"]
    Scaffold -->|via54 generate| WebHTML["🌐 3b. 高保真响应式网页 (HTML)"]
    Scaffold -->|via54 export| MultiFormat["📊 3c. PPTX / SVG / 剧本导出"]
    Scaffold -->|python gen_video.py| VideoMux["🎬 4. 音视频多轨合成 (MP4 Video)"]

完整 Pipeline 运行命令示范:

  1. 第一步:生成叙事大纲 JSON
    via54 narrate --seed "在废土中寻找最后一滴水源的机械师" --model cinematic-epic --duration 90 --format json --output scaffold.json
    
  2. 第二步:渲染 AI 绘画提示词
    via54 prompt --from-scaffold scaffold.json --platform midjourney --output prompt.md
    
  3. 第三步:渲染高保真响应式网页
    via54 generate --from-narrative scaffold.json --layout landing-pricing --color cinematic-neon --font sans-geometric-tech --output index.html
    
  4. 第四步:导出 PPTX 或无损 SVG
    via54 export pptx scaffold.json --output story.pptx
    via54 export svg scaffold.json --output ./scenes
    
  5. 第五步:运行多轨合成管道制作三语视频
    python _scripts/gen_video.py --step all
    

第一部分:故事 → 视频能力

从一句话到 90 秒品牌故事

Step 1 — 人类写一句开头(人类独有的灵感)

"1920年代,一个中国裁缝在巴黎开了一家小店, 他做的旗袍融入了 Art Deco 的几何线条。 没有人想到,这件衣服会改变两个文明的时尚。"

这一句里有人物(裁缝)、时代(1920s)、地点(巴黎)、冲突(东方 vs 西方)、悬念(改变时尚)。AI 无法凭空创造这个种子——它来自你。

Step 2 — AI 扩展叙事脚手架

via54 narrate --seed "1920年代,一个中国裁缝在巴黎开了一家小店..." \
  --model heros-journey --duration 90 --format json --output scaffold.json

AI 分析你的种子,匹配最合适的叙事模型,输出结构化脚手架:

📋 英雄之旅 (Hero's Journey)  90秒
├── 第一幕·日常  (0-22s)  mood: calm      旁白: 每天,我们都...
├── 第二幕·相遇  (22-44s) mood: curious   旁白: 直到有一天...
├── 第三幕·蜕变  (44-66s) mood: excited   旁白: 不一样了...
└── 第四幕·回归  (66-90s) mood: inspiring  旁白: 每一天...

📋 分镜表: 12 个 shot(WIDE / MEDIUM / CLOSE-UP / DETAIL 循环)
📋 Fountain 剧本骨架(4 幕 8 场景)
🎞️ LLM 完整提示词(可直接喂给 Claude / GPT 生成完整剧本)

Step 3 — 人类选择叙事模型,确认方向

模型 节拍 适合讲什么故事
three-act 设问 → 解答 → 号召 产品发布、品牌广告
heros-journey 日常 → 相遇 → 蜕变 → 回归 品牌故事、纪录片
cognitive-arc 钩子 → 基础 → 核心 → 案例 → 延展 → 总结 科普、教程
problem-solution 痛点 → 方案 → 证明 → 行动 销售视频、Demo
cinematic-epic 引入 → 危机 → 抉择 → 决战 电影预告片、品牌概念片、宣传大片

Step 4 — 生成输出

# 同一叙事脚手架,可输出多种格式
via54 export pptx scaffold.json --output story.pptx      # PPTX 演示文稿
via54 export markdown scaffold.json --output slides.md   # Marp 幻灯片
via54 export svg scaffold.json --output ./scenes          # SVG 矢量场景
via54 export json scaffold.json --output scenes.json      # 结构化数据

第二部分:故事 → 演示能力

同一个叙事脚手架,可以导出多种演示格式,无需重新创作。

via54Design Design Layout Templates Showcase

叙事种子 → PPTX 演示文稿

via54 narrate --seed "1920年代,一个中国裁缝在巴黎..." \
  --model heros-journey --duration 90 --format json --output scaffold.json

via54 export pptx scaffold.json --output story.pptx --style editorial --theme templates/color-schemes/ink-wash.yaml
  • 纯 Go 实现,零外部依赖(不依赖 Node.js / unioffice)
  • 4 种风格模板(minimal / editorial / bold / accent-bar)
  • 31 种配色主题,情绪映射强调色
  • 16:9 宽屏,文字直接在 PPT 中可编辑

🎥 Google Vids 自动化音视频工作流

由于 Google Vids (Google Workspace AI 视频创作工具) 支持导入 Google Slides 演示文稿,并在导入时有如下对应关系:

  1. 幻灯片页面 ➜ 自动转化为 独立视频场景
  2. 演讲者备注 (Speaker Notes) ➜ 自动提取为 AI 旁白配音剧本

我们在 PPTX 导出引擎中实现了对演讲者备注的原生注入。只需两步,即可将叙事大纲一键生成为 Google Vids 视频草稿:

# 1. 导出包含演讲者备注的 PPTX 文件 (旁白自动写入备注 XML)
via54 export pptx scaffold.json --output vids_project.pptx

# 2. 导入与转换:
#    - 将 vids_project.pptx 上传至 Google Drive,并选择“使用 Google Slides 打开”
#    - 在 Google Slides 中,点击“文件 (File)” -> “转换为视频 (Convert to video)”
#    - Google Vids 将自动提取备注作为剧本并生成完整的视频草稿!

叙事种子 → 设计生成

via54 generate --layout hero-split-16-9 --color ink-wash --font ming-hei-editorial \
  --title "裁缝的故事" --output story.html --presentation

第三部分:故事 → 创意图片能力

叙事脚手架 → AI 生图提示词

via54 prompt --scene "1920年代,巴黎左岸的小裁缝店里,一位中国裁缝在制作旗袍" \
  --platform midjourney --output prompt.md

输出结构化提示词,支持 17 个平台,26 维控制参数(主体/环境/光照/风格/情绪/构图/镜头/色彩/质感等)。

叙事脚手架 → SVG 矢量场景

via54 export svg scaffold.json --output ./scenes

每幕生成独立 SVG 文件,16:9 viewBox,无限缩放不失真。

叙事脚手架 → Prompt 工作流

via54 narrate --seed "..." --format json | via54 prompt --from-scaffold /dev/stdin

三种能力对比

能力 输入 输出 引擎 依赖
🎬 故事→视频 一句话 → 叙事JSON 视频脚本 / ComfyUI 工作流 narrate + storyboard2video 可选 Forge/ComfyUI
📊 故事→演示 一句话 → 叙事JSON PPTX / Markdown / PDF / SVG 纯 Go
🎨 故事→创意图片 一句话 → 叙事JSON 结构化 Prompt (17平台) / SVG 纯 Go

📊 对比参考项目

类别 参考项目 via54 差异化
Prompt 工程 easy-sd, sd-webui-forge 10k-12k 17 平台统一引擎,YAML 驱动,26 维控制
PPT 生成 banana-slides 14.8k 叙事驱动的 PPT 生成,4 种叙事模型→幻灯片
叙事引擎 同类项目 <100 4 种正式叙事模型,Fountain 剧本+分镜表
ComfyUI 管理 ComfyUI 116k Go 执行桥,30 模板,确定性种子,可测试
设计模板 huashu-design 16.7k Go 重写核心层,结构化 YAML 模板,质量门禁

🖥️ 平台支持

平台 架构 二进制 Web UI PDF/视频导出
macOS Intel amd64 via54-darwin-amd64 ✅ 原生 需 Node.js + ffmpeg
macOS Apple Silicon arm64 via54-darwin-arm64 ✅ 原生 需 Node.js + ffmpeg
Linux amd64 via54-linux-amd64 ✅ 原生 需 Node.js + ffmpeg
Linux ARM (RPi/Graviton) arm64 via54-linux-arm64 ✅ 原生 需 Node.js + ffmpeg
Windows amd64 via54-windows-amd64.exe ✅ 原生 需 Node.js + ffmpeg

核心功能(提示词/叙事/设计/导出PPTX/JSON/SVG)100% 纯 Go,零外部依赖。 PDF导出和视频渲染需 Node.js + Playwright + ffmpeg —— 可选功能,Web UI 不需要。

快速安装:

# macOS (Intel 或 Apple Silicon)
bash hack/setup_macos.sh

# Linux (apt/dnf/pacman 自动检测)
bash hack/setup_linux.sh

# Windows (下载二进制 + 安装 Node.js)
# 下载: https://github.com/veawho/via54Design/releases
# Node.js: https://nodejs.org

手动编译 (需要 Go 1.21+):

make build          # 当前平台 CLI
make build-mcp      # MCP Server
make cross          # 5 平台交叉编译
make release        # 打包为 zip 发布包

测试 (20 轮):

python test_20_rounds.py   # 全方位压力/冒烟/稳定性/可用性/易用性/准确性测试

🧪 测试状态

维度 状态 证据
代码简洁 ✅ 良好 12,254 行 Go / 58 文件, 0 panic, 179 错误检查
架构清晰 ✅ 良好 双二进制 + 12 internal 包, 无环依赖
功能完整 ✅ 良好 16 CLI 子命令 + 26 API endpoint + 18 MCP 工具 + 17 平台
产品质量 ✅ 良好 SPDX 100% (58/58), 0 FIXME, gofmt 100%, go vet 0 warnings
构建测试 ✅ 20/20 Round 01-20 全通过 (详见 test_20_rounds.py)
确定性输出 ✅ 通过 同一输入 3 次 md5 一致 (prompt/narrate/generate)
边界测试 ✅ 通过 空输入/无效平台/超长字符串均优雅处理
压力测试 ✅ 通过 20 次 prompt @ 23ms/次, 10 次 narrate @ 20ms/次, 5 次 generate @ 20ms/次
集成测试 ✅ 通过 Web UI HTTP 200, HTMX 端点返回正确碎片, 0 inline JS

🖥️ 双模式运行配置 (v0.5.0 新增)

via54Design 支持两种运行模式,根据硬件自动检测并锁定。

模式 A: 全量运行 (≥16GB RAM + ≥12GB VRAM)

适用于配备独立 GPU 的工作站 / AI 设计师。

组件 内存 说明
via54.exe 20MB 核心引擎(必装)
ComfyUI / Forge 8-12GB VRAM 本地生图(可选)
vtracer 50MB 位图→SVG 矢量化
在线 API 0 常驻 LLM/视频/音乐按需调用

适用场景: 专业图像生产、AI 训练、离线工作流

模式 B: 最小化运行 (16GB RAM, 无独显)

适用于笔记本 / 轻量办公 / 演示环境。

组件 内存 说明
via54.exe 20MB 唯一本地常驻
msedge.exe + opencli 300MB (按需) 浏览器自动化
在线 API 0 常驻 全部走云端

适用场景: 海报/PPT/网页设计、临时演示、成本敏感

核心铁律: 两种模式都不包含本地 LLM

原因 详情
质量 7B 本地模型远不如 GPT-4/Claude/SenseNova
内存 7B 模型常驻 4-10GB RAM 严重浪费
场景 设计任务以确定性模板为主,LLM 仅辅助提示词
成本 在线 API 按需付费优于硬件一次性投入

所有 LLM 推理一律走在线 API:

  • SenseNova (sensenova-6.7-flash-lite / deepseek-v4-flash)
  • OpenAI (gpt-4o / dalle-3)
  • Claude (claude-sonnet-4)

模式自动检测

# 首次启动: 自动检测硬件 + 推荐模式
bash scripts/detect_mode.sh

# 输出示例:
# =========================================
#   via54Design 模式检测
# =========================================
# 内存: 16GB
# GPU: 无独立显卡
#
# 推荐: 模式 B (最小化运行)
# 理由: 16GB RAM 适合最小化模式 (via54 + 在线 API)
# =========================================
#
# [1] 确认  [2] 切换  [3] 跳过

模式锁定文件

检测完成后写入 .via54-mode

mode: B                    # A = 全量 / B = 最小化

hardware:
  ram_gb: 16
  vram_gb: 0
  gpu: "Intel UHD Graphics"

# 模式 B 配置 (16GB 内存)
local_services:
  - via54.exe (20MB)
  - msedge.exe + opencli (按需)

online_services:
  - sensenova-u1-fast (生图)
  - sensenova-6.7-flash-lite (LLM)
  - openai/dall-e-3 (生图)
  - kling-ai (生视频)
  - suno (生音乐)

# 显式禁用
disabled_services:
  - Ollama 本地 LLM
  - ComfyUI/Forge

模式对比

维度 模式 A (全量) 模式 B (最小化)
内存需求 16GB RAM + 12GB VRAM 16GB RAM
本地生图 ✅ ComfyUI/Forge ❌ 在线 API
本地矢量化 ✅ vtracer ✅ vtracer (可选)
本地 LLM ❌ 在线 API ❌ 在线 API
离线能力 生图可离线 完全依赖网络
成本模型 硬件一次性 按需付费
启动时间 30-60s (加载模型) <1s (仅 via54)

切换建议:

  • 主力做设计/AI 训练 → 模式 A
  • 主力做办公/演示/轻设计 → 模式 B
  • 不确定 → 先用模式 B,需求增长再升级

📜 许可

  • Go 源码: AGPL-3.0-only
  • 模板/脚本/文档: MIT

🚀 快速开始

# 下载对应平台的二进制
# macOS/Linux:
curl -L https://github.com/veawho/via54Design/releases/latest/download/via54-$(uname -s | tr A-Z a-z)-$(uname -m | sed s/x86_64/amd64/ | sed s/aarch64/arm64/).zip -o via54.zip

# 查看所有命令
via54

# 生成提示词
via54 prompt --scene "一只猫在月光下的屋顶上" --platform midjourney

# 生成 HTML 设计
via54 generate --layout hero-split-16-9 --color ink-wash --font ming-hei-editorial --title "标题"

# 生成叙事脚手架
via54 narrate --seed "一个裁缝在巴黎改变了时尚" --model three-act --duration 60

# 启动 Web UI
via54 web --port 8080

📋 CLI 命令参考

🎨 Prompt 工程 — 一句话→结构化提示词

via54 prompt --scene "场景描述" --platform flux          # 文本→提示词
via54 prompt --list                                       # 查看 17 个平台

以图生提示词(暂未实现 - 计划中):

  • 待添加:本地 VLM 参考图片分析
  • 现状:可通过 --ref 字段附加参考图路径到 prompt 输出中
平台 格式 特点
flux / midjourney / dalle3 / sd3 / stable_diffusion 英文参数 26 维控制参数
ideogram / recraft / seedance 英文参数 风格/文字控制
gemini / veo / sora / kling / pika 自然语言 视频生图
comfyui / forge JSON API payload

📖 叙事引擎 — 一句话→完整故事

via54 narrate --seed "一句话种子" --model three-act --duration 60   # 叙事脚手架
via54 narrate --seed "..." --format json --output scaffold.json      # JSON 输出
via54 narrate --list                                                  # 查看模型
模型 节拍 适用场景
three-act 设问→解答→号召 产品发布、品牌广告
heros-journey 日常→相遇→蜕变→回归 品牌故事、纪录片
cognitive-arc 钩子→基础→核心→案例→延展→总结 科普、教程
problem-solution 痛点→方案→证明→行动 销售视频、Demo

输出包含:故事大纲、节拍时间线、Fountain 剧本骨架、分镜表、LLM 完整提示词。

🎨 设计生成 — 布局×配色×字体→HTML

via54 generate --layout hero-split-16-9 --color ink-wash --font ming-hei-editorial \
  --title "标题" --output demo.html         # 生成 HTML
via54 generate --presentation ...            # 演示文稿模式 (16:9 锁定)

📄 导出管线 — 纯 Go,零外部依赖

via54 export pptx scaffold.json              # PPTX (可编辑)
via54 export pdf story.html                  # PDF
via54 export svg scaffold.json               # SVG 场景
via54 export markdown scaffold.json          # Marp 兼容幻灯片
via54 export json scaffold.json             # 结构化数据
via54 export render story.html --duration 30 # 视频 (需 ffmpeg)
via54 export tts --text "你好"               # 语音合成

PPTX 支持风格模板(--style + --theme):

# 4 种布局风格
via54 export pptx --style minimal            # 极简
via54 export pptx --style editorial          # 编辑
via54 export pptx --style bold               # 撞色
via54 export pptx --style accent-bar         # 装饰条 (默认)

# 31 种配色主题
via54 export pptx --theme templates/color-schemes/ink-wash.yaml

🔌 Forge/ComfyUI 集成

via54 forge --workflow sdxl_txt2img --prompt "a cat" --send        # 提交 Forge
via54 forge --list                                                  # 查看工作流
via54 comfyui --workflow sdxl_txt2img --prompt "a cat"              # 构建 ComfyUI JSON

🖼️ 媒体管线

via54 media add-music input.mp4 --mood tech      # 配乐
via54 media convert input.mp4                    # 格式转换
via54 media trace --input sketch.jpg             # 照片→SVG 矢量化

🌐 Web UI (意图驱动 & 实时沙盒工作区)

via54 web --port 8080

在浏览器中打开 http://localhost:8080,即可进入全新重构的 AI 设计沙盒工作区:

via54Design Web UI Sandbox

核心沙盒功能(借鉴 Lovart / v0)

  • 双栏交互工作区 ➜ 左栏进行参数控制与文档上传,右栏以 iframe 载入实时交互预览。
  • 响应式多端模拟 ➜ 顶部内置 Desktop / Tablet / Mobile 模拟器,可即时对自适应布局进行多画幅比例走查。
  • WYSIWYG 所见即所得编辑 ➜ 开启“编辑文本”后可直接点击预览页面中的任意文字图层进行实时修改打字。
  • 零延迟实时换肤 ➜ 提供拉丝金(Obsidian Gold)、终端蓝(Terminal Blue)和水墨灰(Ink Wash)等多套高级配色方案,通过前端 CSS 变量一键零延迟应用新主题。
  • 净化客户端导出 ➜ 提供“导出 HTML”功能,在客户端自动克隆并清洗掉开发用 contenteditable 等标记,净化下载当前编辑后的最新成果。

五个意图控制选项卡:

按钮 功能
🎨 做设计 描述场景→选择风格→生成 HTML + 文档/叙事→PPT 框架
📝 写提示词 文本/图片→结构化 Prompt → 提交 Forge
🎬 做视频 上传故事板图片→叙事模型→视频脚本 + prompts
提交 Forge 直接提交提示词到 Forge 再生成

所有核心功能独立运行,无需 Forge/ComfyUI。后端仅增强"再生成"步骤。

API 端点(16 个):

端点 方法 功能
/api/health GET 健康检查
/api/templates GET 工作流模板列表
/api/prompt POST 生成提示词
/api/generate POST 生成 HTML 设计
/api/narrate POST 生成叙事脚手架
/api/build POST 构建 ComfyUI 工作流
/api/export POST 导出 (PPTX/PDF/SVG/MD/JSON)
/api/upload POST 上传图片/文档
/api/analyze POST 分析图片特征
/api/img2prompt POST 图片→提示词
/api/story2ppt POST 文档→PPT 框架
/api/storyboard POST 多图→叙事→视频脚本
/api/video-prompt POST 单图→开场画面提示词
/api/regen POST 提交 Forge 再生成

📊 模板系统

配色 (31 套)

类别 数量 示例
中国传统 8 ink-wash 水墨, crimson-elegance 朱砂, moon-white 雨过天青
日系 6 tsubaki-camellia 椿色, wabi-sabi 侘寂, rinpa-gold
经典 6 dark-terminal-blue Linear风, cosmic-retro Perplexity风
Adobe/Behance 6 spectrum-indigo, glassmorphism-pastel, neon-dark
额外 5 bento-dark-glass, mono-brand-bold

字体 (12 套)

中文 6 套(明体/楷体/仿宋/黑体/书法/无衬线)+ 国际 6 套(衬线/几何/展示/迪多/等宽/圆体)。

布局 (3 套)

模板 适配 特性
hero-split-16-9 TV→Desktop→Tablet→Phone 左右分割,响应式堆叠
bento-grid-2x2 TV 3×2 → Desktop 2×2 → Phone 1列 模拟便当盒网格
gallery-waterfall 5列→4列→3列→2列 自动填充瀑布流

ComfyUI 工作流 (30 套)

类别 模板
文生图 sdxl_txt2img, flux_dev_txt2img, sd15_txt2img, sd3_txt2img, pixart, playground_v2, stable_cascade
图生图 sdxl_img2img, flux_img2img, sd3_img2img, sdxl_turbo, sdxl_refiner
局部重绘 sdxl_inpaint, flux_fill
超分 sdxl_upscale
控制网络 controlnet_canny, controlnet_openpose
视频 animatediff_txt2vid, hunyuan_txt2vid, wan_txt2vid, ltxv_txt2vid, mochi_txt2vid, cosmos_txt2vid, svd_img2vid, svd_img2vid_ext
高级 sdxl_advanced (LoRA+IPAdapter+FaceRestore), flux_pro (Tiled), sdxl_tiled, sdxl_img2img_face, lcm_lora

PPTX 风格 (4 套)

minimal / editorial / bold / accent-bar — YAML 定义位置/字体/颜色,支持 --theme 引用 31 配色方案。


🏗️ 架构

via54Design/
├── cmd/
│   ├── via54/          13 文件 — CLI 入口 (main + 10子命令)
│   └── mcp-server/     MCP Server 独立二进制
├── internal/
│   ├── export/         导出引擎 (纯Go: pptx/svg/json/markdown/pdf/tts)
│   ├── mcp/            MCP Server 实现
│   ├── media/          媒体管线 (下载/矢量化/配乐)
│   ├── narrate/        叙事引擎 (4模型, 剧本/分镜)
│   ├── pattern/        设计模式提取
│   ├── prompt/         提示词引擎 v2.2 (6模块)
│   │   ├── types.go    类型定义
│   │   ├── generator.go 生成器 (16维度)
│   │   ├── templates.go 模板加载 + 负面词库
│   │   ├── quality.go  质量评估
│   │   ├── version.go  版本管理
│   │   └── render.go   Markdown/JSON渲染
│   ├── quality/        质量门禁
│   ├── template/       模板引擎 (布局/配色/字体)
│   └── wasm/           WASM桥接 (Rust加速)
├── templates/
│   ├── prompts/        4平台提示词模板 (YAML)
│   ├── layouts/        3布局模板 (16:9, 四端适配)
│   ├── color-schemes/  30+配色方案
│   ├── typography/     12字体定义
│   ├── narratology/    4叙事模型
│   └── registry.yaml   模板注册表
├── web/                Web界面 (Go handler + HTML/JS)
│   ├── handler.go      28KB HTTP处理器
│   └── templates/      HTML模板 + JS
├── hack/               构建/部署脚本
│   ├── build.sh        Go跨平台编译 (CLI+MCP双二进制)
│   ├── install.sh      一键部署入口
│   ├── setup.sh        完整安装脚本
│   └── wasm/           Rust WASM源码
├── docs/
│   ├── prompts/        镜头/布光/配色/构图/质量参考
│   ├── template-format.md 模板格式规范
│   ├── failure-recovery.md 故障恢复指南
│   └── deployment-guide.md 部署文档
├── test_samples/       测试样本
├── AGENTS.md           AI工作上下文
├── SOUL.md             Hermes灵魂定义
├── .via54-mode         双模式锁定 (A=全量 / B=最小化)
├── scripts/
│   └── detect_mode.sh  模式自动检测脚本
├── Makefile            标准构建自动化
├── LICENSE             双许可(MIT OR AGPL-3.0)
└── README.md           项目文档

设计哲学

  1. YAML 模板 > 硬编码 — 配色/字体/布局/叙事模型/PPTX 风格全是 YAML 定义
  2. 纯 Go 单二进制 — 核心引擎 15MB,零运行时依赖
  3. 独立运行优先 — 所有核心功能不依赖 Forge/ComfyUI
  4. 确定性输出 — 所有 map 遍历前排序 key,同输入同输出
  5. API first — 所有功能通过 REST API 可调用,Web UI 只是前端
  6. 双模式自适应 — 硬件检测 + 模式锁定 (模式A全量 / 模式B最小化)

🔗 对比参考项目

类别 参考项目 via54 差异化
Prompt 工程 easy-sd, sd-webui-forge 10k-12k 17 平台统一引擎,YAML 驱动,26 维控制
PPT 生成 banana-slides 14.8k 叙事驱动的 PPT 生成,4 种叙事模型→幻灯片
叙事引擎 同类项目 <100 4 种正式叙事模型,Fountain 剧本+分镜表
ComfyUI 管理 ComfyUI 116k Go 执行桥,30 模板,确定性种子,可测试
设计模板 huashu-design 16.7k Go 重写核心层,结构化 YAML 模板,质量门禁

📜 许可

  • Go 源码: AGPL-3.0-only
  • 模板/脚本/文档: MIT
  • 参见: LICENSEACKNOWLEDGMENTS

🇬🇧 English Version

Read this README in English: README_EN.md

🔗 集成 (v0.8.0 新增)

via54Design v0.8.0 跟踪 4 个高星视频生成项目, 计划 v0.9.0 集成 diffusers, v1.0 完整 pipeline:

详见 integrations/README.mdREFERENCES.md.

from github.com/veawho/via54Design

Installing Via54Design

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/veawho/via54Design

FAQ

Is Via54Design MCP free?

Yes, Via54Design MCP is free — one-click install via Unyly at no cost.

Does Via54Design need an API key?

No, Via54Design runs without API keys or environment variables.

Is Via54Design hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Via54Design in Claude Desktop, Claude Code or Cursor?

Open Via54Design on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Via54Design with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All design MCPs