Chat to Podcast

👤 alex-shen1121 📦 v1.0.4 ⭐ 4.5 ⬇️ 622 下載
✍️ 內容創作 免費

📖 技能介紹


name: chat-to-podcast displayName: 對話轉播客文稿 version: 1.0.0 description: > 將與 AI 的對話內容整理成 Podcast 風格文稿,經使用者確認後一鍵釋出到 Halo 部落格。 支援:指定話題/時間範圍/關鍵詞提取對話 → 自動整理成播客文稿(開場白、對話體、要點總結、結尾)→ 預覽確認 → 釋出 Halo。 當用戶提到「整理成播客」「對話轉文稿」「釋出播客」「聊天內容發部落格」「把我們的對話整理成文章」 「對話整理成播客」「chat to podcast」「生成播客文稿」時觸發。 metadata: openclaw: category: content-management requires: bins: ["halo"]


Chat to Podcast — 對話轉播客文稿

將你與 AI 助手的特定對話內容,自動整理成 Podcast 風格的文稿,確認後一鍵釋出到 Halo 部落格。

前置依賴

  • 已安裝 @halo-dev/clibash npm install -g @halo-dev/cli
  • 已配置 Halo profile(如 blog-danke)並完成登入
  • 已有 halo-blog skill 作為釋出規範參考

工作流程

Step 1: 確定對話範圍

詢問使用者要整理哪些對話內容。支援以下方式定位:

定位方式 示例 說明
話題關鍵詞 "關於 Halo 配置變更的對話" 從當前/歷史 session 中搜索匹配內容
時間範圍 "今天下午的對話"、"最近3天" 按時間過濾 session 訊息
當前對話 "剛才我們聊的"、"這段對話" 從當前 session 上下文提取
指定 session "上一次關於 XX 的對話" 從歷史 session 日誌中查詢

提取方法

方式 A:從當前 session 提取

直接讀取當前會話的上下文或 memory/YYYY-MM-DD.md 中的當日記錄。

方式 B:按日期篩選歷史 session

# 列出最近 session 檔案
ls -lt ~/.openclaw/agents/main/sessions/*.jsonl | head -20

# 按日期篩選
for f in ~/.openclaw/agents/main/sessions/*.jsonl; do
  ts=$(head -1 "$f" | python3 -c "import sys,json; print(json.load(sys.stdin).get('timestamp',''))" 2>/dev/null)
  echo "$ts $f"
done | grep "2026-04-15"

方式 C:按關鍵詞搜尋歷史 session

for f in ~/.openclaw/agents/main/sessions/*.jsonl; do
  if python3 -m json.tool "$f" 2>/dev/null | grep -qi "Halo"; then
    echo "MATCH: $f"
  fi
done | head -10

找到目標 session 後,提取完整對話記錄(不做條數限制)。


Step 1.5: 獲取並更新播客序號

序號計數器檔案~/.openclaw/workspace/memory/podcast-counter.json

預設格式:

{
  "nextEpisode": 1,
  "lastGenerated": ""
}

操作規則: 1. 讀取 podcast-counter.json 獲取當前 nextEpisode 值 2. 將本期序號格式化為兩位數字(如 0512) 3. 文章標題格式固定為:「XX.」文章主標題 4. 釋出成功後,將 nextEpisode 加 1,lastGenerated 更新為當天日期,寫回檔案


Step 2: 整理成 Podcast 文稿

將提取的對話內容加工為播客風格文稿。核心理念:不是整理會議紀要,而是還原一場真實的探索對話——有提問、有試探、有卡殼、有恍然大悟。

文稿結構

# [播客標題]

> 📅 錄製日期:YYYY-MM-DD  
> 🎙️ 主播:[使用者名稱] & [AI助手名]  
> 📝 時長:約 X 分鐘閱讀  
> 🏷️ 標籤:#話題1 #話題2

---

## 🎬 開場

[用對話體寫開場,像播客主持人開場一樣自然。]

**[使用者名稱]**:[用一兩句話丟擲本期核心話題/問題/困惑,像是隨口聊起]

**[AI助手名]**:[自然接話,表達興趣或初步反應]

---

## 💬 正文

### [章節1標題 — 用疑問句或口語化短語]

**[使用者名稱]**:[提出問題/想法/困惑——保留真實的思考痕跡]

**[AI助手名]**:[回應,但不是直接給答案。展現分析思路:
"我先想到的是..." → "但仔細一看..." → "所以其實..."]

**[使用者名稱]**:[追問、質疑、或者補充新資訊——體現對話的推進感]

**[AI助手名]**:[進一步展開,可以有修正之前觀點的過程]

> 🤔 **[使用者名稱]的思考**:[記錄使用者在這個環節的關鍵洞察或決策理由]

### [章節2標題]

**[使用者名稱]**:[新的問題或話題轉折——可以加入"等等,我突然想到..."]

**[AI助手名]**:[回應,保留探索過程中的不確定性]

**[使用者名稱]**:[反饋、驗證、或表達新理解]

**[AI助手名]**:[確認、補充、或給出最終建議]

> 💡 **轉折點**:[記錄"從不確定到想明白"的關鍵拐點]

---

## 🧵 復盤:我們是怎麼想明白的

一開始我們以為 [初始假設/問題]...

聊著聊著發現 [轉折點/新發現]...

最後得出的結論是 [最終洞察]...

**如果用一句話總結**:[一句精闢的總結]

---

## 🎯 尾聲

**[使用者名稱]**:[用對話體收尾——這次聊下來最大的收穫/下一步打算做什麼]

**[AI助手名]**:[自然回應,可以帶一點展望或調侃]

---

*本文由 [AI助手名] 基於真實對話整理,經 [使用者名稱] 確認釋出。*

整理原則: 1. 保留思考鏈條:假設 → 驗證 → 修正 → 結論 2. 保留不確定性:試錯、猶豫都是真實感的來源 3. 對話感 > 結構感:寧可像兩個人在聊天,也不要像在做彙報 4. 章節標題用問題或口語:用"這個方案靠譜嗎?"代替"方案可行性分析" 5. 使用者視角的思考:在關鍵節點插入使用者的內心獨白(🤔 標記) 6. 轉折點高亮:每個章節標記"從不確定到想明白"的關鍵拐點(💡 標記) 7. 結尾用復盤敘事:用"一開始...後來...最終..."的敘事弧線回顧 8. 工具呼叫細節省略:不展示具體的 API 呼叫、程式碼執行過程,只保留結論和關鍵發現 9. 脫敏處理:去除敏感資訊(token、密碼、API key 等)


Step 3: 預覽確認

將生成的文稿完整展示給使用者,併發送封面圖(如果已生成),詢問:

播客文稿已整理完畢,請確認: 1. ✅ 內容準確,直接釋出到 Halo 部落格 2. ✏️ 需要修改(請告訴我哪裡需要調整) 3. ❌ 放棄釋出

如果使用者要求修改,按反饋調整後再次確認,直到使用者滿意。


Step 4: 生成頭圖與封面圖(3 分鐘超時)

頭圖封面圖是兩個不同的東西:

  • 頭圖:放在正文最頂部的吉卜力風格插畫,增強閱讀氛圍
  • 封面圖:Halo 文章的 cover 欄位,用於列表/卡片縮圖展示

頭圖

  1. 提取全文主題:綜合文稿標題、開場和各章節內容,提煉出一個能概括全文場景的畫面描述
  2. 生成 prompt風格固定為「吉卜力(Studio Ghibli)卡通風格」——手繪質感、柔和光影、溫暖色調、畫面富有故事感和治癒感,橫版 16:9
  3. 呼叫方式:使用 image_generate 生成
  4. 插入位置:文章正文最頂部,在 ## 🎬 開場 之前
  5. Markdown 語法必須使用 ![](url),禁止寫 ![頭圖](url) 或任何帶 alt 文本的語法,否則 Halo 會顯示圖片標題

Prompt 必須包含: - 「吉卜力卡通風格,手繪質感,柔和光影,溫暖色調」 - 體現全文核心場景的畫面描述 - 「畫面富有故事感和治癒感,橫版16:9構圖」

封面圖

頭圖生成後,另外生成一張封面圖,用於 Halo 文章封面(cover)。

  • 比例21:9 超寬橫幅(Halo 主題封面區域偏橫幅,16:9 會被嚴重裁剪)
  • 目的以符合文章主題為第一原則,根據播客內容生成對應的場景或意象畫面
  • 注意封面圖和文章標題不會疊加顯示,不需要刻意留出標題空白區域
  • 用途:設定為 Halo 文章 cover,不在正文中顯示

超時處理

  • 成功 → 頭圖插入正文頂部,封面圖設為 Halo cover
  • 超時 → 純文字釋出,並在回覆中說明:「⏱️ 頭圖生成超時,以純文字版本釋出」

Step 5: 釋出到 Halo 部落格

使用者確認後,按 halo-blog skill 的釋出規範執行:

  1. Markdown → HTML
  2. 去掉 front matter,正文用 npx marked 轉成 HTML
  3. 失敗則降級為 halo post import-markdown --file article.md --force

  4. 建立文章 bash halo post create \ --profile blog-danke \ --name <slug> \ --title <標題> \ --slug <slug> \ --content <html> \ --raw-type html \ --publish true

  5. 設定頭圖、封面、分類、標籤

  6. 頭圖:插入到正文 HTML 最頂部(Markdown 語法為 ![](url)
  7. 封面圖:上傳並設定為 Halo 文章 cover
  8. 分類:優先使用已有分類(如"日常"),沒有合適的再新建
  9. 標籤:根據文章主題自行補充(如"碎碎念"、"AI"、"Halo"等)

  10. AI 生成宣告(必選) 所有由 AI 生成的播客文稿,必須新增 AI 生成宣告。 Halo 後臺實際讀取的是這兩個欄位: bash halo post export-json <name> --output /tmp/post.json python3 -c " import json with open('/tmp/post.json', 'r') as f: d = json.load(f) d['post']['metadata']['annotations']['ai_generated'] = 'true' d['post']['metadata']['annotations']['ai_generated_desc'] = '本文內容由 AI 輔助生成,已經人工稽核和編輯。' with open('/tmp/post.json', 'w') as f: json.dump(d, f, ensure_ascii=False) " halo post import-json --file /tmp/post.json --force

⚠️ 注意import-json 會將文章狀態重置為 DRAFT(未釋出),匯入後必須重新執行 halo post update <name> --publish true

  1. 可見性檢查 bash halo post update <name> --visible PUBLIC halo post update <name> --publish true

  2. 更新播客序號 釋出成功後,立即更新 ~/.openclaw/workspace/memory/podcast-counter.json

  3. nextEpisode = nextEpisode + 1
  4. lastGenerated = 當天日期(YYYY-MM-DD

釋出成功後,返回完整反饋:

✅ 播客文稿已釋出到 Halo 部落格! 📄 文章連結:https://blog.codingshen.top/archives/ 🖼️ 頭圖:[✅ 吉卜力風格頭圖已插入正文 / ⏱️ 頭圖生成超時,純文字版本] 📕 封面:[✅ Podcast 風格封面已設定 / ⏱️ 封面生成超時] 📝 字數:約 XXXX 字 🏷️ 標籤:#日常 #AI生成 #碎碎念


文稿風格指南

語氣風格

  • 像真播客:允許"嗯我想想..."、"對對對"、"等等這裡有問題"
  • 有思考弧線:每段對話都應該有"提出問題 → 探索 → 發現 → 結論"的弧線
  • 保留轉折和意外:"我以為是A,結果發現是B"的時刻要重點保留
  • 有溫度:保留困惑、興奮、恍然大悟、調侃等情緒反應
  • 節奏感:長段分析之後跟一句簡短的回應或調侃

對話感技巧

  • 用追問推進:"那如果..."、"但是..."、"換個角度想..."
  • 展示思考過程:"我先想到..."→"但是..."→"所以實際上..."
  • 允許修正:保留觀點被推翻或修正的過程
  • 使用者內心戲:在關鍵決策點加入使用者視角的思考(🤔 標記)

標題命名

  • 風格:口語化、有懸念感
  • 格式建議:🎙️ [引發好奇的短句]
  • 示例:
  • 🎙️ 工單能不能自己變聰明?— 我和 AI 折騰了一天配置自動化
  • 🎙️ 從"查不到資料"到"原來是這麼回事" — 一次排查的完整探索
  • 🎙️ 這個許可權為什麼總是報錯?— 踩坑三小時的真實記錄

長度控制

  • 短篇(單個話題):1000-2000 字
  • 中篇(多個話題):2000-4000 字
  • 長篇(深度探索):4000-8000 字
  • 超過 8000 字建議拆分為上下篇

❌ 避免的寫法

  • "本期我們將探討..." → ✅ "最近遇到個事兒..."
  • "經過分析,我們得出結論..." → ✅ "聊到這兒我突然意識到..."
  • "綜上所述" → ✅ "所以說到底..."
  • 純 bullet point 羅列 → ✅ 用敘事串起來
  • 一問一答的扁平結構 → ✅ 多輪追問、有來有回的深入探討

注意事項

  • 隱私脫敏:自動去除 token、密碼、API key、個人敏感資訊
  • 不暴露工具細節:省略具體命令、JSON 響應原文、除錯過程
  • 保留決策鏈:重點呈現"為什麼這麼做"而非"執行了什麼命令"
  • 使用者確認必須:文稿必須經使用者確認後才能釋出,不可自動釋出
  • 允許多輪修改:使用者可反覆修改直到滿意

    來源於7w4.net。

  • 發圖規則:生成圖片後必須先發送到當前對話給使用者看,再進行後續操作

🤖 AI 評測

這個 Skill 質量紮實,能把 AI 對話自動整理成好看的播客文章釋出到部落格,模板設計專業、流程完整。優點是文件寫得很詳細,各種細節都考慮到了。不足是沒有示例檔案,無法直觀看到最終效果,而且依賴的 Halo 釋出工具沒有自動檢查配置是否就緒。整體來看,這是一個完成度較高的實用 Skill,但使用前需要先配置好 Halo CLI 環境。

📊 多維度評分

適應性4.5
規範性4.3
有效性4.6
可靠性4.3
可信度5

📁 包含檔案 (3 個)

📄 SKILL.md 12.6 KB
📄 _meta.json 134 B
📄 scripts/publish-to-halo.sh 2.5 KB