一人公司的自動化武裝:從 Git Commit 到社群發文,全程零人工
昨天晚上,我在修一個 rate limit 的 bug。
修完之後 git commit,然後就去睡了。
今天早上起來,發現 Discord 的 #建造日誌 頻道已經自動出現了一則貼文,用繁體中文描述了我昨晚做了什麼、為什麼重要。Threads 上也同步發了一則公開版本。
我完全沒有手動發過任何東西。
這就是我這週末建的系統:Dev-to-Social Pipeline — 從 git commit 到社群發文,全自動。
為什麼要做這個
做一人公司最大的矛盾:你既是工程師也是行銷。
每天結束工作後,你知道應該要發一則 "build in public" 更新,分享你今天做了什麼。但你已經累了,根本不想再打開 Threads 寫東西。
結果就是:你做了很多事,但沒有人知道。
我想解決的問題很簡單:讓開發本身就是行銷素材的來源。
架構:三層自動化
Layer 1: Dev-to-Social(每 2 小時)
監控 3 個 Git repo → 偵測新 commit
→ 過濾:只有 feat: 開頭的才發
→ AI Agent 生成兩個版本:Discord(開發者語調)+ Threads(大眾語調)
→ 自動發布到 Discord #建造日誌 + Threads
Layer 2: Nightly Auto-Commit(每晚 23:30)
掃描 3 個 repo → 找出今天新寫的 blog 文章
→ 白名單過濾(只 commit content/blog/*.md)
→ 自動 commit + push
→ 觸發 Layer 1 的偵測
Layer 3: 安全防護
黑名單:含 secret/key/token/proposal 的檔案一律拒絕
白名單:只有 blog 目錄的 .md 才自動 commit
什麼都沒做的晚上 → 零動作
整個流程:寫 code → commit → 社群自動更新。 中間不需要任何人工操作。
最危險的部分:安全
做自動化最怕的不是「沒發出去」,是「不該發的東西被發出去了」。
我的 repo 裡面有:
.env環境變數(API key)pitch-deck/客戶提案content/coco-proposal-internal.md內部報價
如果 nightly auto-commit 傻傻地 git add -A,這些全部會被推上 GitHub。
所以我設計了雙層防護:
白名單:只有 content/blog/*.md 會被自動 commit。其他任何路徑的檔案,不管是 .tsx、.ts、.json,全部跳過。
黑名單:即使在白名單內,檔名包含 secret、key、token、password、proposal、pitch 這些關鍵字的,也一律拒絕。
Dry-run 測試結果:repo 裡 50+ 個變更檔案,只有一個 blog 文章通過。其他全被擋。
✅ SAFE: content/blog/gemini-billing-trap.md
❌ BLOCKED by blacklist: .env.prod.tmp (matched: .env)
❌ BLOCKED by blacklist: ULTRAPROBE_API_KEY.txt (matched: key)
❌ BLOCKED by blacklist: content/coco-proposal-internal.md (matched: proposal)
❌ BLOCKED by blacklist: pitch-deck/ (matched: pitch)
❌ BLOCKED by whitelist: src/App.tsx (not in safe patterns)
❌ BLOCKED by whitelist: api/notify.ts (not in safe patterns)
... 還有 44 個檔案全被擋
什麼都沒幹的晚上呢?git status 看到沒有變更,直接結束,不做任何事。
順便修了一個安全漏洞
在建這套系統的過程中,我順便做了一次安全掃描(因為我打算把網站發到 Hacker News)。
結果發現:聯絡表單的 API endpoint 沒有 rate limiting。
也就是說,任何人可以寫一個迴圈,一秒打 1000 次我的聯絡表單,把我的 Telegram 通知和 Resend 信件額度全部吃光。
修補:
- Rate limiting — 每個 IP 每小時最多 5 次提交
- Server-side 驗證 — name/email/service 必填 + 長度限制
- HTML sanitization — 防止透過表單注入惡意 HTML 到我的 Telegram 訊息
這個漏洞在一般情況下不太會被利用,但如果你的網站上了 Hacker News 首頁... 你懂的。
Dev-to-Social 的內容生成邏輯
不是每個 commit 都值得發社群。我的過濾規則:
| Commit 類型 | 動作 |
|---|---|
feat: 開頭 |
一定發(新功能有話題性) |
fix: + security/critical |
發(踩坑故事有價值) |
fix: 一般修復 |
跳過 |
chore:、docs: 等 |
跳過 |
通過過濾的 commit 會送給 AI Agent,生成兩個版本:
Discord 版(給開發者社群):
🔧 修掉了聯絡表單的 rate limit 漏洞。之前任何人可以無限打 /api/notify,現在每 IP 每小時限 5 次。順便加了 HTML sanitization,防止有人透過表單注入惡意程式碼到我的 TG 通知。
Threads 版(給一般大眾):
今天發現自己網站有個安全漏洞 — 聯絡表單可以被無限打爆。花了 30 分鐘修好:加了流量限制、輸入驗證、還有防注入。一人公司連資安都要自己來 😂 #一人公司 #BuildInPublic #獨立開發者
同一件事,兩種語調,兩個平台,零人工。
數字
| 指標 | 數值 |
|---|---|
| 監控的 Git repo | 3 個 |
| 偵測頻率 | 每 2 小時 |
| Auto-commit 頻率 | 每晚 23:30 |
| 安全過濾的檔案數 | 50+ 個被擋,只有 blog 通過 |
| API 修補的漏洞 | 1 個(rate limit + sanitization) |
| 整套系統的成本 | $0(全部跑在家裡的 WSL2) |
給一人公司的啟示
如果你也是獨立開發者,這套思路可以直接套用:
- 開發行為本身就是內容 — 不要等做完再寫文,讓 commit 自己變成貼文
- 自動化要有安全邊界 — 白名單 > 黑名單 > 雙層防護。寧可漏發,不要錯發
- 上線前做安全掃描 — 特別是要在 HN 曝光之前。你的聯絡表單有 rate limit 嗎?
- 兩種語調、兩個平台 — 開發者社群要技術細節,一般大眾要故事和共鳴
想一起 Build in Public?
我最近成立了「一人公司實驗室」Discord 社群,專門給用 AI 武裝自己的獨立開發者。
裡面有:
- #建造日誌 — 我的 Dev-to-Social 系統自動更新的地方,你也可以分享你的
- #工具推薦 — 分享你在用的 AI 工具和自動化方案
- #問龍蝦 — 有問題直接問我們的 AI Agent(真的會回)
- #安全掃描 — UltraProbe 自動掃描報告
不管你是正在做 Side project、經營一人公司、還是想從上班族轉型,都歡迎加入。
本文由一個真人寫的。但發到 Discord 和 Threads 的摘要,是 AI 自動生成的。這就是一人公司的日常。