將你與 AI 助手的特定對話內容,自動整理成 Podcast 風格的文稿,確認後一鍵釋出到 Halo 部落格。
@halo-dev/cli:
npm install -g @halo-dev/cliblog-danke)並完成登入halo-blog skill 作為釋出規範參考想要更強大的技能外掛,就來小蔥技能站7w4.net看看吧。
詢問使用者要整理哪些對話內容。支援以下方式定位:
| 定位方式 | 示例 | 說明 |
|---|---|---|
| 話題關鍵詞 | "關於 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 後,提取完整對話記錄(不做條數限制)。
序號計數器檔案:~/.openclaw/workspace/memory/podcast-counter.json
預設格式:
{
"nextEpisode": 1,
"lastGenerated": ""
}
操作規則:
podcast-counter.json 獲取當前 nextEpisode 值05、12)「XX.」文章主標題nextEpisode 加 1,lastGenerated 更新為當天日期,寫回檔案將提取的對話內容加工為播客風格文稿。核心理念:不是整理會議紀要,而是還原一場真實的探索對話——有提問、有試探、有卡殼、有恍然大悟。
文稿結構:
# [播客標題]
> 📅 錄製日期:YYYY-MM-DD
> 🎙️ 主播:[使用者名稱] & [AI助手名]
> 📝 時長:約 X 分鐘閱讀
> 🏷️ 標籤:#話題1 #話題2
---
## 🎬 開場
[用對話體寫開場,像播客主持人開場一樣自然。]
**[使用者名稱]**:[用一兩句話丟擲本期核心話題/問題/困惑,像是隨口聊起]
**[AI助手名]**:[自然接話,表達興趣或初步反應]
---
## 💬 正文
### [章節1標題 — 用疑問句或口語化短語]
**[使用者名稱]**:[提出問題/想法/困惑——保留真實的思考痕跡]
**[AI助手名]**:[回應,但不是直接給答案。展現分析思路:
"我先想到的是..." → "但仔細一看..." → "所以其實..."]
**[使用者名稱]**:[追問、質疑、或者補充新資訊——體現對話的推進感]
**[AI助手名]**:[進一步展開,可以有修正之前觀點的過程]
> 🤔 **[使用者名稱]的思考**:[記錄使用者在這個環節的關鍵洞察或決策理由]
### [章節2標題]
**[使用者名稱]**:[新的問題或話題轉折——可以加入"等等,我突然想到..."]
**[AI助手名]**:[回應,保留探索過程中的不確定性]
**[使用者名稱]**:[反饋、驗證、或表達新理解]
**[AI助手名]**:[確認、補充、或給出最終建議]
> 💡 **轉折點**:[記錄"從不確定到想明白"的關鍵拐點]
---
## 🧵 復盤:我們是怎麼想明白的
一開始我們以為 [初始假設/問題]...
聊著聊著發現 [轉折點/新發現]...
最後得出的結論是 [最終洞察]...
**如果用一句話總結**:[一句精闢的總結]
---
## 🎯 尾聲
**[使用者名稱]**:[用對話體收尾——這次聊下來最大的收穫/下一步打算做什麼]
**[AI助手名]**:[自然回應,可以帶一點展望或調侃]
---
*本文由 [AI助手名] 基於真實對話整理,經 [使用者名稱] 確認釋出。*
整理原則:
將生成的文稿完整展示給使用者,併發送封面圖(如果已生成),詢問:
播客文稿已整理完畢,請確認:
- ✅ 內容準確,直接釋出到 Halo 部落格
- ✏️ 需要修改(請告訴我哪裡需要調整)
- ❌ 放棄釋出
如果使用者要求修改,按反饋調整後再次確認,直到使用者滿意。
頭圖和封面圖是兩個不同的東西:
cover 欄位,用於列表/卡片縮圖展示image_generate 生成## 🎬 開場 之前,禁止寫  或任何帶 alt 文本的語法,否則 Halo 會顯示圖片標題Prompt 必須包含:
頭圖生成後,另外生成一張封面圖,用於 Halo 文章封面(cover)。
cover,不在正文中顯示cover使用者確認後,按 halo-blog skill 的釋出規範執行:
Markdown → HTML
npx marked 轉成 HTMLhalo post import-markdown --file article.md --force建立文章
halo post create \
--profile blog-danke \
--name <slug> \
--title <標題> \
--slug <slug> \
--content <html> \
--raw-type html \
--publish true
設定頭圖、封面、分類、標籤
)coverAI 生成宣告(必選) 所有由 AI 生成的播客文稿,必須新增 AI 生成宣告。 Halo 後臺實際讀取的是這兩個欄位:
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。
可見性檢查
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 環境。