关于 screencli
screencli 是用于录制 AI 驱动浏览器操作的命令行工具,适合制作 Web 应用演示和操作视频。它会按提示导航页面、添加自动缩放和点击高亮等效果,并可上传视频生成分享链接。
主要功能
- 01根据提示自动操作目标网页
- 02录制并处理浏览器演示视频
- 03提供渐变背景、自动缩放和点击高亮
- 04支持登录状态保存与复用
- 05导出适配多平台的视频或 GIF
- 06可上传云端或仅保存本地
适用场景
- 01制作 Web 应用功能演示
- 02录制需要登录的内部应用操作
- 03为 README、PR 或文档生成视频
- 04导出社交平台规格的短视频或 GIF
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ usefulagents/ screencli --skill screencli安装后在 Claude Code 中输入/screencli确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSE.txtreferences/cli-reference.mdeffects.md详细介绍
功能
screencli 可录制 AI 驱动的浏览器会话,并生成精美的 MP4 视频,带有渐变背景、自动缩放、点击高亮和光标轨迹。AI Agent 会按照提示词指示访问目标 URL,随后系统会为录制内容添加特效,并自动上传到 screencli.sh,生成可分享的链接。无需编辑视频。
何时使用此技能
当用户要求以下内容时,请使用此技能:
- 录制演示或操作指南,展示 Web 应用、功能或工作流
- 制作屏幕录制或视频,展示某项功能在浏览器中的运行方式
- 生成屏幕录制的可分享链接
- 制作 GIF 或视频,用于 README、PR、文档或社交媒体
- 录制更改前后对比,展示 UI 更改或 Bug 修复
- 通过视觉方式演示部署环境或预发布环境
以下情况不要使用此技能:
- 截图(请改用截图工具)
- 非浏览器任务(终端录制、桌面应用)
- 编辑现有视频
快速开始
设置 screencli(一次性操作):
npx screencli init
系统会提示你登录 screencli.sh(默认提供免费额度),或粘贴自己的 Anthropic API 密钥。它还会询问是否为你的编码 Agent 安装 screencli 技能。
录制演示并获取可分享的链接:
npx screencli record https://example.com -p "Click the Sign Up button, fill in the form with test data, and submit"
AI Agent 会访问页面,系统会为录制内容添加特效并上传,然后为你提供可分享的 URL。
录制
命令
npx screencli record [url] -p "<prompt>" [options]
URL 和提示词为必填项。若省略,CLI 会以交互方式提示你输入。
主要选项
| 标志 | 默认值 | 说明 |
|---|---|---|
-p, --prompt <text> | (必填) | 给 AI Agent 的指示 |
--background <name> | 自动 | 覆盖渐变背景:midnight、ember、forest、nebula、slate、copper |
--viewport <WxH> | 1920x1080 | 浏览器视口尺寸 |
--login | 关闭 | 在 AI 接管前打开浏览器,以便手动登录 |
--auth <name> | — | 按名称保存或加载身份验证状态 |
--local | 关闭 | 跳过云端上传 |
--unlisted | 关闭 | 以不公开的方式上传(不会显示在公开个人主页上) |
--max-steps <n> | 50 | Agent 的最大迭代次数 |
--padding <percent> | 8 | 背景边距(0-50%) |
--corner-radius <px> | 12 | 视频圆角半径 |
--no-shadow | 关闭 | 禁用投影 |
-m, --model <model> | claude-sonnet-4-20250514 | 使用的 Claude 模型 |
--slow-mo <ms> | 0 | 操作之间的额外延迟 |
-o, --output <dir> | ./recordings | 输出目录 |
-v, --verbose | 关闭 | 调试日志 |
示例
简单示例 — 录制公开页面:
npx screencli record https://myapp.com -p "Navigate to the pricing page and compare the Free and Pro plans"
使用身份验证 — 先登录私有应用:
# First run: human logs in, auth state saved
npx screencli record https://app.internal.com -p "Show the dashboard metrics" --login --auth myapp
# Next runs: reuses saved session
npx screencli record https://app.internal.com -p "Export the monthly report" --auth myapp
导出
使用平台专用预设导出录制内容:
npx screencli export <recording-dir> --preset <name>
预设
| 预设 | 分辨率 | 宽高比 | 格式 | 最长时长 |
|---|---|---|---|---|
youtube | 1920x1080 | 16:9 | mp4 | — |
twitter | 1280x720 | 16:9 | mp4 | 140s |
instagram | 1080x1920 | 9:16 | mp4 | 90s |
tiktok | 1080x1920 | 9:16 | mp4 | — |
linkedin | 1080x1080 | 1:1 | mp4 | — |
github-gif | 800x450 | 16:9 | gif | 12s |
示例
npx screencli export ./recordings/abc123 --preset twitter
导出时也可使用 --background、--padding、--corner-radius、--no-shadow、--no-zoom、--no-highlight 和 --no-cursor。
私有应用的身份验证
若要录制需要登录才能访问的页面,请在首次运行时同时使用 --login 和 --auth:
npx screencli record https://app.example.com -p "..." --login --auth myapp
浏览器会打开,供你手动登录。登录完成后,AI Agent 会接管,身份验证状态将保存到 ~/.screencli/auth/myapp.json。
后续运行时,只需传入 --auth:
npx screencli record https://app.example.com -p "..." --auth myapp
如果会话过期,请重新运行并传入 --login --auth <name> 以刷新会话。
云端
录制内容默认会自动上传到 screencli.sh。使用 --local 可跳过上传。
命令
| 命令 | 描述 |
|---|---|
npx screencli login | 登录 screencli 云端 |
npx screencli logout | 登出 |
npx screencli whoami | 显示当前用户、套餐和额度 |
npx screencli recordings | 列出录制内容及其链接 |
npx screencli upload <dir> | 将本地录制内容上传到云端 |
npx screencli delete <id> | 删除云端录制内容 |
npx screencli render <id> | 使用不同的背景/预设在云端重新渲染 |
额度
1 个额度 = 10 个 Agent 步骤。免费套餐每月包含 15 个额度。
录制内容上传后,CLI 会显示已用和剩余额度。
效果
所有录制内容都会自动进行后期处理:
- 渐变背景 — 自动选择(使用
--background <name>可覆盖) - 自动裁剪 — 移除操作之间的空闲时间
- 自动缩放 — 交互期间缩放到活动区域
- 点击高亮 — 每次点击时显示视觉脉冲效果
- 光标轨迹 — 叠加平滑的光标移动效果
使用 --no-zoom、--no-highlight、--no-cursor 可分别关闭相应效果。
渐变颜色和完整效果处理流程请参阅 references/effects.md。
故障排除
| 问题 | 解决方法 |
|---|---|
| 未登录 | 运行 npx screencli init 登录或配置 API 密钥 |
| 缺少 FFmpeg | brew install ffmpeg(macOS),或参阅 ffmpeg.org |
| 身份验证已过期 | 使用 --login --auth <name> 重新运行 |
| Agent 卡住或陷入循环 | 优化提示词,降低 --max-steps |
| 录制时间过长 | 使用 --max-steps 限制步数,或让提示词更加具体 |
| 上传失败 | 使用 npx screencli whoami 检查额度,然后重试 npx screencli upload <dir> |