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"]
將你與 AI 助手的特定對話內容,自動整理成 Podcast 風格的文稿,確認後一鍵釋出到 Halo 部落格。
@halo-dev/cli:
bash
npm install -g @halo-dev/cliblog-danke)並完成登入halo-blog skill 作為釋出規範參考詢問使用者要整理哪些對話內容。支援以下方式定位:
| 定位方式 | 示例 | 說明 |
|---|---|---|
| 話題關鍵詞 | "關於 Halo 配置變更的對話" | 從當前/歷史 session 中搜索匹配內容 |
| 時間範圍 | "今天下午的對話"、"最近3天" | 按時間過濾 session 訊息 |
| 當前對話 | "剛才我們聊的"、"這段對話" | 從當前 session 上下文提取 |
| 指定 session | "上一次關於 XX 的對話" | 從歷史 session 日誌中查詢 |
方式 A:從當前 session 提取
直接讀取當前會話的上下文或 memory/YYYY-MM-DD.md 中的當日記錄。
方式 B:按日期篩選歷史 session
小蔥技能7w4.net持續更新中。
# 列出最近 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 後,提取完整對話記錄(不做條數限制)。
序號計數器檔案:~/.openclaw/workspace/memory/podcast-counter.json
預設格式:
{
"nextEpisode": 1,
"lastGenerated": ""
}
操作規則:
1. 讀取 podcast-counter.json 獲取當前 nextEpisode 值
2. 將本期序號格式化為兩位數字(如 05、12)
3. 文章標題格式固定為:「XX.」文章主標題
4. 釋出成功後,將 nextEpisode 加 1,lastGenerated 更新為當天日期,寫回檔案
將提取的對話內容加工為播客風格文稿。核心理念:不是整理會議紀要,而是還原一場真實的探索對話——有提問、有試探、有卡殼、有恍然大悟。
文稿結構:
# [播客標題]
> 📅 錄製日期: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 等)
將生成的文稿完整展示給使用者,併發送封面圖(如果已生成),詢問:
播客文稿已整理完畢,請確認: 1. ✅ 內容準確,直接釋出到 Halo 部落格 2. ✏️ 需要修改(請告訴我哪裡需要調整) 3. ❌ 放棄釋出
如果使用者要求修改,按反饋調整後再次確認,直到使用者滿意。
頭圖和封面圖是兩個不同的東西:
cover 欄位,用於列表/卡片縮圖展示image_generate 生成## 🎬 開場 之前,禁止寫  或任何帶 alt 文本的語法,否則 Halo 會顯示圖片標題Prompt 必須包含: - 「吉卜力卡通風格,手繪質感,柔和光影,溫暖色調」 - 體現全文核心場景的畫面描述 - 「畫面富有故事感和治癒感,橫版16:9構圖」
頭圖生成後,另外生成一張封面圖,用於 Halo 文章封面(cover)。
cover,不在正文中顯示cover使用者確認後,按 halo-blog skill 的釋出規範執行:
npx marked 轉成 HTML失敗則降級為 halo post import-markdown --file article.md --force
建立文章
bash
halo post create \
--profile blog-danke \
--name <slug> \
--title <標題> \
--slug <slug> \
--content <html> \
--raw-type html \
--publish true
設定頭圖、封面、分類、標籤
)cover標籤:根據文章主題自行補充(如"碎碎念"、"AI"、"Halo"等)
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。
可見性檢查
bash
halo post update <name> --visible PUBLIC
halo post update <name> --publish true
更新播客序號
釋出成功後,立即更新 ~/.openclaw/workspace/memory/podcast-counter.json:
nextEpisode = nextEpisode + 1lastGenerated = 當天日期(YYYY-MM-DD)釋出成功後,返回完整反饋:
✅ 播客文稿已釋出到 Halo 部落格! 📄 文章連結:https://blog.codingshen.top/archives/
🖼️ 頭圖:[✅ 吉卜力風格頭圖已插入正文 / ⏱️ 頭圖生成超時,純文字版本] 📕 封面:[✅ Podcast 風格封面已設定 / ⏱️ 封面生成超時] 📝 字數:約 XXXX 字 🏷️ 標籤:#日常 #AI生成 #碎碎念
🎙️ [引發好奇的短句]🎙️ 工單能不能自己變聰明?— 我和 AI 折騰了一天配置自動化🎙️ 從"查不到資料"到"原來是這麼回事" — 一次排查的完整探索🎙️ 這個許可權為什麼總是報錯?— 踩坑三小時的真實記錄這個 Skill 質量紮實,能把 AI 對話自動整理成好看的播客文章釋出到部落格,模板設計專業、流程完整。優點是文件寫得很詳細,各種細節都考慮到了。不足是沒有示例檔案,無法直觀看到最終效果,而且依賴的 Halo 釋出工具沒有自動檢查配置是否就緒。整體來看,這是一個完成度較高的實用 Skill,但使用前需要先配置好 Halo CLI 環境。