AI News HubLIVE
站內改寫1 分鐘閱讀

Show HN: Shotlist – 讓您的AI代理用真實截圖證明其工作

Shotlist 是一款開源工具,通過一個配置化的 .shotlist.yaml 文件,自動化生成文檔所需的網頁、終端和命令行截圖。它支持可重複截圖、CI 集成,並提供多種截圖模式,確保文檔截圖始終與最新代碼同步。

來源Hacker News AI作者: softie123

Shotlist 是一款新型開源工具,旨在解決文檔截圖的維護難題。開發者只需編寫一個 .shotlist.yaml 配置文件,描述應用的啓動方式及需要截取的內容,即可在本地或 CI 環境中一鍵生成所有截圖。該工具的核心優勢在於可重複性:相同的配置加上相同的應用狀態,總能產生完全一致的截圖。

Shotlist 提供了四種截圖類型:網頁截圖(通過 Playwright 和 Chromium 瀏覽器)、原生終端截圖(僅 macOS,使用 AppleScript 和 screencapture 捕獲真實 Terminal.app 窗口)、渲染 CLI 截圖(跨平台,將命令輸出通過 PTY→ANSI→HTML 轉換後由 Chromium 繪製)以及會話截圖(在同一個持久終端中執行多步驟命令流,每一步結束後捕獲截圖)。這種設計使得複雜工作流的截圖變得簡單可靠。

除了基礎的截圖功能,Shotlist 還生成了 index.html 畫廊頁面和 manifest.json 元數據文件,方便分享和集成。在 CI 流水線中,shotlist check 命令可以檢測截圖是否與基線發生意外差異,並通過 --diff 選項生成基線、當前和差異對比圖。該工具還提供 GitHub Action 原生支持。

Shotlist 的設計理念是“無需 AI”:AI(如 Claude)只在首次生成 .shotlist.yaml 時使用,之後的所有截圖操作都是 100% 確定性的程序執行。這意味着截圖引擎快速、免費,且可在 CI 中無限次重新運行,無需任何模型參與。項目本身也通過“自行構建”的方式驗證自身——其文檔中的截圖全部由自身的 shotlist 生成。

目前 Shotlist 已發佈初始版本,採用 MIT 許可證。項目代碼託管於 GitHub,支持 Python 3.11 和 3.12,並提供完整的開發和測試流程。