Skip to content

AiW520/EchoMuse-AI

Repository files navigation

EchoMuse AI

语音驱动的 AI 创作与思维协作平台 ——「从一句话灵感,到完整内容作品」。

EchoMuse AI 是面向 AI 创作者、科技博主、独立开发者与大学生创新团队的安卓 APP。 用户用语音表达灵感,系统自动完成:

  • 🎙 AI 降噪 + 实时语音转写(支持黄鹂智声耳机)
  • 🧠 10 维度 AI 思维分析(定位 / 用户 / 市场 / MVP / 风险 …)
  • ✦ 一键生成技术博客、小红书文案、视频口播稿、播客脚本、创业方案
  • 🎨 多类型 AI 创作工作室:图像 / 视频 / PPT / 音频 一站生成(OpenAI Compatible 网关)
  • 💬 AI 长期对话与项目记忆
  • 📚 历史项目时间轴与持续协作

UI 风格:苹果级极简 + 深色科技 + 蓝紫渐变 + 毛玻璃 + AI 呼吸动效, 对标 Apple / Arc / Linear / OpenAI / Humane AI / Rabbit r1。


项目结构

EchoMuseAI/
├── frontend/              # uni-app + Vue 3 + TS + Pinia + uView Plus
│   ├── pages/             # 首页 / 录音 / 转写 / 分析 / 生成 / 图像 / 历史 / 设置
│   ├── components/        # AIOrb / GlassCard / GradientButton / WaveBars / NavBar / AILoader / AuroraBg
│   ├── stores/            # project / settings (Pinia)
│   ├── services/api/      # http + 全部接口封装
│   ├── types/             # TS 类型定义
│   ├── utils/             # recorder(分段录音)/ format
│   ├── styles/            # variables / global
│   ├── App.vue main.ts pages.json manifest.json vite.config.ts ...
│   └── package.json
└── backend/               # FastAPI + Python
    ├── app/
    │   ├── api/           # transcribe / ai / projects
    │   ├── services/      # llm / image / transcribe
    │   ├── prompts/       # 全部 AI prompt 模板
    │   ├── models/        # pydantic 模型
    │   ├── core/          # config / db (sqlite)
    │   └── main.py
    ├── requirements.txt
    └── .env.example

快速开始

1. 后端

cd backend
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS/Linux
source .venv/bin/activate

pip install -r requirements.txt
cp .env.example .env       # 然后填入 LLM_API_KEY、DASHSCOPE_API_KEY 等
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

打开 http://localhost:8000/docs 看到 Swagger 即成功。

没有 API Key 也能跑通:llm.py 内置占位回复,image.py 自动回退到 picsum 占位图, 前端联调不会被阻塞。

2. 前端(uni-app)

方式 A:HBuilderX(推荐,可一键运行到 Android)

  1. 用 HBuilderX 打开 frontend/ 目录
  2. 右键 manifest.json → 运行 → 运行到手机或模拟器(确保已开 USB 调试)
  3. 在「设置 → API 后端地址」填入:http://<你电脑内网IP>:8000/api

方式 B:H5 浏览器调试

cd frontend
npm install
npm run dev:h5
# 打开 http://localhost:5173

H5 已经在 vite.config.ts 里配好 /apilocalhost:8000 反代。


核心配置(.env)

变量 说明
LLM_BASE_URL OpenAI Compatible LLM 服务地址,默认 https://api.deepseek.com
LLM_API_KEY DeepSeek / OpenRouter / OpenAI 等 Key
LLM_MODEL 模型名,默认 deepseek-chat
DASHSCOPE_API_KEY 通义万相文生图 Key(推荐)
WANXIANG_MODEL 默认 wanx2.1-t2i-turbo
OPENAI_IMAGE_API_KEY 备用:OpenAI Images
USE_PLACEHOLDER_IMAGES 无 Key 时是否使用占位图,默认 true

API 一览

方法 路径 说明
POST /api/transcribe 上传音频文件,返回分段转写
POST /api/analyze 文本 → 10 维度 AI 分析(JSON)
POST /api/generate/content 生成技术博客 / 小红书 / 口播稿 / 播客 / 创业方案
POST /api/generate/images 生成 AI 图片(自动 craft prompt)
POST /api/chat 持续对话
GET/POST/PUT/DELETE /api/projects 项目持久化(SQLite)

工作流(端到端)

语音输入 → 分段转写 → AI 思维分析 → 内容生成 → 图像生成 → 项目存档 → 持续对话

每一步在前端都对应独立页面,状态通过 Pinia useProjectStore() 全程串联。


设计语言

  • 色板#5B7CFF 深蓝 / #A78BFA 紫 / #F472B6 粉 / 暗色背景 #0A0A14
  • 渐变linear-gradient(135deg, #5B7CFF, #A78BFA, #F472B6)
  • 效果:毛玻璃(backdrop-filter blur 28rpx)+ 极光辉光 + 1rpx 渐变描边
  • 动效:AI 呼吸(3.6s)、波纹(1.4s)、入场 Fade-Up(560ms)
  • 字号:Display 64rpx · H1 48 · H2 36 · Body 28
  • 圆角:xs 8 · sm 16 · md 24 · lg 32 · xl 48 · pill 9999

详见 frontend/styles/variables.scss


路线图

  • 项目骨架与 8 个完整页面
  • DeepSeek + SQLite + 通义万相回退
  • 录音分段 + 实时转写联调
  • 多类型生成(图像/视频/PPT/音频)通过 OpenAI Compatible 网关
  • 流式输出(SSE)
  • 黄鹂智声 SDK 原生模块(plus.audio)
  • 长期记忆(向量库 + 用户档案)
  • 多设备同步(Supabase)

AI 创作工作室(图像 / 视频 / PPT / 音频)

前端内置 frontend/services/generation/generation-service.ts,统一封装:

  • 图像 → POST {baseUrl}/images/generations
  • 视频 → POST {baseUrl}/videos/generations
  • PPT → POST {baseUrl}/ppt/generations
  • 音频 → POST {baseUrl}/audio/generations

特性:

  • OpenAI Compatible 风格调用,bearer / X-API-Key 两种认证
  • 超时 + 指数退避重试(408/429/5xx)
  • 异步任务自动轮询(Veo3、Suno、PPT 多为 task_id 模式)
  • 响应解析容错:data[] / data.url / data.b64_json / output.results[0].url / task_id 全部支持
  • feature-detect:H5/App-Vue 走 fetch;缺失环境(小程序)回退 uni.request
  • 错误统一抛 GenerationError(status, code, body, message),UI 可做差异化提示

使用方式

  1. APP 内进入「设置 → AI 服务」
  2. 填入 Base URLAPI Key(仅保存到本机存储)
  3. 选择 Bearer / X-API-Key 认证
  4. 可分别为 image / video / ppt / audio 配置默认模型
  5. 点击「连接测试」生成 1 张图验证

也可在代码里手动配置:

import { ConfigManager, generationService } from '@/services/generation/generation-service'

ConfigManager.setConfig({
  apiKey: 'sk-...',
  baseUrl: 'https://api.example.com/v1',
  authType: 'bearer',
  defaultModels: {
    image: 'gemini-3-pro-image-preview-vip',
    video: 'veo3',
    ppt:   'gemini-ppt',
    audio: 'suno_music'
  }
})

const img = await generationService.generateImage({ prompt: '极简未来感品牌封面', aspectRatio: '1:1' })

License

MIT © EchoMuse AI

Releases

Packages

Contributors

Languages