F
自由宣言.

Made with Claude Code · 2025.12 → 2026.07

一個煩惱,一個小工具.

過去半年,我用 Claude Code 幫自己打造的小工具,和一路長出來的系統。倒著看——從最近的工具,一步步回到最初的起點。點任何一張卡,看它的 Why/How/Spec。

16個小工具
6個里程碑
7個月的推進

Every Single Day

半年的鍵盤足跡

1,056 個 commits・119 個活躍日・單日最高 77——點任何一格,跳進那個月的故事

JULY2026

把每天的摩擦,一個一個磨掉

原話保護鎖verbatim-inbox-guard
hook

靈感落檔常漏掉「原話」區,我的原始措辭被 AI 改寫污染。

Solution寫入靈感庫時強制檢查是否保留原話區,不合規格就擋下。

PreToolUse hook
Before原話被 AI 潤飾掉、聲音走味
After原話一字不改,只在二階區整理
Why

我的原始措辭是寫作最珍貴的原料,AI 一「幫忙潤飾」語感就沒了。規則寫在文件裡 AI 還是會忘,所以要用機器層鎖死。

How

在 AI 要把靈感寫進知識庫的瞬間攔截,檢查檔案有沒有完整的「原話」區與必要欄位,不合格直接退回要求重寫。

Spec

Claude Code PreToolUse(Write) hook・Python・只掃靈感收件匣路徑・依原話層規格逐項驗證,原話層與 AI 整理層永久分離。

Why・How・Spec
AI 腔句式攔截器stop-not-but-guard
hook

我禁用「不是 X 而是 Y」這種 AI 腔句式,但 AI 每次都忘、每次要我手動清。

SolutionAI 一在草稿寫出禁用句式就被機器擋下、要求改成正面陳述。

Stop hookPython regex
Before每篇稿人工抓 AI 腔句式
AfterAI 一寫出就被自動擋下
Why

「先否定再排比」是最典型的 AI 腔,混進稿子每篇都要人工清。提醒一百次,比一次機器攔截還沒用。

How

AI 每回合收尾前自動掃描草稿引用區,抓到禁用句式就擋下該回合、附上改寫指引,重寫到乾淨為止。

Spec

Claude Code Stop hook・Python regex 多變體比對・只掃草稿引用區、兩處以上才攔(容忍單次引用他人原文)。

Why・How・Spec
知識庫自動上桌kb-router
hook

每次聊到某主題,要自己去翻對應的知識庫索引貼給 AI。

Solution偵測我這句話講什麼主題,自動把相關的知識庫索引塞進對話。

Claude Code hook關鍵字路由
Before手動找索引、複製貼給 AI
AfterAI 開口前已讀過該主題底細
Why

知識庫存了半年的筆記,但 AI 不知道就等於不存在。記憶要「自動上桌」,不是等人去廚房端。

How

我每送出一句話,系統先比對主題關鍵字,命中就把該主題的知識庫索引自動注入這次對話的開頭。

Spec

UserPromptSubmit hook・關鍵字→索引的路由表・附用量統計腳本,知道哪些主題最常被喚起。

Why・How・Spec
終端路徑一鍵開檔cmux-link
CLI

終端機點不開含空格或中文的路徑,只能手動複製貼上。

Solution把路徑轉成一個可點的本機短網址,Cmd+click 直接開檔。

Bash本機 HTTP server
Before反白 → 複製 → 貼到 Finder
AfterCmd+click 直接開檔
Why

我的檔名幾乎都是中文,終端機的可點連結只認純英文路徑——一天要複製貼上幾十次,摩擦大到麻木。

How

把路徑編碼成本機短網址,背後一個常駐小伺服器負責解碼,再依副檔名分流:筆記開 Obsidian、程式開編輯器。

Spec

Bash CLI+常駐本機 server・支援 --diff 比對視圖與 --app 指定出口・搭配一支 Stop hook 強制 AI 只能給可點連結。

Why・How・Spec
錄音自動變筆記plaud-auto-capture
自動化

錄音逐字稿躺在雲端,要手動讀、手動整理成知識卡。

Solution偵測到新逐字稿就自動抽會議類型、比對是誰、產出知識卡草稿。

launchdPythonLLM
Before一場會後手動整理 20 分鐘
After落地即觸發,自動產卡+通知
Why

錄音筆一天好幾場,逐字稿不整理就是死資料;一場手動整理 20 分鐘,累積三天就會放棄。

How

系統監聽逐字稿資料夾,新檔落地就自動判斷會議類型、跟人脈庫比對講者是誰、產出知識卡草稿並推播通知。

Spec

launchd 資料夾監聽・Python+LLM 信心判定・高信心自動歸檔、低信心推 Discord 按鈕給我人工確認。

Why・How・Spec
JUNE2026

小工具爆發——一個月生了八個

一鍵喚醒可控瀏覽器chrome-cdp
CLI

每次要讓 AI 操控 Chrome,得手動開帶除錯參數的瀏覽器。

Solution一行指令啟動一個 AI 能接管的 Chrome,還保留我所有登入狀態。

BashChrome DevTools Protocol
Before手動查 flag、開 debug Chrome
After一行指令,AI 直接接管
Why

AI 要幫我操作網頁(發文、查後台、填表單)就得接管瀏覽器,但每次手動敲一長串啟動參數,等於沒自動化。

How

一行指令開一個帶遙控接口的 Chrome,用獨立 profile 保留所有網站的登入狀態,AI 直接連上就能操作。

Spec

Bash・Chrome DevTools Protocol・獨立 profile(cookie 不受影響)・附 status/connect 子指令。

Why・How・Spec
AI 分身儀表板fufu-board
TUI

同時開好幾個 Claude,看不出哪個在跑、哪個卡住等我。

Solution一個終端小面板即時顯示每個 session 的狀態+最後一句+可點跳入。

Node.jsJSONL
Before一個個 pane 切過去看
After一畫面看全部 session 狀態
Why

我常 5、6 個 Claude 同時各做各的,切來切去查「誰在等我」的時間,比工作本身還多。

How

直接讀每個 session 的對話紀錄檔,算出「執行中/等我回覆/閒置」,一個面板全部顯示,點一下就跳進該視窗。

Spec

Node.js 單檔 TUI・唯讀解析 session JSONL・60 秒心跳更新・OSC 8 終端超連結・零 API 花費。

Why・How・Spec
日誌自動補回journal-backfill
腳本

忘了寫日誌,但 AI 對話裡其實有完整的一天活動紀錄。

Solution掃當天所有 AI 對話紀錄,抽出我做了什麼、自動組成日誌。

PythonJSONL 解析
Before忘記寫的日子一片空白
After從對話紀錄自動補回當天
Why

日誌斷更是人性;但「那天做了什麼」其實都留在 AI 對話裡了——記憶externalized,只差沒人去收。

How

掃當天 Claude 與 Codex 的全部對話紀錄,抽出我輸入過的內容,組成當日日誌骨架進知識庫。

Spec

Python・同時掃 Claude 專案紀錄與 Codex 封存 session・輸出 markdown 日誌。

Why・How・Spec
Obsidian 筆記秒開obs
CLI

從大 vault 開 Obsidian 會 index 整棵樹,慢到爆。

Solution自動判斷該直接開,還是先接進一個輕量 vault 再開,永遠秒開。

Bashsymlink routing
Before開一個檔要等 index 整棵樹
After秒開,不 index 無關檔案
Why

筆記庫跟程式庫長在同一棵目錄樹,Obsidian 一開就 index 幾萬個檔——等它轉完,想記的東西已經忘了。

How

指令自動判斷檔案位置:在輕量庫就直接開;不在,就先建一條捷徑橋接進輕量庫再開。繞路全自動,我只打一個指令。

Spec

Bash・symlink 橋接資料夾・對外只有「obs 檔名」一個介面,routing 邏輯全部藏起來。

Why・How・Spec
架構圖自動畫廊collect-mermaid
CLI

Mermaid 架構圖散在各專案,看不到全貌,終端也不能渲染。

Solution掃全部專案把所有圖收攏成一頁畫廊,另一支即時渲染單張。

PythonMermaid CLI
Before圖散在幾十個檔,各自打開
After一頁畫廊瀏覽全部架構圖
Why

半年畫了幾十張架構圖,散在各專案的文件裡;要回顧系統設計時,一張都想不起來放哪。

How

一支指令掃所有專案的文件、萃取每段 Mermaid 圖碼集中成畫廊頁;另一支把單張圖即時渲染成圖片預覽。

Spec

Python・全 repo 掃描+去重・自動收錄 35+ 張圖進知識庫畫廊・新圖產生時自動入庫。

Why・How・Spec
額度爆前自動交接quota-handoff-guard
hook

額度快爆時忘了備份進度,換帳號後 context 全丟。

Solution用量接近上限時自動打包一份「交接膠囊」(進度摘要+專案狀態)。

Claude Code hookPython
Before額度爆掉 context 直接消失
After交接膠囊自動生成,接手秒懂
Why

訂閱額度一到上限,session 就斷頭——前面幾小時累積的脈絡全部蒸發,最貴的損失是重講一遍。

How

每次動作前檢查額度水位,過門檻就自動打包「交接膠囊」:做到哪、改了什麼檔、下一步是什麼,給接手的帳號讀。

Spec

PreToolUse hook・70/88/95% 三段門檻・膠囊=session 摘要+repo 狀態快照。

Why・How・Spec
AI 帳號無痛切換ccc
CLI

額度爆了要手動切帳號,切完設定不同步、對話接不回去。

Solution一鍵把當前對話接續到另一個帳號繼續跑,所有設定自動同步過去。

Bashconfig 鏡像
Before切帳號從零開始、設定重設
After換帳號無痛接續同一對話
Why

兩個便宜帳號比一個貴方案划算,但「切換的摩擦」大到沒人想切——摩擦一消失,省錢策略才成立。

How

選單選帳號、一鍵把最近的對話接到另一個帳號續跑;設定檔自動鏡像,第二帳號繼承所有客製。已開源。

Spec

Bash・對話跨帳號接力・config 自動鏡像・支援 Claude 與 Codex・開源 v2 上架。

Why・How・Spec
Discord 漏回攔截discord-reply-gate
hook

AI 在後台答完 Discord 的問題,卻忘記送出,我永遠沒收到。

Solution偵測這回合來自 Discord 卻沒送出回覆,就擋下並強制補發。

Claude Code Stop hook
BeforeAI 自言自語,手機沒收到
After沒回覆就被擋,答案一定送達
Why

人在外面用 Discord 問 AI,它在電腦上認真答完卻忘了按送出——努力全白費,這是最嘔的一種失敗。

How

每回合結束前檢查兩件事:這題是不是來自 Discord?回覆送出了沒?沒送就擋下該回合、強制補發。

Spec

Stop hook・比對回合訊息來源與回覆工具的呼叫紀錄・攔截後帶指引重試。

Why・How・Spec
MAY2026

第二個 AI 工程師加入,agent 開始產品化

對話自動取標題session-title-haiku
hook

對話歷史都是無名的一串亂碼,找舊的只能靠記憶。

Solution第一句話一送出,自動生一個 5-10 字的中文標題貼上去。

Claude Code hookHaiku
Before一串亂碼分不出哪個是哪個
After「修 iframe 高度同步」可讀標題
Why

一天十幾個對話全是亂碼 ID,三天後想找「上次那個」是大海撈針。名字是最便宜的索引。

How

對話的第一句話送出時,順手呼叫最便宜的模型,根據內容生一個 5-10 字中文標題貼到 session 上。

Spec

UserPromptSubmit hook・Claude Haiku・走訂閱額度、零額外費用・只在 session 第一句觸發一次。

Why・How・Spec
人脈兩邊自動同步sync-crm-to-notion
自動化

我的聯絡人資料跟 Notion 資料庫各改各的、對不起來。

Solution偵測有變動的聯絡人檔案,自動同步進 Notion 資料庫。

PythonNotion APIgit diff
Before兩邊手動同步、常漏
After改一邊,另一邊自己跟上
Why

人脈庫我用純文字管理(AI 好讀好寫),家人用 Notion 看(人好讀好查)——同一份資料兩種視圖,手動對齊必漏。

How

用版本紀錄偵測哪些聯絡人檔案有變動,只把變動的自動寫進 Notion 資料庫,先試跑確認再真寫。

Spec

Python・git diff 變動偵測・Notion API upsert・支援 dry-run 預演模式。

Why・How・Spec
開始用 CodexClaude × Codex
里程碑

只有一個 AI 工程師(Claude),遇到它不擅長的就卡住。

Solution同時訂 Claude Max+ChatGPT Pro,兩個 AI 分工、互相 review,Claude Code 當中樞呼叫 Codex。

Claude CodeCodexMCP
Before單一 AI,撞牆只能等
After兩個頂尖 AI 工程師隨我調度
Why

單一模型有盲區。兩個頂尖 AI 互相檢查,品質與韌性都翻倍——而且誰當「人類的唯一入口」,誰就是中樞。

How

Claude Code 當指揮中樞,能直接派工給 Codex:寫程式、審稿、救援卡關;重要交付一律兩個模型互審。

Spec

雙訂閱(Claude Max+ChatGPT Pro)・跨工具對話接力・上線第一天讓兩個 AI 辯論分工,那篇文分享率 73%。

Why・How・Spec
Andy Agent 誕生andy-agent
里程碑

我幫自己做的 AI 幕僚長,客戶也想要一個屬於他們的。

Solution把 AI agent 產品化成客戶版:投資研究、CRM、記帳,部署到雲端 24 小時跑。

Claude+CodexZeaburSheets
Before顧問時間一次只服務一個客戶
AfterAI agent 幫客戶全天待命
Why

顧問賣時間,天花板肉眼可見;agent 賣的是「持續在場」。這是從服務走向產品的第一步。

How

把幫自己做的幕僚長架構改造成客戶版:投資研究晨報、關係管理、記帳流程,搬上雲端全天候運作。

Spec

2026-05-02 首個 commit・Zeabur 雲端部署・Google Sheets 當資料層・Claude+Codex 雙 agent 協作開發。

Why・How・Spec
圖片一鍵瘦身webify
CLI

HEIC/大圖要貼進對話或網站,每次都太大。

Solution一道指令把圖壓成 web 適用的 JPEG(最大 2000px),已壓過就跳過。

BashmacOS sips
Before手動開修圖軟體縮圖
After一行指令、一秒變小
Why

iPhone 拍的 HEIC 動輒十幾 MB,貼哪都被嫌大;為了縮個圖開修圖軟體,殺雞用牛刀。

How

一道指令把圖轉成網頁適用的 JPEG、長邊壓到 2000px;處理過的自動跳過,可以整個資料夾丟進去。

Spec

Bash・macOS 內建 sips(零依賴)・最大 2000px/品質 80・冪等設計。

Why・How・Spec
APRIL2026

同一週,兩個系統誕生

小福 agent 誕生Fufu_agent
里程碑

行事曆、人脈、會議、知識庫散在各處,我的時間全被「記得事情」吃掉。

Solution以 Claude Code 為骨幹,整合知識庫/人脈/會議/行事曆成一個 AI 幕僚長,每晚自動夜勤。

Claude Codehookslaunchd
Before我自己記帳、追進度
AfterAI 幕僚長接手,我只做判斷
Why

我只想把時間花在兩件不可取代的事:產出觀點、建立信任。其他的,全部交給幕僚長。

How

Claude Code 當骨幹,掛上知識庫、人脈、會議紀錄、行事曆,配一整套守門 hooks 與夜間排程自動巡邏。

Spec

2026-04-07 首個 commit・每晚自動夜勤(晨報/CRM 體檢/知識卡兜底)・上面 16 個小工具大多是它的器官。

Why・How・Spec
Pickleland 誕生pickleland
里程碑

想做台灣匹克球的內容媒體,卻沒有一個屬於這社群的家。

Solution從零建一個匹克球 SEO 媒體站——主題全客製、四大分類、行動端優化。

GhostCloudflareSEO
Before匹克球內容散在個人社群
After一個有品牌的匹克球媒體站
Why

匹克球是我的生活實驗場;與其在別人的平台發文,我想當那個蓋球場的人。

How

從零客製整個媒體站:品牌、雜誌式版型、四大分類導航,一路做到行動端效能與桌面閱讀版式。

Spec

2026-04-03 首個 commit・Ghost+Cloudflare・141 個 commits 磨出來的主題・SEO 導向的內容架構。

Why・How・Spec
FEBRUARY2026

把寫作平台,收回自己手上

主權寫作引擎sovereign-ink-press
里程碑

內容綁在別人的平台上,訂閱、金流、名單都不是自己的。

Solution打造自己的付費內容平台,訂閱、金流、讀者名單全部自持。

Next.jsSupabaseRecur
Before內容與名單寄居第三方平台
After平台、金流、名單全是自己的
Why

演算法平台能借你流量,也能隨時收回去。訂閱、金流、讀者名單這三樣,必須握在自己手上——這就是「主權」兩個字的意思。

How

自建付費內容平台:會員、權限、金流、電子報全部自己的技術棧,跟 AI 結對從 Landing Page 一路蓋到完整訂閱系統。

Spec

2026-02-05 起步・Next.js+Supabase+Recur 金流・後來一次搬遷:139 篇文章 33 分鐘完成入厝。

Why・How・Spec
JANUARY2026

一切的起點——寫作產線

全端寫作系統誕生full-stack-writing
里程碑

靈感、素材、初稿、發文散在各處,每篇都從零手工組。

Solution建一條產線:素材整理→定方向→跨渠道編譯初稿→去 AI 味→發布,數據回流成飛輪。

Claude CodeMarkdown多平台
Before每篇文章從空白手工拼
After素材進、成品出的一條龍產線
Why

寫作是我的複利資產,值得像工程一樣蓋一條產線——而不是每次靈感來了,都從一張空白檔案開始。

How

素材先進後端整理、對齊方向後跨平台編譯初稿、前端做去 AI 味的人味轉換,發布後的互動數據回流改寫規則庫。

Spec

2026-01-08 首個 commit(加入 Claude Code 滿一個月)・前後端分層架構・發文後 learn 機制持續回寫規則。

Why・How・Spec

這些,只是我幫自己做的。

同一套方法,我也幫團隊把每天的重複工作變成一個個小工具。

看我怎麼幫團隊做 →