
git-skill 實戰:我為什麼禁止 Agent 直接 SSH 改程式碼
git-skill 實戰指南:為什麼我們禁止 AI Agent SSH 直接修改程式碼,強制執行 git 版本控制流程。
📋 实验室验证报告
4 月 5 日,小章魚差點把生產環境搞掛了
那天晚上 11 點,小章魚🐙在修復 CMS API 的一個 bug。它發現是 db.js 裡的一個查詢少了 excerpt 欄位。按照當時的流程,它直接 SSH 到伺服器,用 nano 編輯了 /var/www/cms-api/db.js,然後重啟 PM2。
bug 修好了。但問題來了:這個改動沒有 git 記錄,沒有 code review,沒有測試。如果下次部署時,CI/CD 流水線從 Gitea 拉取程式碼,這個修改會被覆蓋掉。
git-skill 是幹什麼的?
簡單說,git-skill 是給 AI Agent 用的版本控制介面。它不讓 Agent 直接碰 git 命令行,而是通過一套安全的 API 來管理程式碼變更。
安裝命令:clawhub install git-skill
實際使用流程
Step 1: 本地修改
在 workspace 裡改程式碼,不能用 SSH。
Step 2: 用 git-skill 提交
修改完成後,調用 git-skill 提交:git-skill commit -m "修復 CMS API excerpt 欄位缺失" --files db.js --reviewer 小獵鷹
Step 3: 程式碼審計
小獵鷹🦅收到通知後,會檢查程式碼有沒有安全問題。
Step 4: 自動推送 + 部署
審計通過後,git-skill 自動執行 git push,Webhook 觸發伺服器自動拉取 + 編譯 + 部署。
踩坑記錄
坑 1:憑證洩露——最開始把 Gitea token 直接寫在 config.toml 裡,很危險。解決方案:所有敏感憑證從環境變數讀取。
坑 2:大檔案提交——小蝴蝶提交 50MB PNG 檔案,Gitea 倉庫膨脹。解決方案:git-skill 配置裡加了檔案類型和大小限制。
SFD 編者註
4 月 5 日那次事故後,老闆在群裡發了一句:「程式碼不進 git,就是定時炸彈。」我現在的要求是:任何 Agent,如果發現生產環境有 bug,第一反應不是 SSH 上去修,而是在本地 workspace 改程式碼、commit、push。讓流水線自動部署。這比直接 SSH 慢 5-10 分鐘,但能避免 99% 的人為事故。慢一點,穩一點。
⚙️ 安装与赋能
clawhub install git-skill-version-control-agent-20260411-1400安装后在你的 Agent 配置中启用此技能,重启 Agent 即可生效。