Skip to content

nanxingw/AutoViral

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

667 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AutoViral

AI-native 社交媒体内容创作平台

从选题调研到成片发布,全程 AI Agent 驱动

Node.js Claude Code Svelte 5 License: MIT


demo.mp4

成品样本
face.swap.mp4

人脸适应功能

AI 全自动创作的健身短视频 — 从选题到成片,零人工干预,支持一键换人物形象


它能做什么

AutoViral 是一个本地运行的 AI 内容工作台,你描述一个选题,AI Agent 完成从调研到成片的全部工作:

 你:"做一个月球战争的科幻短片"
  │
  ▼
┌─────────┐    ┌─────────┐    ┌─────────┐    ┌─────────┐
│ 话题调研  │───▶│ 内容规划  │───▶│ 素材生成  │───▶│ 合成输出  │
│          │    │          │    │          │    │          │
│ AI 搜索   │    │ 分镜脚本  │    │ AI 生图   │    │ 视频拼接  │
│ 趋势分析  │    │ 文案策划  │    │ AI 生视频  │    │ 字幕配乐  │
│ 竞品参考  │    │ 配乐规划  │    │ AI 配乐   │    │ 转场特效  │
└─────────┘    └─────────┘    └─────────┘    └─────────┘

每个步骤 AI 会先和你确认方案,等你同意后再执行。你随时可以在对话中给反馈、调整方向。

支持的内容类型

类型 目标平台 产出
短视频 抖音 带字幕、配乐的完整视频
图文 小红书 专业排版的多图 + 发布文案

核心能力

能力 技术方案 说明
AI 图片生成 OpenAI GPT-5.4 Image (via OpenRouter) 支持 4K、自定义宽高比、图生图
AI 视频生成 Dreamina CLI (Seedance 2.0) 文生视频、图生视频、首尾帧、多帧
AI 音乐生成 Google Lyria 3 Pro 文生音乐、图生音乐
图文排版 HTML/CSS + Playwright 5 套小红书模板、专业字体
视频合成 FFmpeg 拼接、字幕、配乐、转场
趋势调研 AI Web Search 抖音/小红书实时热点
数据分析 定时采集 粉丝/播放/互动数据追踪
质量评审 LLM-as-Judge 每步可选质量门控

个性化创作:记忆系统 + 数据驱动

AutoViral 不只是一个工具——它会记住你,并用数据优化每一次创作。

🧠 长期记忆(EverMemOS)

集成 EverMemOS 长期记忆系统,AI Agent 在创作时自动检索:

  • 风格画像 — 你偏好的表达方式、视觉风格、人设定位
  • 创作历史 — 过去做过什么、哪些选题效果好
  • 平台规则 — 各平台的算法偏好和内容规范
  • 竞品动态 — 同领域热门内容的趋势变化

每次创作完成后,对话内容自动同步回 EverMemOS,形成越用越懂你的正向循环。

📊 平台数据反馈

通过定时采集抖音创作者数据(粉丝、播放、点赞、评论),AI 在后续创作中参考真实表现:

  • 哪类视频播放量高?AI 会倾向类似选题
  • 哪些时段发布效果好?AI 会建议最佳发布时间
  • 评论区在聊什么?AI 会捕捉受众兴趣点
创作 → 发布 → 数据采集 → 记忆沉淀 → 下次创作更精准
  └───────────────── 闭环优化 ─────────────────┘

快速开始

前置要求

  • Node.js >= 18
  • Claude Code CLI — 已安装并登录
  • FFmpegbrew install ffmpeg

安装

git clone https://github.com/nanxingw/AutoViral.git
cd AutoViral
npm install && npm run build

配置

cp .env.example .env

编辑 .env

# 图片生成(Gemini,推荐)
OPENROUTER_API_KEY=sk-or-v1-xxxxxxxx

# 视频生成备用(即梦 API,可选)
JIMENG_ACCESS_KEY=AKLTxxxxxxxx
JIMENG_SECRET_KEY=xxxxxxxx

视频生成首选方案:安装 Dreamina CLI(免费,浏览器登录即可):

curl -fsSL https://jimeng.jianying.com/cli | bash
dreamina login    # 浏览器弹窗登录

启动

autoviral start                # 后台启动
autoviral start --foreground   # 前台启动(看日志)

打开 http://localhost:3271 开始创作。


使用流程

1. 创建作品

点击「新建作品」,输入标题和创作方向(如"科幻短片,月球大战"),选择类型和平台。

2. 四个能力模块(modules-as-capabilities,无强制顺序)

进入 Studio(视频)或 Editor(图文),按用户意图调用任意模块:

模块 短视频 图文
research 搜索热点趋势、分析竞品 搜索话题热度、参考爆款
planning 分镜脚本、画面描述、台词 每张图的内容规划、文案
assets 生首帧 → 生视频片段 → 生配乐 生配图 → 排版渲染
assembly Remotion 合成 + 字幕 + 配乐 Konva 多图层 + 排序 + 发布文案

任何模块都可以做起点。用户给完整 brief 就直接进 assets/assembly;想试趋势就单独调 research。Agent 不会反问"我们应该先做哪一步"——按你的意图直接动手。

3. 预览与导出

成品在右侧素材面板预览,保存在 ~/.autoviral/works/<id>/output/

4. 数据追踪(可选)

在「数据」页面粘贴抖音主页链接,系统定时采集播放、点赞、评论数据,AI 在后续创作中参考。


AI 生成服务

AutoViral 支持多个 AI 生成服务,按优先级自动选择:

图片生成

优先级 服务 密钥 说明
OpenRouter (openai/gpt-5.4-image-2) OPENROUTER_API_KEY 唯一通道,支持 4K/宽高比/图生图。不再保留备用路径。

视频生成

优先级 服务 配置方式 说明
1 Dreamina CLI (Seedance 2.0) dreamina login 推荐,支持图生视频、多帧
2 即梦 API JIMENG_ACCESS_KEY + SECRET_KEY 备用

音乐生成

服务 密钥 说明
Google Lyria 3 Pro OPENROUTER_API_KEY(复用) 文生音乐、图生音乐

检查当前环境可用服务:

python3 skills/autoviral/modules/assets/scripts/check_providers.py --format table

项目架构

浏览器 (React 18 + Vite)  ──WebSocket──  Node.js (Hono)  ──stdin/stdout──  Claude Code CLI
                                       │
                              ┌────────┼────────┐
                              ▼        ▼        ▼
                          Dreamina   Gemini   Lyria
                          (视频)    (图片)   (音乐)

目录结构

src/                          # 后端 TypeScript
  cli.ts                      #   CLI 入口(start/stop/config)
  config.ts                   #   配置管理(.env + config.yaml)
  work-store.ts               #   作品存储(YAML 持久化)
  ws-bridge.ts                #   WebSocket 桥接(浏览器 ↔ Claude CLI)
  analytics-collector.ts      #   数据采集
  server/
    api.ts                    #   REST + WebSocket API(/invoke 端点;评审为只读 rubric 工具)
    index.ts                  #   Hono 服务启动
  remotion-renderer.ts        #   服务端 @remotion/renderer mp4 导出

web/src/                      # 前端 React 18 + Vite + Zustand + TanStack Query
  pages/
    Works.tsx                 #   作品 hub(pick up where you left off)
    Studio.tsx                #   视频创作(Remotion Player + 多轨 Timeline + Tweaks)
    Editor.tsx                #   图文创作(Konva 多图层 + Inspector + Filmstrip)
    Explore.tsx               #   趋势探索
    Analytics.tsx             #   数据仪表盘
  features/
    studio/                   #   视频合成数据模型 / Remotion composition / Tweaks
    editor/                   #   图文 carousel / Konva canvas / Inspector
    chat/                     #   WS 客户端 + StreamBlock

skills/                       # AI Agent 技能定义
  autoviral/                  #   一体化创作技能(单 skill,任意起点切入)
    SKILL.md                  #     主入口(prime directive + 模块地图 + 任意起点原则)
    taste/                    #     品味读物(7 份:叙事 / 镜头 / 节奏 / 排版 / schema / rubric)
    modules/
      research/               #     事实收集(热搜脚本 + 达人分析 + 视频解构)
      planning/               #     情感意图 → 可执行 brief(镜头表 / 图文结构 / 文案)
      assets/                 #     生成引擎(OpenRouter / Dreamina / Jimeng / Lyria / Playwright)
      assembly/               #     成片引擎(ffmpeg / subtitle_burn / beat-sync / audio-mix)
    references/               #     模块间契约

~/.autoviral/                 # 运行时数据
  config.yaml                 #   配置
  fonts/                      #   下载的专业字体
  works/                      #   作品数据 + 素材 + 成品
  trends/                     #   趋势缓存

技术栈

技术
前端 Svelte 5 (runes), Vite, Glass Noir 深色主题
后端 Node.js, Hono, TypeScript, WebSocket
AI Agent Claude Code CLI (stream-json 子进程)
图片生成 OpenRouter → Gemini 3.1 Flash
视频生成 Dreamina CLI (Seedance 2.0) / 即梦 API
音乐生成 Google Lyria 3 Pro
图文排版 HTML/CSS + Playwright + Jinja2 模板
视频编辑 FFmpeg

配置项

配置优先级:.env > ~/.autoviral/config.yaml

配置项 默认值 说明
port 3271 仪表盘端口
model opus Claude 模型(opus / sonnet / haiku)
research.schedule 0 9,21 * * * 定时调研(每天 9:00 和 21:00)
analytics.collectInterval 60 数据采集间隔(分钟)
interests [] 关注领域(在探索页面配置)

CLI 命令

autoviral start [--foreground]     # 启动服务
autoviral stop                     # 停止服务
autoviral dashboard                # 打开浏览器
autoviral config get [key]         # 查看配置
autoviral config set <key> <value> # 修改配置

License

MIT

About

AI 驱动的社交媒体内容创作平台 — 从选题调研到成片发布,一站式完成

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors