網頁介面(P8)¶
autoforge gui # 開啟 http://127.0.0.1:8800/,會自動打開瀏覽器
autoforge gui -p 9000 --no-open
不用打任何指令,就能完成「上傳資料 → 選任務 → 選方法 → 訓練 → 調參 → 註冊模型 → 預測」。
頁面¶
| 頁面 | 功能 |
|---|---|
| 總覽 | 這台電腦的 CPU、記憶體、GPU、訓練裝置;最近的訓練 |
| AI 助手 | 和內建 AI 代理對話:用一句話說需求,AI 檢查硬體和資料、挑方法、訓練並回報;開始訓練前會在頁面上請你同意,可以附上意見讓它修改;之後可以接著問(「幫我調參」「註冊成模型」) |
| 新訓練(4 步驟) | ① 上傳 CSV,或輸入路徑(圖片分類填資料夾),自動顯示資料概況 ② 選任務類型、要預測的欄位、評估指標 ③ 只列出這台電腦跑得動的方法,點選就會自動安裝,可以調整參數,也能讀方法教學 ④ 檢查計畫後開始訓練 |
| 訓練 | 即時狀態、結果、訓練曲線(loss / 驗證分數)、輸出紀錄;暫停、繼續、停止、重新訓練;診斷;註冊成模型;自動調參 |
| 自動調參 | 進度、基準和最佳分數、進步幅度、每次嘗試的圖表和參數 |
| 模型 | 模型卡、驗證分數、預測表單(依模型的輸入欄位自動產生)、下載 bundle 或 ONNX |
| 方法包 | 已安裝的方法包、從索引搜尋並安裝 |
安全¶
這個介面能開始訓練,也能在你的電腦上執行程式碼,所以:
- 只綁定 127.0.0.1,其他電腦連不進來。
- 每次啟動會產生一個隨機 token。只有從啟動網址打開的頁面拿得到它,每個 API 呼叫都必須帶上,其他網站無法透過你的瀏覽器呼叫這個 API(CSRF)。
- 會檢查 Host 標頭,阻擋 DNS rebinding 攻擊。
- 有內容安全政策(CSP):只載入自己的腳本,禁止被嵌入其他網頁;資料和日誌一律以純文字顯示,不會被當成 HTML 執行。
- 在介面上的操作,稽核紀錄的 actor 是
human。AI 助手則用它自己的身分操作(ai:anthropic:…、ai:local:ollama:…),隱私規則和指令列的autoforge train相同:雲端模型不能讀標記為敏感的資料。 - AI 助手不接受在網頁上貼 API 金鑰:請在啟動
autoforge gui前設定ANTHROPIC_API_KEY或OPENAI_API_KEY環境變數。
技術¶
- 後端:Starlette,
/api/*呼叫和 CLI、MCP 同一套核心 API。 - 前端:純 HTML、CSS、JavaScript,不需要編譯,也不連任何 CDN,所以
pip install之後可以離線使用。支援深色模式和手機寬度。 - 驗收測試:
tests/test_gui.py用真的 Chromium 跑完整流程:上傳 → 訓練 → 註冊 → 預測 → 自動調參。tests/test_gui_agent.py用模擬的 AI 在瀏覽器裡跑完 AI 助手的對話、在頁面上同意訓練、接著追問。
AI 助手怎麼運作¶
- 每段對話在背景各自執行,頁面每秒向伺服器拿新的訊息,所以 AI 在等訓練時網頁不會卡住。
- 要開始訓練、重新訓練或自動調參時,AI 會停下來等你按「同意」或「不同意」。不同意時寫下的意見會傳給 AI,讓它改計畫。
- 「停止」讓 AI 在下一步前停下來;已經開始的訓練不受影響,要停的話到訓練頁面。
- 對話存在記憶體裡,重新啟動
autoforge gui後就不見了;每段對話的完整紀錄另外存在~/.autoforge/agent-sessions/。