如何將 Twitter / X 串文儲存為 Markdown(完整串文,按順序)
Twitter(現 X)從來不是為了匯出而設計的。沒有「儲存串文」按鈕,沒有逐字稿下載,沒有封存選項。複製貼上一條長串文,你得到的推文順序錯亂,被回覆縮排打斷,引用推文被壓縮成「檢視推文」連結,一旦原文被刪除這些連結就指向虛空。而串文不斷被刪除——帳號轉為私密,推文被移除,整個對話在一次內容審核浪潮中消失。
本指南涵蓋將 Twitter / X 串文轉換為乾淨 Markdown 的所有方法——從單則爆款推文到 100 則貼文的超長串文。
為什麼將 Twitter 串文儲存為 Markdown?
Markdown 是適合串文去向任何地方的格式:
- 餵給 LLM --- Claude、ChatGPT、Gemini 和本機模型都原生地將 Markdown 作為上下文讀取
- 放入 Obsidian 或 Notion --- 一個檔案,完全可搜尋,每則推文按順序保留
- 引用特定推文 --- 時間戳和使用者名稱完整,即使原文被刪除你也能引用來源
- 在串文消失前封存 --- 帳號被停權,推文被移除,你的筆記不應該依賴 X 的執行時間
- 建立個人研究基礎 --- 來自營運者、研究者和建造者的串文是網際網路上密度最高的內容之一,而這些預設都不會被保留
2026 年推動大部分 Twitter 到 Markdown 流量的使用案例是第一個:人們想就剛讀完的長串文向 Claude 或 ChatGPT 提問,而貼上 URL 行不通,因為模型無法通過 X 的驗證。
方法 1:Save(最快,一鍵)
Save 是一個 Chrome 擴充功能,可一鍵將任何 Twitter 或 X 串文轉換為 Markdown 檔案。它按發佈順序走完串文,為每則推文附上作者使用者名稱和時間戳,並將引用推文內聯巢狀,讓對話真正能從上到下閱讀。
運作方式:
- 在 Chrome 中開啟 twitter.com 或 x.com 上的串文
- 點擊工具列中的 Save 擴充功能圖示
- 一個
.md檔案立即下載(或者落入你的 Save Vault,如果已連接)
你獲得的:
- 串文中的每則推文,按發佈順序
- 每則推文上每個作者的顯示名稱 + 使用者名稱
- 每則推文的時間戳(連結回原文 URL)
- 引用推文內聯巢狀,被引用的作者和內容都保留
- 圖片和影片作為 Markdown 引用(
) - 嵌入的 YouTube 影片和文章作為連結預覽
- 包含串文作者、首則推文 URL、發佈日期和推文數量的前置元資料
被移除的:
- 「關注誰」側邊欄、趨勢面板和 X 導覽元素
- 注入串文的推廣推文
- 回覆展開後的「顯示更多回覆」UI 雜訊
- 來自其他使用者的回覆推文(除非它們是多作者串文的一部分)
- 每則推文上的互動數(僅在根推文上作為元資料保留)
最適合: 研究者、AI 使用者、建造者,以及任何閱讀長串文並需要將其轉化為永久、可引用形式的人。如果你想將 50 則推文的串文貼到 Claude 或封存到 Obsidian 中,這是最乾淨的路徑。
輸出範例
儲存一個建造者的 12 則串文會產生:
---
title: "Thread by @paulg on what makes a good founder"
author: Paul Graham
handle: "@paulg"
url: https://x.com/paulg/status/1234567890
date: 2026-04-12
tweets: 12
---
## Thread
**Paul Graham** [@paulg](https://x.com/paulg) --- Apr 12, 2026, 9:14 AM
The best founders I've met all share one trait, and it's not what
people usually say. It's not grit, intelligence, or vision. It's
something more specific.
---
**Paul Graham** [@paulg](https://x.com/paulg) --- Apr 12, 2026, 9:14 AM
It's the ability to update fast on new information without losing
conviction in the underlying thesis. Most people do one or the other.
---
**Paul Graham** [@paulg](https://x.com/paulg) --- Apr 12, 2026, 9:15 AM
> Quoting **Sam Altman** [@sama](https://x.com/sama):
> Conviction without flexibility is dogma. Flexibility without
> conviction is drift.
Exactly this. The trick is holding both at once.
那個檔案距離成為可用的 Claude 上下文只差一次貼上,距離成為永久的 Obsidian 筆記只差一次按鍵——即使原串文明天被刪除。
方法 2:ThreadReaderApp(瀏覽器,僅 Web)
ThreadReaderApp 多年來一直是首選的「展開」工具。你回覆 @threadreaderapp unroll 給某則推文(或在他們的網站上貼上 URL),就能獲得串文的單頁版本。
步驟:
- 開啟你想儲存的串文
- 在 threadreaderapp.com 貼上 URL 或用展開指令回覆
- 等待展開渲染
- 將渲染的 HTML 複製到 Markdown 轉換器,或使用他們的匯出功能
這種方法的問題:
- 輸出是 HTML 或 PDF,不是 Markdown --- 每次轉換都增加阻力
- 引用推文通常被壓平為連結,而非巢狀
- 圖片在匯出中經常損壞(指向 X CDN 的熱連結會過期)
- 免費層有速率限制和浮水印;乾淨的匯出需要訂閱
- 在受保護帳號或已刪除作者的串文上不起作用
- 回覆串文上下文(當作者在回應其他人時)會遺失
適用於你想稍後閱讀的一次性公開串文。如果你需要在許多串文上獲得一致的 Markdown 輸出,它會崩潰。
方法 3:Twitter API + 指令稿
為了完全控制,你可以透過 X API 拉取對話並自己格式化。
import tweepy
client = tweepy.Client(bearer_token=BEARER_TOKEN)
tweets = client.search_recent_tweets(
query=f"conversation_id:{ROOT_TWEET_ID} from:{AUTHOR_HANDLE}",
tweet_fields=["created_at", "author_id", "referenced_tweets"],
max_results=100,
)
for t in sorted(tweets.data, key=lambda x: x.created_at):
print(f"[{t.created_at}] {t.text}\n")
最適合: 大規模封存串文的工程團隊,或任何建立公開話語資料集的人。需要付費 X API 層級(免費層不會傳回對話串文),而且速率限制激進。
這種方法的問題:
- 截至 2026 年,X API 存取從 Basic 層每月 100 美元起步 --- 不值得個人使用
- 對話查詢在大多數層級上只傳回過去 7 天的推文
- 每則引用推文的內容需要單獨查詢
- API 回應中的媒體 URL 會過期,需要立即下載
- 沒有乾淨的 Markdown 格式 --- 你自己寫渲染
- 受保護帳號和已刪除推文不傳回任何內容
如果你在建構基礎設施,這是正確的方法。對於單則串文來說,這是過度(且昂貴)的。
方法 4:手動複製 + 重新格式化
開啟串文,捲動到頂部,然後手動將每則推文複製貼上到 Markdown 檔案。
步驟:
- 在 twitter.com 或 x.com 開啟串文
- 捲動到串文的第一則推文
- 逐則複製每則推文,貼到
.md檔案 - 手動新增使用者名稱、時間戳和引用推文上下文
- 下載任何圖片,託管到某處,再連結回來
這種方法的問題:
- 30 則串文需要 20 多分鐘
- X 的複製行為會把互動數和「顯示此串文」標籤連同推文文字一起貼上
- 每則引用推文都需要單獨處理
- 捲動時頁面延遲載入,容易漏掉推文
- 除非你也複製工具提示文字,否則時間戳格式沒有一致性
封存一則你想記住的推文還行。任何長於五則的都很痛苦。
你應該使用哪種方法?
| 場景 | 最佳方法 |
|---|---|
| 將串文貼到 Claude 或 ChatGPT | Save --- 一鍵,結構化輸出 |
| 在串文被刪除前封存 | Save --- 保留署名和時間戳 |
| 建立串文的個人研究庫 | Save --- 每次儲存都有一致的 Markdown |
| 六個月後引用特定推文 | Save --- 每則推文的使用者名稱 + 時間戳 + URL |
| 稍後閱讀一條長串文而不封存 | ThreadReaderApp --- 免費展開,僅 Web |
| 大規模建立公開話語資料集 | X API + 指令稿 --- 程式化,需要付費層 |
| 儲存一則短推文用於引用 | 手動複製 --- 30 秒,無需工具 |
對於大多數人 --- 尤其是任何使用 Twitter 串文作為 AI 上下文或研究材料的人 --- Save 是答案。它無需設定就產生最乾淨的 Markdown,並以與單則貼文相同的速度處理 100 則推文的串文。
Save 處理的邊緣案例
- 「顯示更多回覆」展開。 Save 在快照前完全展開串文。如果一則推文有來自同一作者的隱藏回覆,它們會被拉入。輸出是完整串文,而不僅僅是可見部分。
- 多作者串文。 當串文是兩個或更多人之間的來回(罕見但在技術討論中會發生),Save 用正確的作者標記每則推文,並按時間戳保持順序。
- 串文中間被刪除的推文。 如果 10 則串文中的第 4 則不見了,Save 會用
[deleted]和時間戳佔位符標記它,讓順序保持完整,並讓你知道有東西被移除了。 - 引用推文 vs 回覆推文。 引用推文作為 Markdown 引用塊內聯巢狀,附被引用作者。第三方的回覆推文被排除,除非它們是作者本人擴展自己串文的回覆。
- x.com vs twitter.com URL。 兩者都有效。Save 自動偵測網域並處理兩者之間的 cookie/登入差異 --- 你不需要遷移 URL。
- 長串文(50+ 推文)。 Save 在快照前等待整個串文延遲載入完成。「捲動載入」頁面透過遍歷 DOM 處理,直到沒有新推文出現。超長串文(100+)可以正確儲存。
- 嵌入的 YouTube 影片或文章。 連結預覽作為附標題和來源的 Markdown 連結保留。如果嵌入是圖片卡片,它將儲存為圖片引用。
- 鎖定或受保護的帳號。 Save 看到的是你登入瀏覽器看到的。如果你被批准關注該帳號,串文會儲存。否則,它看不到你看不到的內容。
- 被停權的帳號。 一旦帳號被停權,串文就從 X 消失。如果你在停權前儲存了它,你的 Markdown 副本是唯一的記錄。否則,Save 無法復原(什麼都不能)。
與你的工作流程搭配
Markdown 輸出在你需要的任何地方都能運作:
- Claude / ChatGPT / Gemini --- 貼上檔案,針對串文提出後續問題
- Obsidian --- 放入你的 vault,將推文連結到相關筆記,跨越你曾儲存過的每個作者搜尋
- Notion --- 直接貼上,引用塊和圖片連結正確渲染
- Apple Notes --- 透過 Markdown 分享擴充功能乾淨匯入
- Save Vault --- 如果你連接了一個,每個 Twitter 儲存都會自動落在那裡,按作者分組,附反向連結和標籤
常見問題
Save 在 X 行動版網站或應用程式上有效嗎? 擴充功能目前僅限桌面端 Chrome。在行動裝置上,複製 URL 並在桌面開啟,或貼到 Mac 上的 Save Vault(它有 URL 處理程式)。
它在 x.com 上有效還是僅 twitter.com? 兩者都有效。Save 自動偵測你在哪個網域。現有的 twitter.com 書籤仍然解析,x.com 運作方式相同。
單則推文呢,不是串文? 運作方式相同。單則推文儲存為附完整署名、時間戳和媒體的單推文 Markdown 檔案。適用於在文件或論文中引用特定貼文。
Save 能只擷取根推文的文字而不要整個串文嗎? 可以。擴充功能讓你選擇:完整串文、僅根推文、或根 + 作者的回覆。預設是完整串文。
它儲存圖片和影片嗎? 圖片在可能的情況下儲存為附穩定 URL 的 Markdown 引用。影片用縮圖連結。對於長期封存,將 Save 指向 Save Vault,它可以在本地鏡像媒體。
受保護(鎖定)帳號上的串文呢? Save 尊重 X 的存取規則。如果你是經批准的關注者並能看到串文,Save 可以儲存。否則,它無法繞過保護。
它會儲存被刪除的推文嗎? 僅當你儲存它們時它們還在線。一旦推文從 X 刪除,除了在刪除前製作的副本外,它在所有地方都消失了。這是邊讀串文邊儲存的主要原因。
匯出包括互動數(讚、轉發)嗎? 互動數作為根推文的前置元資料包含(你儲存那一刻的快照)。單則推文的計數被省略以保持輸出乾淨。
多少錢? Save 有免費層,讓你可以在幾條串文上試用。之後,一個小訂閱解鎖無限儲存和 Vault 同步。
相關 Save 指南
- 將 Reddit 串文儲存為 Markdown --- 保留留言巢狀的串文
- 將 YouTube 影片儲存為 Markdown --- 逐字稿、摘要、時間戳,全部乾淨
- 將 Hacker News 串文儲存為 Markdown --- 完整的留言樹,按順序排列,附作者使用者名稱
- 將 Substack 電子報儲存為 Markdown --- 電子報貼文,圖片和註腳完好無損
## Continue reading
如何將 Reddit 串文儲存為 Markdown(含留言與上下文)
將任何 Reddit 串文轉換為乾淨的 Markdown,保留巢狀留言、karma、flair 和 OP 標記。2026 年研究人員與 AI 使用者完整指南。
如何將 Claude 對話儲存為 Markdown(Artifacts、引用、Projects)
將 Claude 對話轉換為乾淨的 Markdown:每個回合、Artifacts 作為程式碼區塊、保留引用。給研究者與 AI 使用者的完整指南。
如何將 ChatGPT 對話儲存為 Markdown(每輪對話、程式碼區塊完整保留)
將任何 ChatGPT 對話轉換為乾淨的 Markdown:每輪對話、程式碼區塊、表格、引用。給研究者和 AI 使用者的 2026 完整指南。
如何將 Substack 貼文儲存為 Markdown(支援付費牆,無交叉推廣)
將任何 Substack 電子報轉換為乾淨的 Markdown:完整內文、引文、嵌入音訊,無訂閱彈窗。2026 年研究人員和 AI 使用者完整指南。
Written by
Jean-Sébastien Wallez
I've been making internet products for 10+ years. Built Save on weekends because I wanted my own reading library in clean markdown for Claude and Obsidian. Write here about web clipping, AI workflows, and the small things that make a personal knowledge base actually useful.