JunObsNote 學習筆記自動發佈系統複盤

我平常會寫學習筆記,但寫完常常就躺在硬碟裡,沒人看得到,也沒辦法拿來證明自己做過什麼。
這是我一人 AI 協作開發的專案,把原本放在個人電腦裡的筆記庫,改造成一條全自動的發佈管線,讓筆記寫完就能自動變成公開文章。
成果速覽
- 21 篇文章已經上線,涵蓋專案複盤、技術深潛、AI 協作方法論三種類型。
- 一條全自動管線:筆記標好開關、存檔後,排程自動接手潤稿、檢查、建站、部署,不用我動手。
- 上線前的機械檢查一次抓出舊站 12 篇文章裡 11 篇的用詞問題、全部超標的篇幅、13 段程式碼裡 2 段悄悄消失的內容。
- 文字生成從外部付費服務換成本機工具,同一項工作的計費用量從約 3 萬個單位壓到約 300 個。
- 每張封面圖成本 0.134 美元,經過 7 張對照測試才決定用哪個生圖模型。
這條管線在做什麼
整套流程像一條輸送帶:我在筆記最前面填一個欄位,決定要不要公開,剩下的事全自動接手。排程程式每天固定時間巡邏,找出標記公開且有變動的筆記,交給 AI 潤成文章、檢查後推送出去。雲端只負責建站與上線,不碰 AI,我不用交出密鑰。
graph LR A[筆記填上公開開關] --> B[本機排程:AI潤稿加檢查] B --> C[推送到程式庫] C --> D[雲端建站] D --> E[部署上線]
note技術細節:建站與部署選型
靜態網站框架用 Quartz 第 4 代而非最新的第 5 代,因為第 5 代外掛透過符號連結載入,在 Windows 上本機建置會被權限擋下來;第 4 代不需要符號連結,本機與雲端建置都穩定。 部署選 Cloudflare Pages 而非 GitHub Pages,因為 GitHub 免費方案不支援私有程式庫直接發佈網站,而這個筆記庫本身必須維持私有,公開的只有潤稿後的產出。 雲端流程只做建站與上傳,兩把 Cloudflare 憑證就是全部需要的密鑰。
公開和寫完,是兩件不同的事
一開始的邏輯很直覺:筆記寫完就發佈。但這樣沒辦法呈現寫作過程,也分不清定稿了跟我想公開。後來拆成兩件事:一個欄位管寫到哪個階段,另一個管要不要公開。這樣寫到一半也能先公開;私密內容不管寫得多完整,沒開公開開關就不會外流。
文字生成也換過一次底層依賴。原本潤稿打外部 AI 服務的付費介面,後來改成呼叫本機已登入的 AI 工具,吃現有訂閱額度,整條線因此不再持有任何 API 金鑰。代價也明確:排程能不能跑,要看本機工具是不是登入中,登入過期就會停擺,這是換依賴時就接受的取捨。
封面圖經歷過拿掉又接回來的來回。改用本機工具後,那個工具不會生圖,原本接在同一條線上的封面生成被整個拿掉,新文章一度沒有封面。同一天稍晚我用一支獨立程式接回封面,文字那條線依然乾淨不碰金鑰,圖片走另一條路。這也定了一條原則:封面刻意不自動化,每張圖都要我親眼確認人物沒跑掉、沒冒出奇怪文字才收進產出,因為這類失敗機械檢查抓不出來。
規則寫了不代表 AI 會照做
這是整條管線踩出來最實際的一課:潤稿規則早就寫明禁止某些用詞、限制篇幅、要求排版,但掃過舊站文章才發現規則常常形同虛設。於是出稿前加了一道機械檢查,只負責抓問題不做內容判斷,這種事交給程式比交給一句提醒可靠。
note技術細節:體檢抓到的實際問題
對已上線的 12 篇舊文章掃描一輪:11 篇自稱寫成集體式的「我」而非個人語氣;主線篇幅全數超標,從 1401 字到 3140 字不等;13 塊程式碼區塊裡有 2 塊在潤稿過程中悄悄消失或被改動,其中一段是讀者照做會直接卡住的環境變數設定;另外還有 12 條指向未公開頁面的死連結,多篇文章夾雜十幾個不該出現的裝飾符號。 實測反覆在指示裡提醒篇幅上限,AI 仍連續寫超標,因為它沒辦法邊寫邊精準計數;最後改成寫完先量字數,超標才回頭壓縮,且限定只能砍敘述、不能動保留區塊。 篇幅上限依文章類型分三檔:面向完全外部讀者的作品類最短,只有 1200 字主線;技術細節重的佐證類最寬鬆,到 2500 字。
順手接的每日彙整
同時在推進十幾個專案,忙完一段常常就跳下一個,沒空整理成筆記。於是接了一條每日排程:機器掃過各專案的版本紀錄當素材,有進度的專案就寫成一篇外行人看得懂的短文,寫進筆記庫,交給同一條管線處理。沒素材的日子就不寫,不硬湊。
現況與代價
這條管線目前每天穩定運作,我唯一的手動介入是幫封面把關、決定哪些筆記公開。代價有兩個:文字生成依賴本機登入狀態,過期整條線停擺,失敗會留在紀錄裡而非悄悄跳過,補救是登入後補跑;封面刻意保留人工把關,站上新舊文章配圖風格會有落差,這是避免生圖失敗流入公開頁而接受的取捨。
這篇複盤本身也會走過它描述的這條管線:寫完存檔、打開公開開關,接下來交給潤稿、檢查、建站、部署自動接手。
相關
- [[Nailora 美甲情報 App 複盤]] — 透過這條管線發佈的作品之一