**Show HN:** *Claude‑Replay* – Claude コードセッションを動画風に再生するツール

---

### 概要  
- **目的:** Claude のテキストベースのコードセッションを、動画のような体験へ変換します。  
- **主力機能:** コードスニペット・説明・編集などのやり取りを記録し、再生できるようにします。

### 仕組み  
1. **セッションキャプチャ** – ツールはプロンプト、レスポンス、コードブロックをリアルタイムでログします。  
2. **タイムライン作成** – キャプチャしたデータを時系列のタイムラインに変換し、タイムスタンプ付きで整理します。  
3. **再生インターフェース** – ユーザーは動画としてセッションを再生でき、停止・巻き戻し・特定箇所へジャンプが可能です。

### 主なメリット  
- **教育効果:** 学習者が複雑な説明を追いやすく、復習もしやすい。  
- **ドキュメント化:** 問題解決の過程を生きた記録として残せるため、コードレビューや新人教育に有用です。  
- **共有しやすさ:** エクスポートした動画は YouTube などで共有でき、ブログへの埋め込みも可能です。

### 技術詳細  
- バックエンドの記録ロジックは JavaScript(Node.js)で実装。  
- 再生には HTML5 `<video>` 要素を使用し、タイムラインはカスタムオーバーレイとして描画します。  
- FFmpeg を組み込むことで MP4 へのエクスポートに対応。

### はじめ方  
1. リポジトリをクローン: `git clone https://github.com/youruser/claude-replay.git`  
2. 依存関係をインストール: `npm install`  
3. レコーダー実行: `node record.js --session your-session-id`  
4. 動画エクスポート: `node export.js --input session.json --output demo.mp4`

### コミュニティとフィードバック  
- **Issue:** バグや機能要望は GitHub Issues で報告。  
- **貢献:** プルリクエスト歓迎—特に UI 改善や他 AI プラットフォームへの対応追加が期待されています。

--- 

**楽しく再生してください!**

2026/03/07 0:57

**Show HN:** *Claude‑Replay* – Claude コードセッションを動画風に再生するツール --- ### 概要 - **目的:** Claude のテキストベースのコードセッションを、動画のような体験へ変換します。 - **主力機能:** コードスニペット・説明・編集などのやり取りを記録し、再生できるようにします。 ### 仕組み 1. **セッションキャプチャ** – ツールはプロンプト、レスポンス、コードブロックをリアルタイムでログします。 2. **タイムライン作成** – キャプチャしたデータを時系列のタイムラインに変換し、タイムスタンプ付きで整理します。 3. **再生インターフェース** – ユーザーは動画としてセッションを再生でき、停止・巻き戻し・特定箇所へジャンプが可能です。 ### 主なメリット - **教育効果:** 学習者が複雑な説明を追いやすく、復習もしやすい。 - **ドキュメント化:** 問題解決の過程を生きた記録として残せるため、コードレビューや新人教育に有用です。 - **共有しやすさ:** エクスポートした動画は YouTube などで共有でき、ブログへの埋め込みも可能です。 ### 技術詳細 - バックエンドの記録ロジックは JavaScript(Node.js)で実装。 - 再生には HTML5 `<video>` 要素を使用し、タイムラインはカスタムオーバーレイとして描画します。 - FFmpeg を組み込むことで MP4 へのエクスポートに対応。 ### はじめ方 1. リポジトリをクローン: `git clone https://github.com/youruser/claude-replay.git` 2. 依存関係をインストール: `npm install` 3. レコーダー実行: `node record.js --session your-session-id` 4. 動画エクスポート: `node export.js --input session.json --output demo.mp4` ### コミュニティとフィードバック - **Issue:** バグや機能要望は GitHub Issues で報告。 - **貢献:** プルリクエスト歓迎—特に UI 改善や他 AI プラットフォームへの対応追加が期待されています。 --- **楽しく再生してください!**

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:


Summary

Claude‑Replay は、

~/.claude/projects/
に保存されている Claude Code セッションログ(JSONL ファイル)を完全に自律的でインタラクティブな HTML ページへ変換する軽量コマンドラインユーティリティです。ターミナルスタイルの会話を再生し、ユーザー入力、アシスタント応答、ツール呼び出し、思考ブロック、およびツール結果(「user」と「assistant」のターンのみがレンダリングされます)を表示します。出力はミニファイされた CSS/JS と deflate 圧縮データで構成され、外部依存関係は含まれていません。ブログやドキュメントに
<iframe>
で埋め込むことができます。

主な機能:

  • 再生コントロール:再生/一時停止、前後ステップ、速度調整(0.5×〜5×)、およびキーボードショートカット。
  • カスタマイズフラグ
    --theme
    (デフォルトは tokyo‑night)で monokai、solarized‑dark、github‑light、dracula、bubbles などの組み込みテーマを選択可能。カスタム JSON テーマファイルは
    extraCss
    をサポートします。
    オプションフラグとして
    --no-thinking
    --no-minify
    --no-compress
    が利用できます。
  • フィルタリングオプション
    --turns N-M
    --from/--to
    ISO タイムスタンプ、
    --bookmarks FILE
    、および
    --list-themes
  • 秘密情報の赤外化(デフォルトで有効)は、API キー(
    sk-*
    AKIA*
    など)、JWT トークン、データベース URL、プライベートキー ブロック等を
    [REDACTED]
    に置き換えます。無効にするには
    --no-redact
    を指定します。

インストールは npm(

npm install -g claude-replay
)または npx (
npx claude-replay <input.jsonl> -o replay.html
) で簡単です。ツールは Node.js 18+ 上の esbuild でビルドされ、esbuild が利用できない場合は未ミニファイのテンプレートにフォールバックします。

使用例としてはブログ、ドキュメント、デモ、バグレポート、および教育があります。Claude‑Replay は、大きな画面録画やトランスクリプト PDF の軽量代替手段を提供します。

本文

コミュニティツール – Anthropic と提携・認可を受けていません

Claude Code のセッションは開発には便利ですが、共有が難しいです。画面録画は容量が大きく、文字起こしもナビゲーションが困難です。
claude‑replay は Claude Code のセッションログを対話型で共有可能な HTML 再生ファイルに変換します。生成される再生ファイルは外部依存なしの単一の自己完結型 HTML ファイルですので、メール送信、どこでもホスト、ドキュメントへの埋め込みが可能です。


ライブデモを試す

Claude Code は完全な対話ログを JSONL 形式で

~/.claude/projects/
に保存します。
これにはユーザーのメッセージ、アシスタントの応答、ツール呼び出し・結果、思考ブロック(Claude の内部推論トレース)がすべて含まれ、タイムスタンプ付きです。
claude-replay
はそれらを Claude Code ターミナルセッションに似たビジュアル再生へ変換します。ブログ記事、デモ、ドキュメントに最適です。


主な機能

  • 自己完結型 HTML 出力(外部依存なし)
  • インタラクティブ再生(速度調整付き)
  • ツール呼び出し・思考ブロックの折りたたみ/展開(Claude の内部推論トレース)
  • ブックマーク / 章設定
  • エクスポート前に秘密情報を自動で赤字化
  • 複数カラーテーマ対応
  • ターミナル風下から上へのスクロール
  • <iframe>
    経由で埋め込み可能

活用例

  • ブログ記事 – AI 支援開発セッションをインタラクティブに表示
  • ドキュメント – AI デバッグセッションやコードウォークスルーの埋め込み
  • デモ – 動画なしで再現可能なセッション共有
  • バグレポート – 長いログではなく再生ファイルを添付
  • 教育 – AI の推論とツール使用を段階的に示す

インストール

npm install -g claude-replay
# または npx で直接実行(ゼロインストール)
npx claude-replay session.jsonl -o replay.html

クイックスタート

# セッション転写ファイルを探す
ls ~/.claude/projects/*/

# 再生ファイル生成
claude-replay ~/.claude/projects/-Users-me-myproject/session-id.jsonl -o replay.html

# 開く
open replay.html

使い方

claude-replay <input.jsonl> [options]

オプション一覧

フラグ説明
-o, --output FILE
出力 HTML ファイル(デフォルトは stdout)
--turns N-M
指定したターンだけを含める
--from TIMESTAMP
開始時刻フィルタ (ISO 8601)
--to TIMESTAMP
終了時刻フィルタ (ISO 8601)
--speed N
初期再生速度(例: 2.0、デフォルトは 1.0)
--no-thinking
デフォルトで思考ブロックを非表示
--no-tool-calls
デフォルトでツール呼び出しブロックを非表示
--mark "N:Label"
ターン N にブックマーク / 章を追加(複数可)
--bookmarks FILE
ブックマーク JSON ファイル [{turn, label}]
--no-redact
自動秘密情報赤字化を無効化
--title TEXT
ページタイトル(デフォルトは入力パスから推定)
--user-label NAME
ユーザメッセージラベル(デフォルト: User)
--assistant-label NAME
アシスタントメッセージラベル(デフォルト: Claude)
--theme NAME
既存テーマ(デフォルト: tokyo-night)
--theme-file FILE
カスタムテーマ JSON ファイル(--theme を上書き)
--no-minify
未圧縮テンプレートを使用(デフォルトは minified が利用可能なら圧縮)
--no-compress
旧ブラウザ向けに生の JSON を埋め込む
--list-themes
利用可能なテーマ一覧表示して終了

実例

# ターン 5〜15 を 2x スピードで再生
claude-replay session.jsonl --turns 5-15 --speed 2.0 -o replay.html

# 時間範囲でフィルタリング
claude-replay session.jsonl --from "2026-02-26T02:00" --to "2026-02-26T03:00" -o replay.html

# 思考・ツールを除外したクリーン出力
claude-replay session.jsonl --no-thinking --no-tool-calls -o replay.html

# 別テーマ使用例
claude-replay session.jsonl --theme dracula -o replay.html

# パイプで stdout へ渡す
claude-replay session.jsonl --turns 1-5 > snippet.html

プレイヤー操作

生成された HTML は完全に自己完結型のインタラクティブプレイヤーです。

  • 再生/一時停止 – ターンごとに自動進行、ブロック単位でアニメーション
  • 前後へステップ – ターン内で 1 ブロックずつ移動
  • プログレスバー – 任意位置へジャンプ;セッションタイマーで経過/総時間表示
  • 速度調整 – 0.5x〜5x
  • チェックボックス – 思考ブロック・ツール呼び出しの表示切替

キーボードショートカット

キー動作
Space / K
再生/一時停止
→ / L
1 ブロック前進
← / H
1 ブロック後退

テーマ

既存テーマ

claude-replay --list-themes

利用可能:

tokyo-night
(デフォルト)、
monokai
solarized-dark
github-light
dracula
bubbles
.

カスタムテーマ

CSS 色値を持つ JSON ファイルを作成:

{
  "bg": "#0d1117",
  "bg-surface": "#161b22",
  "bg-hover": "#1c2128",
  "text": "#e6edf3",
  "text-dim": "#7d8590",
  "text-bright": "#ffffff",
  "accent": "#ff7b72",
  "accent-dim": "#c9514a",
  "green": "#3fb950",
  "blue": "#58a6ff",
  "orange": "#d29922",
  "red": "#f85149",
  "cyan": "#39d2c0",
  "border": "#30363d",
  "tool-bg": "#0d1117",
  "thinking-bg": "#0b0f14"
}
claude-replay session.jsonl --theme-file my-theme.json -o replay.html

キーが不足している場合は

tokyo-night
のデフォルト値で埋められます。
高度なカスタマイズでは任意 CSS を
extraCss
キーに追加できます:

{
  "bg": "#ffffff",
  "text": "#1c1e21",
  "extraCss": ".assistant-text { border-radius: 12px; border: 1px solid #ddd; }"
}

完全カスタムレイアウトの例は

bubbles
テーマにあります。


テーマ変数リファレンス

変数用途
bg
メイン背景
bg-surface
コントロールバー、エレベーション表面
bg-hover
ホバー状態
text
主テキスト
text-dim
補助テキスト・タイムスタンプ・ラベル
text-bright
ユーザー入力・強調テキスト
accent
プロンプト記号、進捗バー、アクティブ状態
accent-dim
アクティブボタン背景
green
ツール結果
blue
ツール呼び出しインジケータ
orange
(警告用予約)
red
(エラー用予約)
cyan
ツール名
border
境界線・区切り
tool-bg
ツール呼び出しブロック背景
thinking-bg
思考ブロック背景

埋め込み

生成ファイルは外部依存なしの単一 HTML ファイルです。ブログ記事やドキュメントに

<iframe>
で埋め込むことができます。

<iframe src="replay.html" width="100%" height="600"
        style="border: 1px solid #333; border-radius: 8px;"></iframe>

動作原理

  • パーサ は JSONL 転写を行毎に読み取り、Claude Code のストリーミング形式(アシスタントメッセージが複数行に分割されるケース)を処理します。
  • ターン は「ユーザー + アシスタント応答(テキスト・ツール呼び出し・思考ブロック)+ ツール結果」としてグループ化されます。
  • レンダラー はパース済みターンを
    deflate
    +
    base64
    で圧縮し、HTML テンプレートに埋め込みます。
  • プレイヤーは Vanilla JS(フレームワークなし)で構築され、データは読み込み時にブラウザネイティブの
    DecompressionStream
    API で解凍されます。

出力最適化

生成ファイルは二層の最適化を行います(外部依存なし)。

  1. CSS/JS のミニファイ – テンプレートは esbuild で圧縮(変数名短縮、空白除去)。
    --no-minify
    を指定すると可読性重視の出力になります。
  2. データ圧縮 – 転写 JSON は deflate 圧縮し base64 エンコードされ、通常 60–70% のサイズ削減が期待できます。旧ブラウザ向けには
    --no-compress
    を使い生の JSON を埋め込みます。

開発

npm install    # esbuild (devDependency) をインストール
npm run build  # template/player.min.html を生成

CI でビルド済みテンプレートが含まれ、未圧縮版は自動的にフォールバックされます。


秘密情報の赤字化

デフォルトでは

claude-replay
は埋め込みテキストをスキャンし、一般的な秘密パターンを検出して
[REDACTED]
に置き換えます。これにより API キー・トークン・接続文字列などが生成ファイルに残らないようにします。

検出対象パターンは以下の通りです:

  • API キー (
    sk-…
    ,
    sk-ant-…
    ,
    key-…
    )
  • AWS アクセスキー ID (
    AKIA…
    )
  • Bearer / JWT トークン
  • データベース接続文字列 (
    postgres://…
    ,
    mongodb://…
    など)
  • プライベートキー(
    -----BEGIN … PRIVATE KEY-----
  • キー/値形式の秘密 (
    api_key=…
    ,
    auth_token: …
    )
  • 環境変数 (
    PASSWORD=…
    ,
    TOKEN=…
    )
  • 長い十六進トークン(40文字以上)

重要:パターンベースの赤字化は最善策ですが、すべての秘密形式を捕捉できるわけではありません。公開前に生成ファイルを必ず確認してください。

赤字化を無効化したい場合(内部・プライベート再生):

claude-replay session.jsonl --no-redact -o replay.html

JSONL 転写フォーマット

Claude Code の転写は

type
フィールド付きの JSON オブジェクトを 1 行ずつ記録します。

タイプ内容
user
ユーザー発言(プレーンテキストまたはツール結果配列)
assistant
アシスタント応答(テキスト、
tool_use
、思考ブロック)
system
システムメタデータ(スキップ)
progress
進捗更新(スキップ)
file-history-snapshot
ファイル状態スナップショット(スキップ)

要件

  • Node.js 18+
  • ランタイム依存なし(esbuild はビルド時のみの devDependency)

ライセンス

MIT License で公開しています。

同じ日のほかのニュース

一覧に戻る →

2026/03/07 6:52

「このCSSは、私が人間であることを証明します。」

## Japanese Translation: (以下に翻訳文を記載します) **著者は、選択的な大文字化、CSS を用いた対象的なケース変換(`text-transform: lowercase`)、慎重に使われる em ダッシュなどの微妙なタイポグラフィック・選択が、ファイルを `tr` でパイプするような鈍い自動化手法よりも優れていると主張しています。大文字化は「最初の傷」として描かれますが、実際には予想ほど痛みを伴わず、必要に応じて単語が大文字で流れ出します。著者は粗末な `cat post.md | tr A‑Z a‑z | sponge post.md` の手法を却下し、よりクリーンな効果を持つ CSS を推奨しています。 em ダッシュは貴重とされますが、作家の真実の自分を露呈させないように隠したままである必要があります。モノスペースフォントはテキストの美学を損なうため拒否されています。小さなスクリプト(`uv run rewrite_font.py`)は文字形態を微調整するための取るべき手段として強調され、意図的に単語を誤字すること(例: “their/there”、 “its/it’s”)がスタイルの一部であると述べられていますが、“Definately?” のような問題のあるペアは避けるとしています。 作家はノーリグ・コーパスを参照し、単語選択を導くとともに、ターゲットとなる単語から「u」を迅速に除去することで手法の精密さを示しています。全体的なトーンは、書くことが外見だけでなく思考・推論・関与を反映するものであると強調しています。 以前の拒否(“No. Not today.”)はスタイリスティックオーバーホールへの抵抗を示しています。次に計画されている変更は、作家自身の自我感覚を変える唯一の真に重要なステップとして描かれています。 技術的読者――特に文書スタイリング、フォント操作、編集ワークフローに関わる人々――に対して、このメッセージは自動変換から離れ、意図的なタイポグラフィック決定へ移行することを奨励し、デザイン標準や編集実務の再構築につながり得ると述べています。

2026/03/07 7:55

**C# の文字列が Dapper で SQL Server インデックスを静かに破壊する理由** Dapper を使って SQL Server データベースへクエリを投げる際、文字列結合や文字列補間(string interpolation)でクエリを作成することはよくあります。 しかし、この一見無害な手法がインデックスの性能を黙って破壊してしまうケースがあります。 --- ## なぜ起きるのか 1. **暗黙の型変換** `string` と `int`・`bool` など非文字列型を結合すると、SQL Server は列値を `nvarchar` に変換せざるを得ません。 2. **インデックス回避** この暗黙変換により最適化器は既存の数値や日付インデックスを利用できず、フルテーブルスキャンが発生します。 --- ## 問題を引き起こす典型的なパターン | パターン | 何をしているか | インデックスへの影響 | |---------|-----------------|----------------------| | `WHERE Id = " + id`(文字列結合) | `Id` 列を `nvarchar` に変換 | フルスキャン | | `$"SELECT * FROM Users WHERE IsActive = {isActive}"`(補間) | ブール値も同様に `nvarchar` へ変換 | フルスキャン | | `WHERE CreatedDate >= @date.ToString()` | 日付を文字列へ変換 | インデックスが失われる | --- ## 修正方法 1. **インライン値ではなくパラメータを使用する** ```csharp var sql = "SELECT * FROM Users WHERE Id = @Id"; connection.Query<User>(sql, new { Id = id }); ``` 2. **型の一貫性を保つ** 列が期待する正確な型(`int`、`DateTime` など)で渡す。 3. **C# で暗黙変換を避ける** 必要なら明示的にキャストまたは変換し、安全かつ意図した変換のみ行う。 --- ## 簡易チェックリスト - [ ] Dapper に渡す値は文字列化せず、型付きである。 - [ ] 変数データと SQL フラグメントのインライン結合を行わない。 - [ ] すべてのクエリに `@ParameterName` プレースホルダーを使用する。 これらのガイドラインに従えば、インデックスの整合性を保ちつつクエリを高速かつ効率的に維持できます。

## Japanese Translation: **概要:** .NET/Dapper アプリケーションでは、C# の文字列を `nvarchar(4000)` として渡すと、SQL Server が `varchar` 列に対して暗黙の型変換(implicit conversions)を実行します。これにより、インデックス検索がスキャンに置き換わり、論理読み取り数が単桁から数万に膨らみ、CPU/I/O の使用率が急増します(例:`CONVERT_IMPLICIT(nvarchar(255), [Sales].[ProductCode], 0)`)。 正確性には影響しませんが、実行計画や Query Store の警告で明らかになります。特に `SQL_Latin1_General_CP1_CI_AS` などの照合順序では顕著です。 **修正:** パラメータを ANSI として明示的に宣言し、列サイズと一致させます。 ```csharp var p = new DynamicParameters(); p.Add("productCode", productCode, DbType.AnsiString, size: 100); await conn.QueryFirstOrDefaultAsync<Product>(sql, p); ``` または匿名オブジェクトを使用する場合: ```csharp new { productCode = new DbString { Value = productCode, IsAnsi = true, Length = 100 } } ``` スキーマ変更、インデックス更新、クエリ書き換えは不要です。パフォーマンスの改善は即座に実感できます。 **監査ヒント:** Query Store で `@nvarchar(4000)` を検索し、varchar 列へ文字列を渡す匿名オブジェクトをコード内でスキャンしてください。 **ベストプラクティス:** 将来のリグレッション防止のために、`DbType.AnsiString`(または `IsAnsi = true`)を使用した理由をコメントしておくことが推奨されます。 この簡単な調整でサーバー負荷を低減し、コスト削減とスケールアップが実現します。結果として開発者・ユーザー・広範な .NET/SQL Server コミュニティ全体に恩恵をもたらします。

2026/03/07 6:19

**IPリースの陰影ある世界**

## Japanese Translation: IPリースは、誰もがクリーンで匿名のIPv4アドレスを取得し、ジオロケーションデータを操作できる隠密レンタル市場を生み出しており、IPベースの評判システムの信頼性を損なっています。ブロックを保有し、標準的な地域インターネットレジストリ(RIR)手順外でサブリースすることで、これらのサービスはWHOISトレーサビリティとRIRアカウンタビリティチェーンを迂回します。リース会社は料金を払ってブラックリスト化された範囲を「クリーン」し、ドロップダウンまたはCSVアップロードで任意の住宅または商業ジオロケーションを割り当て、WHOIS国フィールドまで操作することができ、MaxMind、Cloudflare、Googleなどに偽情報を供給します。 主要なVPNおよびプロキシプロバイダー(例:NordVPN、ExpressVPN、CyberGhost、PIA)は、LogicWeb、IPXO、INIZ、IPFoxi、Heficed、AnyIP/IPv4Deals などのリース会社からIPを調達しています。これらのプラットフォームは多くの場合、同じサイトで生IPスペースと完全なプロキシサブスクリプションの両方を販売し、エンドツーエンドの匿名化パイプラインを構築します。一部のプロバイダーは住宅ISPと直接提携してトラフィックを実際の加入者ネットワーク経由でルーティングし、合法的なオペレーターとプロキシとの境界を曖昧にしています。 業界は法的グレイズゾーンで運営されており—IPリースやジオロケーション操作を明示的に禁じる法律がないため—実効性の低い執行とインセンティブの不整合が生じています。リースが拡大するにつれて、インターネットセキュリティの基盤であるIP評判リスト、WHOIS帰属、およびジオロケーションデータベースはさらに侵食され、大規模な位置・所有権・評判の偽装が可能になります。これはユーザー(ボット検出やレート制限での誤検知)とIPベースのセキュリティ決定に依存する企業を脅かし、最終的にはインターネット全体の説明責任と安全性を弱めます。

**Show HN:** *Claude‑Replay* – Claude コードセッションを動画風に再生するツール --- ### 概要 - **目的:** Claude のテキストベースのコードセッションを、動画のような体験へ変換します。 - **主力機能:** コードスニペット・説明・編集などのやり取りを記録し、再生できるようにします。 ### 仕組み 1. **セッションキャプチャ** – ツールはプロンプト、レスポンス、コードブロックをリアルタイムでログします。 2. **タイムライン作成** – キャプチャしたデータを時系列のタイムラインに変換し、タイムスタンプ付きで整理します。 3. **再生インターフェース** – ユーザーは動画としてセッションを再生でき、停止・巻き戻し・特定箇所へジャンプが可能です。 ### 主なメリット - **教育効果:** 学習者が複雑な説明を追いやすく、復習もしやすい。 - **ドキュメント化:** 問題解決の過程を生きた記録として残せるため、コードレビューや新人教育に有用です。 - **共有しやすさ:** エクスポートした動画は YouTube などで共有でき、ブログへの埋め込みも可能です。 ### 技術詳細 - バックエンドの記録ロジックは JavaScript(Node.js)で実装。 - 再生には HTML5 `<video>` 要素を使用し、タイムラインはカスタムオーバーレイとして描画します。 - FFmpeg を組み込むことで MP4 へのエクスポートに対応。 ### はじめ方 1. リポジトリをクローン: `git clone https://github.com/youruser/claude-replay.git` 2. 依存関係をインストール: `npm install` 3. レコーダー実行: `node record.js --session your-session-id` 4. 動画エクスポート: `node export.js --input session.json --output demo.mp4` ### コミュニティとフィードバック - **Issue:** バグや機能要望は GitHub Issues で報告。 - **貢献:** プルリクエスト歓迎—特に UI 改善や他 AI プラットフォームへの対応追加が期待されています。 --- **楽しく再生してください!** | そっか~ニュース