Goose + Ertas
使用 Goose 建構程式編寫代理——這是 Block 的開源代理,可在桌面執行並具備可擴充工具系統,可設定為呼叫本地執行的 Ertas 訓練程式碼模型,實現零成本工程自動化。
Overview
Goose 是 Block 的開源程式編寫代理,最初在 Cash App 與 Square 工程內部開發,並於 2025 年發布給更廣大的社群。它設計為在開發者機器上本地執行、連接使用者偏好的任何模型,並透過基於 Model Context Protocol(MCP)的可擴充工具系統自動化工程任務。Goose 直接與 Cursor 與 Windsurf 等閉源競爭者對位——同樣的程式編寫代理價值主張,但為開源且可自帶模型。
框架的定義特徵是可擴充性與模型無關性。Goose 的工具(稱為「extensions」)是 MCP 伺服器,這代表任何 MCP 相容工具——檔案系統存取、GitHub API、JIRA 整合、自訂公司工具——都可加入代理而無需修 改 Goose 本身。模型層可跨 Anthropic、OpenAI、Google、AWS Bedrock、Databricks 與任何 OpenAI 相容端點設定,包括本地 Ollama 與 vLLM 伺服器。
對於希望獲得 Cursor 風格生產力但無需按席位訂閱費用、且不將程式碼庫送往第三方 API 的團隊,Goose 是最有公信力的開源路徑。MCP 可擴充性、模型彈性與桌面原生部署的組合,使其對具強烈程式碼保密需求的工程組織特別有吸引力。
How Ertas Integrates
Ertas 訓練的程式碼模型透過 Goose 的 OpenAI 相容模型 provider 與其協同運作。在 Studio 微調程式碼專屬模型(Qwen3-Coder-Next、CodeLlama、StarCoder 或自訂基底)並匯出為 GGUF 後,你透過 Ollama 或 vLLM 提供服務,並設定 Goose 呼叫你的端點。Goose 的程式編寫代理迴圈、MCP extension 與工具呼叫都會對你的微調模型執行。
這個組合對於有程式碼庫專屬模式的工程團隊特別有價值。通用程式碼模型產出遵循通用慣例的程式碼;而訓練資料包含團隊實際程式碼、測試與審查模式的 Ertas 訓練模型,則產出契合程式碼庫風格、正確使用程式碼庫內部函式庫、並遵循團隊特定測試慣例的程式碼。對於擁有大量內部程式碼的團隊,生產力差距是有意義的——契合本地模式的自動完成與代理產生程式碼可降低審查負擔並改善 merge 率。
對於需要因法規或 IP 保護理由採用本地端開發工具的企業,Goose + Ertas 訓練模型 + 本地基礎設施完全消除了雲端相依性。沒有程式碼離開大樓、沒有 API token 計費,且代理會隨時間進步,因為團隊的軌跡會回饋到 Studio 進行漸進式微調。
Getting Started
- 1
在 Ertas Studio 微調程式碼模型
使用程式碼專屬基底(Qwen3-Coder-Next、CodeLlama、Devstral 2)。在你的程式碼庫、內部函式庫、測試模式與程式碼審查歷史上訓練。Studio 原生處理程式碼 token 訓練格式。
- 2
部署到 OpenAI 相容端點
匯出為 GGUF 並透過開發機、建置伺服器或共用 GPU 主機上的 Ollama 或 vLLM 提供服務。Goose 可呼叫任何 OpenAI 相容端點。
- 3
安裝 Goose 並設定 provider
安裝 Goose 桌面用戶端。在設定中,將 provider 設為「openai」,base URL 指向你的 Ertas 推論端點與你的模型名稱。
- 4
為你的工具加入 MCP extension
Goose 的工具是 MCP 伺服器。加入檔案系統、GitHub、JIRA 與自訂公司工具的 extension。每個獨立設定,代理會自動拾取。
- 5
使用 Goose 進行程式編寫任務並回饋軌跡
對工程任務執行 Goose:重構、撰寫測試、修 bug、程式碼審查。追蹤資料擷取你團隊重視的模式,並回饋到下一輪 Studio 微調。
# ~/.config/goose/config.yaml — point Goose at your Ertas-trained code model
provider: openai
model: ertas-codebase-specialist-14b
openai:
base_url: http://localhost:11434/v1
api_key: not-needed
extensions:
- name: developer
type: builtin # filesystem, shell, etc.
- name: github
type: stdio
cmd: npx
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_TOKEN: ${GITHUB_TOKEN}
- name: company-jira
type: sse
url: http://internal-tools/mcp/jira/sse
# Run from terminal:
# goose session --name "feature-XYZ"
# > Add a rate limiter to the public API endpoints. Follow our middleware patterns.Benefits
- 開源程式編寫代理——無按席位訂閱費用
- 可自帶模型——可與任何 OpenAI 相容端點協同運作
- 基於 MCP 的可擴充性——可加入任何公司工具而無需修改 Goose
- 桌面原生——你的程式碼留在你的機器上
- 與微調程式碼模型自然搭配,獲得程式碼庫專屬能力
- 對於有程式碼保密或 IP 保護需求的企業而言契合度強
- 由 Block 工程投資支持的活躍開發
Related Resources
Fine-Tuning
GGUF
Inference
LoRA
From Cursor to Production: Deploying AI Features Without Vendor Lock-In
Fine-Tuning for Tool Calling: How to Build Reliable AI Agents with Small Models
Building Reliable AI Agents with Fine-Tuned Local Models: Complete Guide
Aider
Continue.dev
Cursor
Ollama
Windsurf
Ertas for SaaS Product Teams
Ertas for Code Generation
Ship AI that runs on your users' devices.
Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.