你是否遇到过这些烦恼?
- 💸 订阅贵到离谱 - GPT Image 2 订阅计划一个月 $20,用用就超额
- 🐌 中转站老卡顿 - 第三方中转站经常吞图、速度慢得要命
- 🔧 API 调用繁琐 - 自己接 API 又要学技术、又要处理复杂逻辑
- 🚫 频繁切换模型 - 想试试其他生图模型?配置又要改来改去
MUSES 就是来解决这些痛点的!
| 优势 | 详情 |
|---|---|
| 💰 成本屠夫 | 平均生图成本仅 ¥0.04/张,碾压订阅计划 |
| 🏠 本地部署 | 完全本地化,出问题可以直接排查,没有黑盒 |
| ⚡ 闪电快响 | Hermes + Agent 驱动,2 分钟内出图(取决于提示词复杂度) |
| 🔄 灵活切换 | 随时切换你的生图模型,不被单一方案绑架 |
| 🛠️ 即插即用 | 一键配置,无需登录,专注创意本身 |
三层架构设计:
┌─────────────────────────────────┐
│ MUSES Web UI(React + Vite) │ ← 你的创意舞台
├─────────────────────────────────┤
│ Node.js 代理服务 │ ← 流量中枢
├─────────────────────────────────┤
│ Hermes 引擎(本地 LLM) │ ← 大脑核心
├─────────────────────────────────┤
│ 生图 API(GPT-4V / 其他模型) │ ← 图像生成器
└─────────────────────────────────┘
提示词输入 → Hermes 理解 → 优化提示词 → 调用生图 API → 返回图片 → 展示效果
- 你输入一个创意提示词(比如"赛博朋克风格的城市夜景")
- Hermes 本地大模型理解你的意图,智能优化提示词细节
- Agent 驱动快速响应,直接调用生图 API
- 图片秒现到你的网页界面
- 历史记录自动保存,随时回顾创意过程
✅ 零登录体验 - 打开即用,无繁琐注册
✅ 实时提示词输入 - 支持中英文混合
✅ 实时图像预览 - 生成即刻显示
✅ 历史记录面板 - 快速回顾往期创意
✅ 侧边栏模型配置 - 一键切换 API 和密钥
✅ 灵活部署选项 - 本地 / 服务器 / WSL 都支持
- Node.js 18+
- npm 或 yarn
- Hermes 本地服务(运行在
127.0.0.1:8642或你的自定义端口) - 生图 API Key(OpenAI / Replicate / 其他)
# 1. 克隆仓库
git clone <your-repo-url>
cd muses
# 2. 安装依赖
npm install
# 3. 启动开发环境(自动启动 Node 代理 + Vite 前端)
npm run dev
# 现在打开浏览器访问 http://localhost:5173创建 .env.local 文件(可选,如需自定义):
# Hermes 代理地址(默认已配置,如无特殊需求可忽略)
VITE_HERMES_PROXY_TARGET=http://127.0.0.1:18789
# API 端点路径
VITE_HERMES_CONFIG_ENDPOINT=/api/hermes/config
VITE_HERMES_GENERATE_ENDPOINT=/api/hermes/generate
# Hermes 社区链接
VITE_HERMES_COMMUNITY_URL=https://example.com/community# 构建生产版本
npm run build
# 预览构建结果
npm run preview
# 仅启动 Node 服务器
npm run serverPOST /api/hermes/config
Content-Type: application/json
{
"modelUrl": "https://api.openai.com/v1/images/generations",
"apiKey": "sk-your-api-key",
"model": "dall-e-3"
}响应:
{
"success": true,
"message": "配置已保存",
"data": {}
}POST /api/hermes/generate
Content-Type: application/json
{
"prompt": "幽蓝色赛博城市,雨夜,镜面反射,cyberpunk风格",
"modelUrl": "https://api.openai.com/v1/images/generations",
"apiKey": "sk-your-api-key"
}响应:
{
"success": true,
"message": "图片生成成功",
"data": {
"images": [
{
"url": "https://example.com/image-1.png",
"label": "原始生成"
}
],
"requestId": "req-12345",
"generatedAt": "2024-05-10T10:30:00Z"
}
}问题: Vite 代理无法连接到 Hermes 服务
解决方案:
-
检查 Hermes 是否运行:
netstat -ano | findstr :18789 -
Hermes 未启动? 在 WSL 或本地启动 Hermes:
hermes --port 18789
-
使用不同的端口? 设置环境变量:
Windows CMD:
set VITE_HERMES_PROXY_TARGET=http://127.0.0.1:你的端口 npm run devPowerShell:
$env:VITE_HERMES_PROXY_TARGET = "http://127.0.0.1:你的端口" npm run dev
检查清单:
- ✓ API Key 是否正确复制(避免多余空格)
- ✓ API Key 是否过期或被撤销
- ✓ 生图 API 配额是否还有余额
- ✓ 网络连接是否稳定
- 检查生图 API 的响应 URL 是否正确
- 确认图片服务器是否可访问
- 查看浏览器控制台的网络请求错误
muses/
├── src/
│ ├── App.tsx # 主应用组件
│ ├── main.tsx # 入口文件
│ └── styles.css # 样式文件
├── imgs/
│ ├── logo.png # 项目 Logo
│ ├── framework.png # 架构图
│ ├── index.png # 首页截图
│ └── output.png # 生图效果
├── server.js # Node.js 代理服务
├── vite.config.ts # Vite 配置
├── tsconfig.json # TypeScript 配置
├── package.json # 项目依赖
└── README.md # 你在这里 👈
1️⃣ 在 MUSES 界面输入提示词:
"未来风格的摩天楼城市,蓝紫色灯光,夜间,赛博朋克美学"
2️⃣ Hermes 本地大模型进行智能优化:
"A stunning cyberpunk metropolis at night with towering skyscrapers,
neon blue and purple lights, holographic advertisements,
dramatic volumetric lighting, 8K, ultra-detailed, trending on artstation"
3️⃣ 生图 API 快速响应(平均 30-60 秒)
4️⃣ 图片呈现在你的屏幕上 ✨
5️⃣ 满意?一键保存;不满意?调整提示词重新生成
- ✓ 本地优先 - 你的配置和历史记录存储在本地
- ✓ 无云同步 - 数据不会自动上传到任何远程服务器
- ✓ 完全可控 - 你完全掌控 API Key 和生成内容
- ✓ 开源透明 - 代码开放,任何人都可以审计
如果 MUSES 让你的创意工作变得更高效、更省钱,请考虑支持我们:
在 GitHub 给我们一个 Star 🌟 - 你的支持是我们最大的动力!
- 分享给朋友 - 口碑传播是最好的推广
- 提交 Issue & PR - 帮助我们发现 bug、增加新功能
- 反馈建议 - 告诉我们你的使用体验和想法
- 社区贡献 - 参与文档编写、示例代码等
感谢所有支持 MUSES 项目的朋友们!你们的信任和支持是我们坚持下去的理由。
MIT License - 自由使用,自由分享 ✌️
用 MUSES,让每一个创意都闪闪发光! ✨
Have fun creating amazing images! 🎨
默认请求地址如下:
- 配置更新:
POST /api/hermes/config - 生成请求:
POST /api/hermes/generate
请求体示例:
{
"modelUrl": "https://api.example.com/v1/images",
"apiKey": "your-api-key",
"prompt": "幽蓝色赛博城市,雨夜,镜面反射"
}响应需要严格符合以下结构,页面只认这一种格式:
{
"success": true,
"message": "optional human readable text",
"data": {
"images": [
{
"url": "https://...",
"label": "optional"
}
],
"requestId": "optional"
}
}配置更新接口同样要求返回 success: true,data 可选。
如果你的 Hermes 代理地址不同,可以在启动前设置:
VITE_HERMES_PROXY_TARGET:Vite 开发代理目标,默认http://127.0.0.1:18789VITE_HERMES_CONFIG_ENDPOINT:配置接口路径,默认/api/hermes/configVITE_HERMES_GENERATE_ENDPOINT:生成接口路径,默认/api/hermes/generateVITE_HERMES_COMMUNITY_URL:侧边栏链接地址,默认官方资源入口
侧边栏已经加入 Hermes 中文社区 / 资源入口链接位。如果你有内部中文社区链接,可以直接通过 VITE_HERMES_COMMUNITY_URL 替换成你们自己的地址。
这表示 Vite 代理无法连接到 Hermes 服务,通常是服务未启动或端口不匹配。
你当前环境里,已验证可用的网关端口是 18789(/api/hermes/config 返回 200),项目默认已改为该端口。
排查步骤:
- 在 Windows 终端检查端口是否监听:
netstat -ano | findstr :18789-
如果没有监听,确认 Hermes 在 WSL 中已启动,并且绑定
0.0.0.0:18789或127.0.0.1:18789。 -
若 Hermes 使用了其他端口,在项目根目录设置:
set VITE_HERMES_PROXY_TARGET=http://127.0.0.1:你的端口
npm run devPowerShell 可用:
$env:VITE_HERMES_PROXY_TARGET = "http://127.0.0.1:你的端口"
npm run dev




