关于 Dock Timelapse
Dock Timelapse 是 macOS 命令行工具和 MCP 服务,可记录 Dock 的每日变化,并将其渲染为叠加在桌面壁纸上的视频。它还可用一段虚构历史生成即时预览,结尾呈现当前 Dock。
主要功能
- 01每小时捕获 Dock 变化
- 02Dock 变更时保存快照
- 03渲染横屏或竖屏延时视频
- 04用虚构的过往记录预览
- 05比较应用的新增、删除、替换和移动
- 06可选择保存 Dock 截图
适用场景
- 01制作 Dock 随时间变化的视频
- 02查看新增或替换了哪些应用
- 03收集历史前预览渲染效果
MCP 相关
提供状态、当前 Dock 内容、历史、录制控制、捕获和渲染等 MCP 工具。MCP 客户端可启动或停止录制、查看变化,并生成预览或延时视频。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Dock 延时摄影
Dock 记录着你常用工具的故事。Dock 延时摄影每天静静地记录这一切,并将其演变过程制作成 Apple 风格的延时视频:应用陆续出现,其他应用接替它们的位置,日期计数器不断跳动,所有画面都以你自己的壁纸为背景。
使用虚构的九个月历史记录生成的演示视频。实际输出为 1920×1080 和 1080×1920 分辨率的 H.264 视频,帧率为 60 fps。
| 图标旁标注了应用替换和新增信息 | 以数据讲述故事的片尾卡 |
|---|---|
![]() | ![]() |
白色背景(--background white) | 竖屏 — 带有旁侧标签的纵向 Dock |
![]() | ![]() |
工作原理
- 记录 — 后台 Agent 每小时读取 Dock 自身的偏好设置(固定的应用,最多包括 System Settings)。Dock 每天发生变化时,它都会保存快照:应用列表、每个应用的高清图标,以及当前壁纸。还可以选择保存裁剪后的 Dock 截图。
- 渲染 — 视频根据这些数据重新绘制:叠加在模糊壁纸上的玻璃质感 Dock、弹跳动画、变化标签(
+ Linear、Cursor replaces Xcode)、日期和天数计数器,以及按实际日历时间缩放的进度条。 - 首日即可预览 —
preview会虚构一段合理的过往记录,最终以你当前的真实 Dock 收尾,让你立即看到视频效果。
要求:macOS 和 uv。ffmpeg 已随附。
安装
命令行
uv tool install dock-timelapse
dock-timelapse install # start recording (hourly agent, one snapshot per day of change)
dock-timelapse preview # see your video now, with an invented past
dock-timelapse render # later: the real timelapse → ~/Movies/Dock Timelapse/
Claude Code
/plugin marketplace add bcldvd/dock-timelapse
/plugin install dock-timelapse@dock-timelapse
该插件包含技能和 MCP 服务。之后只需提出请求:“开始记录我的 Dock”、“为我的 Dock 制作延时视频”、“从六月以来我添加了哪些应用?”
Codex、Cursor、Gemini CLI、Copilot 和其他 Agent
该技能遵循开放的 Agent Skills 格式:
npx skills add bcldvd/dock-timelapse -y
MCP 服务(Claude Desktop、Codex、Cursor、VS Code 等)
{
"mcpServers": {
"dock-timelapse": {
"command": "uvx",
"args": ["dock-timelapse", "mcp"]
}
}
}
Codex(~/.codex/config.toml):
[mcp_servers.dock-timelapse]
command = "uvx"
args = ["dock-timelapse", "mcp"]
工具:dock_status、current_dock、dock_history、install_recording、uninstall_recording、capture_now、render_timelapse、render_preview、render_frame。
用法
dock-timelapse status # recording state + every snapshot and its changes
dock-timelapse render --format portrait # landscape | portrait | both (default)
dock-timelapse render --background white # wallpaper (default) | desktop (sharp) | white
dock-timelapse preview --demo # a generic demo Dock
dock-timelapse still --t 2 5.5 # single PNG frames
dock-timelapse install --screenshots # also keep Dock screenshots
dock-timelapse uninstall # stop recording, history stays
截图需要“屏幕录制”权限:install --screenshots 会输出要添加到“系统设置 → 隐私与安全性 → 屏幕与系统音频录制”的 Python 路径。视频只需要 Dock 数据,因此此步骤可选。
数据保存在 ~/Library/Application Support/dock-timelapse/(snapshots.json、图标、壁纸和 capture.log)。
开发
uv sync
uv run pytest
| 模块 | 作用 |
|---|---|
dockdata.py | 解析 Dock 偏好设置 → 按顺序排列的应用,最多包括 System Settings |
diff.py | 比较两个 Dock 中新增 / 移除 / 替换 / 移动的应用 |
store.py | 磁盘上的快照,每天变更时保存一份 |
capture.py · visibility.py · macos.py | 一次捕获尝试;Dock 可见性;macOS 调用 |
agent.py | launchd Agent |
timeline.py · layout.py | 纯动画模型和几何布局 |
render.py · video.py | Pillow 帧 → ffmpeg H.264 |
poc.py | 用于预览的虚构历史记录 |
mcp_server.py | MCP 工具 |
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。



