Repolode
charmbracelet

charmbracelet/vhs

スクリプト形式の .tape ファイルからターミナルセッションを記録し、デモや統合テスト向けの GIF、動画、ASCII 出力を生成する Go 製 CLI。

スター
21,271
フォーク
492
未解決の Issue
177
最終コミット
昨日

これは何?

VHSでは、ターミナルの録画をコードとして扱います。Type、Enter、Sleep、Waitなどのコマンドを記述した .tape ファイルを作成すると、VHSが仮想ターミナル上で再生し、GIF、MP4、WebM、PNGシーケンス、テキスト/ASCIIのゴールデンファイルとして出力します。フォントの種類とサイズ、ウィンドウのサイズまたは列数・行数、テーマ、パディング、マージン、ウィンドウバー、再生速度を設定できます。

入力が決定的なテキストなので、CLIに変更を加えるたびに同じテープを再実行すれば、デモを最新の状態に保てます。テキスト出力はgitにコミットして差分を確認でき、統合テストのゴールデンファイルとして利用できます。VHSには、実際のセッションからテープを生成するrecordサブコマンド、GIFを共有するpublishコマンド、リモートホストでテープを実行するオプションのSSHサーバーモードもあります。

VHSを利用するには、ttydとffmpegをPATH上にインストールしておく必要があります。Homebrew、Scoop、Nix、Docker、Go、Linux向けパッケージからインストールできます。

主な機能

  • 01シンプルな .tape コマンド言語でターミナルセッションをスクリプト化します。
  • 02GIF、MP4、WebM、PNGフレームシーケンス、テキスト/ASCIIファイルを出力します。
  • 03フォント、ウィンドウサイズ、テーマ、パディング、マージン、ウィンドウバーをカスタマイズできます。
  • 04実際のターミナルセッションからテープファイルを記録します。
  • 05統合テストで差分を確認できるASCIIゴールデンファイルを生成します。
  • 06SSHサーバーとして動作し、リモートホストでテープを実行します。

ユースケース

  • CIでREADMEのデモGIFを再生成し、最新の状態に保つ。
  • テキスト出力とゴールデンファイルの差分を確認して、CLIを統合テストする。
  • ドキュメントやチュートリアル向けに、ターミナル操作を再現可能なスクリーンキャストとして作成する。

クイックスタート

  1. 1

    VHS が PATH 上で必要とする ttyd と ffmpeg をインストールします

  2. 2

    macOS または Linux では Homebrew を使って VHS をインストールします

    brew install vhs
  3. 3

    新しい tape ファイルを作成します

    vhs new demo.tape
  4. 4

    tape ファイルから GIF を生成します

    vhs demo.tape

使う前に知っておきたいこと

  • ttyd と ffmpeg は別途インストールし、PATH から利用できるようにする必要があります。

収録されている特集

トピック

よくある質問

vhs とは?
スクリプト形式の .tape ファイルからターミナルセッションを記録し、デモや統合テスト向けの GIF、動画、ASCII 出力を生成する Go 製 CLI。 VHSでは、ターミナルの録画をコードとして扱います。Type、Enter、Sleep、Waitなどのコマンドを記述した .tape ファイルを作成すると、VHSが仮想ターミナル上で再生し、GIF、MP4、WebM、PNGシーケンス、テキスト/ASCIIのゴールデンファイルとして出力します。フォントの種類とサイズ、ウィンドウのサイズまたは列数・行数、テーマ、パディング、マージン、ウィンドウバー、再生速度を設定できます。
vhs は無料で使えますか?ライセンスは?
vhs は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
vhs は今もメンテナンスされていますか?
活発にメンテナンス中。vhs の最終コミットは 2026年11月6日 です。
vhs は何に使えますか?
CIでREADMEのデモGIFを再生成し、最新の状態に保つ。 テキスト出力とゴールデンファイルの差分を確認して、CLIを統合テストする。 ドキュメントやチュートリアル向けに、ターミナル操作を再現可能なスクリーンキャストとして作成する。
vhs のインストール方法は?
VHS が PATH 上で必要とする ttyd と ffmpeg をインストールします macOS または Linux では Homebrew を使って VHS をインストールします: brew install vhs 新しい tape ファイルを作成します: vhs new demo.tape tape ファイルから GIF を生成します: vhs demo.tape
vhs はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/charmbracelet/vhs

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト