Skip to content

nanxingw/AutoViral

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,269 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AutoViral

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

从选题调研到成片发布,全程 AI Agent 驱动 —— 任何 CLI agent(claude / codex / kimi / gemini / aider)都能驱动

Node.js Agent-agnostic React 19 License: MIT


demo.mp4

成品样本
face.swap.mp4

人脸适应功能

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


它能做什么

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

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

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

支持的内容类型

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

核心能力

能力 技术方案 说明
AI 图片生成 OpenRouter · openai/gpt-5.4-image-2(GPT Image 2) 支持 4K、自定义宽高比、图生图
AI 视频生成 OpenRouter · bytedance/seedance-2.0(Seedance) 图生视频,时长 {3,5,10}s
配音 (TTS) edge-tts → OpenAI 兜底 中/英旁白音轨
图文排版 HTML/CSS + Playwright 5 套小红书模板、专业字体
视频合成 Remotion + FFmpeg 合成、字幕、配乐、转场
作品内调研 Agent 按需 Web research 研究笔记保存在当前作品的 research/ 目录
质量评审 LLM-as-Judge 每步可选质量门控

个性化创作:记忆系统 + 作品上下文

AutoViral 不只是一个工具——它会记住你,并在每个作品里延续创作上下文。

🧠 长期记忆(EverMemOS)

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

  • 风格画像 — 你偏好的表达方式、视觉风格、人设定位
  • 创作历史 — 过去做过什么、哪些选题效果好
  • 平台规则 — 各平台的算法偏好和内容规范
  • 当前作品topicHint、方案与按需调研笔记

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


快速开始

前置要求

  • Node.js >= 20
  • 任意 CLI agent — 任何 CLI agent(claude / codex / kimi / gemini / aider)都能驱动 AutoViral,安装并登录其一即可
  • FFmpegbrew install ffmpeg

安装

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

配置

cp .env.example .env

编辑 .env

# OpenRouter 是唯一的外部生成网关 —— 图片 / 视频 / 翻译都走它
OPENROUTER_API_KEY=sk-or-v1-xxxxxxxx

一把 OpenRouter Key 即可解锁图片(openai/gpt-5.4-image-2)、视频(bytedance/seedance-2.0)与翻译。TTS(edge-tts)无需额外 Key;只有用 OpenAI 作为 TTS 兜底时才需配 OPENAI_API_KEY(可选)。

启动

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

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


使用流程

1. 创建作品

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

2. 在工位里和 agent 协作(无强制顺序)

进入 Studio(短视频,composition.yaml)或 Editor(图文,carousel.yaml),在右侧 agent 面板里描述你想要的东西。agent 加载操作手册 skill(skills/autoviral/)并通过 autoviral CLI 驱动工位——它不强迫线性流程,按你的意图直接动手:

你想做 短视频 图文
找选题 按需搜索、分析竞品 按需搜索、参考同类内容
定方案 分镜脚本、画面描述、台词 每张图的内容规划、文案
出素材 生首帧 → 生视频片段 → 配音 生配图 → 排版渲染
成片 Remotion 合成 + 字幕 + 配乐 Konva 多图层 + 排序 + 发布文案

任意一步都能做起点:给完整 brief 就直接出素材、成片;只想先做作品内调研也可以。agent 不会反问"我们应该先做哪一步"。

工位本身对"什么是好视频"不持立场——审美交给你挂载的 sibling taste skill(editorial-pro 等),skills/autoviral/ 只教 agent 如何操作这个工位

3. 预览与导出

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

AI 生成服务

OpenRouter 是唯一的外部生成网关——图片、视频、翻译全部通过它,统一一把 Key、统一密钥管理(架构不变量 #2,不存在直连各家厂商的旁路)。

能力 模型 密钥 说明
图片生成 openai/gpt-5.4-image-2(GPT Image 2,~$0.04/张) OPENROUTER_API_KEY 支持 4K / 宽高比 / 图生图
视频生成 bytedance/seedance-2.0(Seedance,~$0.76/3s) OPENROUTER_API_KEY(复用) 图生视频,时长仅 {3,5,10}s,输出固定 720×1280@24
翻译 anthropic/claude-sonnet-4.5 OPENROUTER_API_KEY(复用) YouTube ingest 等流程的字幕翻译

配音 (TTS) 不走 OpenRouter:默认本地 edge-tts,可选用 OpenAI 作兜底(需 OPENAI_API_KEY)。

检查当前工位上下文与环境接线是否就绪(在 Studio 终端面板里运行):

autoviral whoami    # 打印当前 work / 端口 / 版本;env 未接线时非零退出,是安全 smoke test
autoviral docs      # 打印操作手册;autoviral docs <topic> 看单节

项目架构

Studio 前端与后端之间是一条 bridge(HTTP + WebSocket) 协议;CLI agent 不直连后端进程,而是通过 autoviral CLI 调 bridge 的 /api/bridge/v1/* 端点——React UI 和 autoviral CLI 共用同一条 bridge,所以任何 CLI agent 都能用同一套命令驱动工位。

浏览器 (React 19 + Vite)
        │  HTTP / WebSocket(bridge)
        ▼
Node.js daemon (Express + Hono, :3271)
        │  bridge /api/bridge/v1/*
        ▼
CLI agent (claude / codex / kimi / gemini / aider)
        │  调 `autoviral` CLI(协议层),不直接读 src/
        ▼
OpenRouter(唯一外部网关)—— 图片 GPT Image 2 / 视频 Seedance / 翻译

终端面板里的 agent 通过 autoviral whoami / docs / context 等命令操作工位;这是一条稳定的协议层,不是早期的 /invoke RPC 端点。

目录结构

src/                          # 后端 TypeScript
  index.ts                    #   daemon 入口
  cli.ts                      #   autoviral CLI 入口(start/stop/config …)
  infra/                      #   跨切面基础设施(config / logger / paths)
  domain/                     #   核心领域(work-store / memory / audio-tools)
  server/                     #   Express + WS bridge
    api.ts                    #     REST 端点(config / works / assets …)
    bridge/                   #     /api/bridge/v1/* —— 终端面向的协议(routes、ingest-youtube)
    cost-ledger/              #     每作品成本账本
    render-pipeline.ts        #     Remotion 驱动的 mp4 导出
  providers/                  #   OpenRouter 适配器(image / video)
  tts-providers/              #   edge-tts → OpenAI 兜底
  shared/                     #   composition.ts / carousel.ts(zod schema)
  ws-bridge.ts                #   chat-agent WS 桥接(claude -p 子进程)

web/src/                      # 前端 React 19 + 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)
  features/
    studio/                   #   视频合成数据模型 / Remotion composition / Tweaks
    editor/                   #   图文 carousel / Konva canvas / Inspector
    terminal/                 #   xterm.js 面板(承载任意 CLI agent)
    chat/                     #   WS 客户端 + StreamBlock

cli/autoviral/                # `autoviral` CLI(协议层,独立分发)
  src/commands/               #   whoami / docs / context / clip / check / ingest / export …

skills/autoviral/             # 操作手册 skill(agent-agnostic markdown,不教审美)
  SKILL.md                    #   入口:你在 AutoViral 工位里
  manual/                     #   编号阅读顺序(00-quickstart … 05-conventions)
  recipes/                    #   常见任务的 step-by-step pattern
  contracts/                  #   错误码 / 事件流 schema

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

技术栈

技术
前端 React 19, Vite, Zustand, TanStack Query, editorial·cool·glass 主题
后端 Node.js, Express + Hono, TypeScript, WebSocket(bridge)
AI Agent agent-agnostic CLI(claude / codex / kimi / gemini / aider)经 autoviral CLI 驱动
图片生成 OpenRouter · openai/gpt-5.4-image-2(GPT Image 2)
视频生成 OpenRouter · bytedance/seedance-2.0(Seedance)
配音 (TTS) edge-tts → OpenAI 兜底
图文排版 HTML/CSS + Playwright + 模板
视频合成 Remotion + FFmpeg

配置项

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

配置项 默认值 说明
port 3271 仪表盘端口
model opus Claude 模型(opus / sonnet / haiku)

CLI 命令

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

License

MIT

About

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

Topics

Resources

Contributing

Stars

9 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors