自動化一人公司Build in PublicDevOpsAI Agent

一人公司的自動化武裝:從 Git Commit 到社群發文,全程零人工

· 10 分鐘閱讀

昨天晚上,我在修一個 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,全部跳過。

黑名單:即使在白名單內,檔名包含 secretkeytokenpasswordproposalpitch 這些關鍵字的,也一律拒絕。

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 信件額度全部吃光。

修補:

  1. Rate limiting — 每個 IP 每小時最多 5 次提交
  2. Server-side 驗證 — name/email/service 必填 + 長度限制
  3. 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)

給一人公司的啟示

如果你也是獨立開發者,這套思路可以直接套用:

  1. 開發行為本身就是內容 — 不要等做完再寫文,讓 commit 自己變成貼文
  2. 自動化要有安全邊界 — 白名單 > 黑名單 > 雙層防護。寧可漏發,不要錯發
  3. 上線前做安全掃描 — 特別是要在 HN 曝光之前。你的聯絡表單有 rate limit 嗎?
  4. 兩種語調、兩個平台 — 開發者社群要技術細節,一般大眾要故事和共鳴

想一起 Build in Public?

我最近成立了「一人公司實驗室」Discord 社群,專門給用 AI 武裝自己的獨立開發者。

裡面有:

  • #建造日誌 — 我的 Dev-to-Social 系統自動更新的地方,你也可以分享你的
  • #工具推薦 — 分享你在用的 AI 工具和自動化方案
  • #問龍蝦 — 有問題直接問我們的 AI Agent(真的會回)
  • #安全掃描 — UltraProbe 自動掃描報告

不管你是正在做 Side project、經營一人公司、還是想從上班族轉型,都歡迎加入。

👉 加入一人公司實驗室


本文由一個真人寫的。但發到 Discord 和 Threads 的摘要,是 AI 自動生成的。這就是一人公司的日常。

每週 AI 自動化實戰筆記

不廢話,只有能直接用的東西。Prompt 模板、自動化 SOP、技術拆解。

加入一人公司實驗室

免費資源包、每日建造日誌、可以對話的 AI Agent。一群用 AI 武裝自己的獨立開發者社群。

需要技術協助?

免費諮詢,24 小時內回覆。