Claude Code mod 是什麼?我不會寫程式也做了 3 個


這篇適合你嗎?(點開看)
- 已經在用 Claude Code,聽過 mod 但不確定值不值得做的人
- 不會寫程式,想知道請 Claude 寫 mod 到底能做出什麼的人
- 打算裝別人做的 mod,想先知道裝之前要檢查什麼的人
- 還沒碰過 Claude Code hook 的人,先看 Claude Code Hooks 教學:AI 會忘,鉤子不會
- 要完整安裝步驟與版本需求的人,請直接看官方文件
- 想找 mod 推薦排行榜的人,這篇只有我自己的 3 個和一個換掉的
短答給趕時間的人:mod 是 Claude Code 的一種外掛,用 JavaScript 或 TypeScript 寫的事件處理函式,跑在 Claude Code 內部,能畫介面,這是設定檔 hook 做不到的事。我不會寫程式,3 個 mod 都是描述需求請 Claude 寫的,其中幾乎每天在用的是手機授權卡。mod 裝上之後,你的電腦帳號能做的事它都能做,所以裝別人做的 mod 之前,要先看有沒有連網。我停用的那個第三方 mod,跑 claude plugin validate 會列出 $.http.fetch 和 env reads: TYPESAFE_API_KEY。
這篇是我自己的 mod 清單:裝了哪 3 個、各自解決什麼麻煩。
最後會講一個換掉的第三方 mod:我一直知道它在跑,直到 2026-10-08 晚上,壓縮對話時畫面突然印出一長串像 t12:Bash:drop_call/call=0.24/result=0.09 的數字。
Claude Code mod 是什麼?跟 hook、skill、MCP 差在哪?
mod 是 Claude Code 的一種外掛,用 JavaScript 或 TypeScript 寫的事件處理函式,跑在 Claude Code 裡面。
事件發生時,像是呼叫工具、送出提示、某塊畫面要畫出來,Claude Code 會呼叫 mod,mod 可以旁觀、改寫,或整個接手。能做的事包括在對話旁邊畫面板、在輸入框上方加一條資訊、改 Claude Code 自己畫的工具列和轉圈圈、加自訂的 / 指令。
跟你可能已經用過的幾樣東西比,差別在能不能畫介面:
- 設定檔 hook:在固定時機跑一個外部指令,能決定工具呼叫放不放行,但不能畫介面
- skill:一份 SKILL.md 說明書,改的是 Claude 知道什麼、會做什麼
- MCP:外部程式,給 Claude 多一個工具
- mod:這幾樣裡唯一能畫介面的
官方的建議是,設定檔 hook、skill、MCP 能做到的就先用這幾樣,再考慮 mod。mod 預設開啟,Claude Code 自己也附了幾個,例如讀 AGENTS.md 的那個和 /diff 面板。版本需求與詳細說明請看官方文件。
Claude Code mod 實際能做什麼?我的 3 個清單
我目前有 3 個 mod,每一個都是我描述需求、請 Claude 寫的。
清單裡的手機聊天室,指的是我自己做的手機版 Claude Code:把電腦上所有 Claude Code 與 Codex 對話排成清單,點一個就接著聊。
| 名稱 | 解決什麼麻煩 | 我實際用多少 |
|---|---|---|
| 授權卡(perm) | Claude 要按「允許」或回答選擇題時,同一張卡同時送到手機聊天室,桌機或手機誰先按算誰 | 幾乎每天都在手機上按 |
| 觀測(observer) | 每輪開始與結束回報給手機聊天室,手機才知道桌機在忙什麼 | 看不到它,但手機上的狀態靠它 |
| 本機壓縮(local-compaction) | 壓縮對話時,舊的工具輸出截短、對話原文保留,資料不送出門 | 2026-10-09 凌晨剛做好,後面會講這個換掉了誰 |
3 個裡天天用到的是授權卡,觀測在背景替手機回報狀態,本機壓縮是這次才換上的。
授權卡天天用得到,因為每天都有 Claude 停下來等我按允許的時刻。所以想做 mod 的話,先確認那個麻煩是不是每天都會遇到。
Claude Code 手機授權卡為什麼要用 mod 做,hook 不行嗎?
hook 不夠用,因為 hook 是到了時間點跑一下就結束,而授權卡需要一直待在對話裡等人回應。
我最早用的是設定檔 hook,結果就是開頭起點那句:卡片常常跳不出來、被漏掉。後來查紀錄,原因有兩個:
- 設定檔 hook 有等待時間上限,預設 600 秒,我用的就是預設值。人離開手機超過十分鐘,卡片就自動交回桌面,手機上看不到了。2026-10-07 那天我回來,就看不到卡。
- hook 每次都是重新跑起來的一支小程式,不知道自己屬於哪個對話。手機聊天室的伺服器一重啟,正在等的卡會無聲無息消失,Claude 也不知道。
10-06 搬進 mod、10-07 再改之後,變成這樣:
- mod 等網路回應的時間不算進時間預算,電腦上開的對話,授權卡現在可以在手機上等到 55 分鐘
- mod 一直待在對話裡,知道自己屬於哪個對話。桌機先按了,手機那張卡會當場收掉,顯示「已在桌面處理了」
- mod 出錯時,Claude Code 會自動退回舊的 hook,不會變成完全沒有卡
差別就在這裡:hook 是到了時間點跑一下就結束,mod 是一直待在對話裡。能不能等、記不記得自己是誰,都取決於這一點。官方的手機遙控做法有三條路,我都用過,心得放在手機遙控 Claude Code 那篇。
不會寫程式,可以自己做 Claude Code mod 嗎?
可以,我自己就不會寫程式,3 個 mod 都是描述需求請 Claude 寫的,官方文件也說可以直接在對話裡這樣做。
門檻不在會不會寫,在兩件事:知道自己要解決什麼麻煩,以及知道自己裝了什麼。
第一件要說清楚,Claude 才寫得對。做授權卡時,我說得出口的麻煩只有一句:手機上的卡常常跳不出來、被漏掉。
第二件常被略過。請 Claude 寫的 mod 一樣能做你的電腦帳號能做的所有事,寫完要弄清楚接了哪些事件、會不會連網。別人做的 mod 更是如此,下一節就是我自己的例子。
動手前先問自己兩件事:這個麻煩是不是每天都會遇到?設定檔 hook、skill、MCP 能不能解決?兩題都答「是」、「不能」,才輪到 mod。
第三方 Claude Code mod 會把資料送去哪?我停用了一個
有些會。我 2026-09-21 裝的開源 mod fast-jev-compaction,每次壓縮對話都會把內容送到外部伺服器評分。
當初裝它是為了縮短壓縮時間。Claude Code 本來的壓縮每次都要幾分鐘,對話紀錄裡 09-10 到 09-20 每次中位數約 140 秒。這個 mod 改請外部 AI 服務(TypeSafe 的 Jev 模型)替每個舊的工具呼叫打分,用不到的刪掉,對話原文保留,換上之後每次約 0.7 秒。
代價是每次壓縮都要把整段對話送出去:工具的完整輸出換成一行摘要,但提示、回覆、工具輸入都在,金鑰設在我的環境變數裡。要公平地說,這個 mod 的說明文件有寫清楚會把對話送去評分。
從 09-21 到 10-08,它在背景壓縮了 94 次,畫面上一直沒有任何紀錄。外掛本身這段期間沒更新過,比較可能的原因是 10 月初桌面 App 更新後,開始把 mod 的紀錄顯示出來。2026-10-08 晚上,壓縮時畫面突然印出一長串像 t12:Bash:drop_call/call=0.24/result=0.09 的數字,那是逐筆打分的紀錄。我當時的反應是:「為什麼最近壓縮時都會跑出一串數據?之前都不會有。」
那串數字給我的感覺,用我自己的話說是:「看起來很阿雜,感覺我的對話被汙染了,實際上沒有什麼影響,就是心理上不舒服。」
剛好 Claude Code 正式推出 mod,讓我開始想:能不能自己做一個,把 Jev 換掉?除了去掉那串文字,也能把隱私留在自己的電腦裡。
當晚我先停用這個 mod,再請 Claude 改寫成本機版,也就是表格裡的 local-compaction:用固定規則判斷,舊工具輸出截短、對話原文保留,不送任何資料出去。
換上之後,我在另一個專案第一次用。壓縮花了 0.14 秒,對話從約 43 萬 token 減到 14.4 萬,畫面上只剩一行 local-compaction: 省 32%,截短 173 筆舊工具輸出,沒寫摘要。那串打分文字沒有再出現,資料也沒離開我的電腦。目前只壓過這一次,長期用起來差在哪還要再看。
裝 Claude Code mod 之前,怎麼檢查會不會連網?
裝別人的 mod 之前,先用 claude plugin validate 看 calls 那行有沒有連網。
指令是 claude plugin validate 後面接外掛資料夾,不用先執行那個 mod。輸出的 hooks: 行列出接哪些事件,calls: 行列出要 Claude Code 做哪些事,比如讀檔、連網。我拿 fast-jev-compaction 跑,輸出有這兩行:
./fast-jev.ts calls: $.env.get (via getApiKey), $.http.fetch, $.session.compact, $.session.usage, $.settings.read (via getApiKey), $.ui.log, $.ui.toast (via notify)
./fast-jev.ts env reads: TYPESAFE_API_KEY
白話翻譯:$.http.fetch 就是會連網,env reads: TYPESAFE_API_KEY 就是會讀你的 API 金鑰。裝之前跑一次就看得到。
我請 Claude 改寫的本機版跑同一個指令,calls 那行只剩這些,沒有 $.http.fetch,也沒有 env reads,代表不連網、不讀金鑰:
./register.ts calls: $.session.compact, $.session.usage, $.ui.log, $.ui.toast
這一步值得做,因為官方文件寫得很明確:mod 沒有被隔開。有些程式會被關在隔離的小房間裡,只能碰房間裡的東西。mod 沒有這層隔離,你的電腦帳號能做的事它都能做。載入後它能:
- 讀寫你帳號能碰的任何檔案、開程式、連網
- 讀環境變數與設定檔,包括放在裡面的 API 金鑰
- 看到你送出的每一句提示和 Claude 的每個工具呼叫
- 改寫提示或工具呼叫,甚至不問你就核准工具呼叫
- 用你的方案額度呼叫模型
官方的結論只有一句:只裝信任來源的。覺得不對勁時,有三種關法:
- 在
/plugin的 Installed 分頁停用單一個 - 用
--safe-mode啟動,這次對話全部關掉 - 在 settings.json 設
"disableAllHooks": true,全部關掉
回頭看,fast-jev 跑了 17 天,畫面上從沒說過它每次把什麼送出去,後來跳出的打分紀錄也只列出刪了哪些工具呼叫。所以我的想法很簡單:裝別人的 mod 之前,先問這個 mod 把資料送去哪,再用 validate 確認。還沒碰過 hook 的話,先從Hooks 教學開始,那是 mod 的前一步。
Claude Code mod 是跑在 Claude Code 內部、能畫介面的外掛,用 JavaScript 或 TypeScript 寫成,我不會寫程式,3 個 mod 都是請 Claude 寫的,其中手機授權卡幾乎天天用。授權卡從設定檔 hook 改成 mod,是因為設定檔 hook 預設只等 600 秒、也不知道自己屬於哪個對話。mod 一直待在對話裡,電腦上開的對話,卡片現在能在手機上等到 55 分鐘。mod 裝上之後,你的電腦帳號能做的事它都能做,所以裝別人做的 mod 之前,先用 claude plugin validate 看 calls 有沒有連網。我停用的那個第三方 mod,跑 validate 就看得到會連網、會讀 API 金鑰。我換成請 Claude 改寫的本機版之後,第一次壓縮花 0.14 秒,畫面只剩一行,validate 也看不到連網。
名詞解釋
- Claude Code
- Anthropic 推出的 AI 寫程式工具,裝在自己電腦的終端機裡,能直接讀寫你的檔案、跑指令,把你用中文描述的需求做成真的網站或工具。
- hook(掛鉤)
- 在工具的固定時機(開始對話、寫完檔案、結束回合)自動執行你指定動作的機制。像是幫 AI 設「進門要換鞋」的家規,設一次每次都自動生效。
- skill(技能包)
- Claude Code 的知識外掛:一個資料夾放一份說明書(SKILL.md),教 AI 特定領域的做事方法。對到相關任務時 AI 會自己翻出來照著做。
- MCP(Model Context Protocol)
- 讓 AI 工具安全連接外部服務(瀏覽器、行事曆、資料庫)的通用接口標準,由 Anthropic 推出。
- plugin(功能包)
- 把一個或多個 skill 包起來、可以整包安裝的單位,在 Claude Code 裡用 `/plugin install` 安裝。
- context(上下文視窗)
- AI 一次能「記在腦中」的內容上限,包含你說的話、它讀的檔案跟對話紀錄。塞滿了就會忘掉前面的事,這就是長對話後 AI 開始恍神的原因。
- API 金鑰(API key)
- 服務發給你的一串密碼,程式用它證明「我有權限使用這個服務」。絕對不能公開、不能寫死在程式碼裡。
常見問題FAQ
Claude Code mod 是什麼?
mod 是 Claude Code 的一種外掛,由 JavaScript 或 TypeScript 寫的事件處理函式組成,跑在 Claude Code 內部。工具呼叫、送出提示、畫面某塊要畫出來時,Claude Code 會呼叫 mod,mod 可以旁觀、改寫或整個接手,也是唯一能畫介面的一種。
mod 跟 hook、skill、MCP 差在哪?
設定檔 hook 在固定時機跑一個外部指令,能決定工具呼叫放不放行,但不能畫介面。skill 是一份說明書,改變 Claude 知道什麼。MCP 是外部程式,給 Claude 多一個工具。mod 是唯一能畫介面的,官方建議前三者能做到就先用它們。
不會寫程式可以做 Claude Code mod 嗎?
可以。我不會寫程式,自己的 3 個 mod 都是描述需求請 Claude 寫的,官方文件也說可以直接在對話裡這樣做。門檻在於說得出要解決什麼麻煩,以及知道自己裝了什麼,不在會不會寫。
Claude Code 第三方 mod 安全嗎?
要看來源。官方文件警告,mod 沒有被隔開,能讀寫你帳號碰得到的檔案、連網、讀環境變數裡的 API 金鑰,也能看到你送出的每句提示。只裝信任來源的,裝之前先跑 claude plugin validate,看 calls 有沒有連網。
怎麼關掉或停用 Claude Code mod?
有三種。第一,在 /plugin 的 Installed 分頁停用單一個。第二,用 --safe-mode 啟動,這次對話全部關掉。第三,在 settings.json 設 disableAllHooks 為 true,全部關掉。我處理第三方 mod 時是先停用,沒有刪除。
手機授權卡為什麼用 mod,不用 hook?
設定檔 hook 預設只等 600 秒,人離開手機超過十分鐘,卡片就自動交回桌面。mod 等網路回應的時間不算進時間預算,電腦上開的對話,卡片現在可以在手機上等到 55 分鐘,桌機先按了,手機那張卡也會當場收掉。
不想錯過 Lab 的新文章?
如果內容對你有用就太好了
隨喜斗內



