今天在 GitHub Trending 上看到一个有意思的项目:scroll-world,一个 Agent 技能工具,能让你通过简单的对话,自动生成类似 Apple 产品页那种滚动驱动的沉浸式「飞行穿越世界」着陆页——滚动即驱动摄像机飞行,场景间无缝衔接,一镜到底。

一、项目概述

scroll-world 是一个面向 Claude Code、Codex 等 Agent 的技能(Skill),它利用 Higgsfield 平台的 AI 生成能力,自动创建沉浸式的滚动驱动着陆页。核心特性包括:

  • 滚动驱动的摄像机飞行:用户滚动页面时,摄像机从场景外部飞入内部,再无缝流转到下一个场景
  • 无缝衔接的连接片段:相邻场景之间的过渡视频由实际渲染帧生成,确保帧级无缝
  • 框架无关:生成的滚动引擎是纯 JavaScript,可嵌入 HTML、Next.js、Vue 或 Python 服务页面
  • 自动化工作流:从访谈需求、生成素材、到组装页面,全程由 Agent 驱动

这个项目适合需要打造品牌着陆页、产品展示页的场景,尤其适合想要复刻 Emons 物流站或 Apple 滚动动画效果的团队。

二、技术原理

架构设计

scroll-world 的核心架构分为三层:

  1. 访谈层:收集用户需求(行业/品牌、艺术风格、场景顺序)
  2. 素材生成层:调用 Higgsfield API 生成静态图像和动态视频
  3. 组装层:配置驱动的滚动引擎,将视频链串联为可交互页面

核心技术栈

组件技术用途
图像生成GPT Image 2 (via Higgsfield)生成等轴测立体场景静态图
视频生成Seedance (via Higgsfield)生成摄像机飞入和场景连接视频
帧处理ffmpeg / ffprobe视频帧提取与编码
滚动引擎Vanilla JSBlob-seek、懒加载、场景过渡淡入淡出

关键设计:无缝连接片段

传统方案中,场景切换需要剪辑,会打断沉浸感。scroll-world 的创新在于:

# 连接片段生成逻辑(简化示意)
# 从相邻场景的实际渲染帧生成过渡视频
# 确保首帧与前一场景末帧一致,末帧与后一场景首帧一致

def generate_connector_clip(prev_scene_last_frame, next_scene_first_frame):
    """
    基于相邻场景的实际渲染帧生成连接片段
    Higgsfield Seedance 模型会确保帧级连续性
    """
    # 将两帧作为起始和结束参考
    # 生成平滑的摄像机过渡路径
    # 输出:无缝连接视频片段
    pass

这种「帧级连续」设计,使得整个体验像一个长镜头,没有剪辑痕迹。

滚动驱动原理

// 滚动引擎核心:Blob-seek + 懒加载
class ScrollEngine {
  constructor(config) {
    this.videos = config.scenes;      // 视频片段列表
    this.currentIndex = 0;            // 当前播放索引
    this.scrollProgress = 0;          // 滚动进度 (0-1)
  }

  onScroll(scrollY) {
    // 将滚动位置映射到视频时间线
    this.scrollProgress = this.mapScrollToProgress(scrollY);
    
    // 更新当前视频播放位置
    const videoIndex = this.getVideoIndex(this.scrollProgress);
    const localTime = this.getLocalTime(this.scrollProgress, videoIndex);
    
    this.videos[videoIndex].currentTime = localTime;
    
    // 处理场景切换时的淡入淡出
    if (videoIndex !== this.currentIndex) {
      this.crossfade(this.currentIndex, videoIndex);
      this.currentIndex = videoIndex;
    }
  }
}

用户滚动时,引擎实时计算当前应该播放哪个视频的哪一帧,并在场景切换时应用淡入淡出效果。

三、安装与快速开始

环境要求

  • Higgsfield CLI:用于 AI 素材生成
    npm install -g @higgsfield/cli
    higgsfield auth login
    
  • ffmpeg / ffprobe:用于视频帧处理
    # macOS
    brew install ffmpeg
    
    # Ubuntu/Debian
    sudo apt install ffmpeg
    
  • Python 3 + Pillow(可选):用于透明场景背景剔除

安装方式

Claude Code(推荐)

/plugin marketplace add oso95/scroll-world
/plugin install scroll-world@scroll-world

安装后,直接向 Claude Code 请求:「帮我生成一个滚动驱动的着陆页」或调用 /scroll-world。

Codex 及其他 Agent

使用 Vercel 的 skills CLI:

npx skills add oso95/scroll-world

在 Codex 中通过 $scroll-world 调用,或直接描述需求。

手动安装

git clone https://github.com/oso95/scroll-world
cp -R scroll-world/skills/scroll-world ~/.claude/skills/   # Claude Code
cp -R scroll-world/skills/scroll-world ~/.codex/skills/    # Codex

最简运行示例

  1. 在 Claude Code 中输入:

    帮我生成一个咖啡品牌的滚动着陆页,
    风格:温馨、复古,
    场景:咖啡豆农场 → 烘焙工坊 → 咖啡馆
    
  2. scroll-world 会自动:

    • 访谈确认品牌调性
    • 调用 Higgsfield 生成 3 个场景图 + 3 个飞入视频 + 2 个连接视频
    • 生成包含滚动引擎的 HTML 页面
  3. 打开生成的 index.html,滚动体验沉浸式飞行效果。

四、使用方法与实战

基础用法:单场景着陆页

最简单的场景,只需要一个核心展示空间:

帮我做一个科技产品着陆页,
场景:未来城市俯瞰 → 镜头飞入产品展厅

Agent 会生成 2 个场景的视频链,滚动驱动从城市到展厅的飞行。

进阶用法:多场景品牌旅程

对于品牌叙事,可以设计 4-6 个场景的旅程:

帮我为「绿野有机农场」设计一个滚动着陆页:
场景顺序:
1. 日出时的农场全景
2. 有机蔬菜大棚
3. 农夫采摘场景
4. 配送中心
5. 消费者餐桌

风格:自然、温暖、纪录片质感

实际项目示例

假设你要为一个 SaaS 产品「DataFlow」创建着陆页:

需求描述:

产品:DataFlow 数据分析平台
目标用户:企业数据分析师
场景设计:
1. 数据中心(服务器机房)
2. 数据流可视化界面
3. 团队协作会议室
4. 移动端查看报表

风格:科技、专业、深色主题
品牌色:蓝色 #0066CC

执行步骤:

  1. scroll-world 访谈确认细节
  2. 后台生成约 11 个素材(4 个静态图 + 7 个视频)
  3. 输出可部署的 HTML 文件

成本估算:

  • Higgsfield credits:约 4 次图像生成 + 7 次视频生成
  • 生成时间:约 15-30 分钟(并行生成)

五、常见问题与解决方案

安装失败

问题:higgsfield: command not found

解决:确保全局安装并配置 PATH:

npm install -g @higgsfield/cli
# 验证
higgsfield --version

问题:ffmpeg not found

解决:

# macOS
brew install ffmpeg

# 添加到 PATH(如果未自动添加)
export PATH="/opt/homebrew/bin:$PATH"

运行时错误

问题:Higgsfield API 返回 401 Unauthorized

解决:重新登录认证:

higgsfield auth login
# 按提示完成 OAuth 流程

问题:视频生成超时

解决:

  • Higgsfield 视频生成耗时较长(30-90 秒/视频)
  • scroll-world 会自动轮询状态,无需手动干预
  • 若长时间无响应,检查网络和 Higgsfield 服务状态

性能问题

问题:页面滚动卡顿

解决:

  • 视频懒加载:scroll-world 默认启用,确保只加载当前和下一个视频
  • 视频格式优化:使用 WebP 或压缩的 MP4
  • 减少 FPS:对于长视频,可降低到 24fps

问题:移动端体验不佳

解决:

  • 减少场景数量:移动端建议不超过 4 个场景
  • 降低视频分辨率:Higgsfield 支持指定分辨率

兼容性

问题:Safari 视频无法播放

解决:

  • 确保视频格式为 MP4 (H.264)
  • scroll-world 默认生成兼容格式,若问题仍存在,手动转码:
    ffmpeg -i input.webm -c:v libx264 -c:a aac output.mp4
    

问题:嵌入 Next.js 后滚动不工作

解决:

  • 确保在 useEffect 中初始化滚动引擎
  • 示例:
    useEffect(() => {
      const engine = new ScrollEngine(config);
      return () => engine.destroy();
    }, []);
    

六、总结

scroll-world 是一个极具创意的 Agent 技能,它将复杂的滚动驱动动画制作流程自动化,让普通用户也能通过自然语言描述,生成专业级的沉浸式着陆页。核心亮点包括:

  1. 无缝体验:通过帧级连续的视频片段,实现一镜到底的飞行效果
  2. 自动化流程:从访谈到素材生成到页面组装,全程 Agent 驱动
  3. 框架无关:生成的滚动引擎可嵌入任意前端框架

对于需要打造品牌叙事、产品展示着陆页的团队,scroll-world 提供了一个高效的解决方案,尤其适合想要复刻 Apple 风格滚动动画但缺乏专业动画团队的公司。需要注意的是,项目依赖 Higgsfield 平台的付费 API,生成一个完整着陆页的成本大约在 $5-20 之间(取决于场景数量)。

项目开源地址:https://github.com/oso95/scroll-world