為什麼需要自定義 Agent
Laravel Boost 內建支援 Claude Code、Cursor、Codex、GitHub Copilot(VS Code)等主流 AI 編碼工具。但若要適配公司內部工具、新興 AI Agent 或獨立的工作流,就需要使用 Boost 的擴充套件機制來實現自定義 Agent。 自定義 Agent 適用的場景:- 使用 Boost 尚未支援的 IDE 或 AI 工具
- 希望將 Boost 整合到公司內部開發流程或自有 CI/CD 流水線中
- Agent 擁有獨立的配置檔案格式或安裝步驟
Boost 的擴充套件架構
Agent 基類
所有 Agent 都繼承Laravel\Boost\Install\Agents\Agent。該抽象類提供的能力:
- Agent 的檢測(系統級 / 專案級)
- MCP 伺服器的安裝(基於檔案 / 基於 Shell 命令)
- 指南(Guidelines)的轉換鉤子(
transformGuidelines)
3 個契約
為按需啟用 Boost 的功能,只需實現下面所需的契約。這 3 個契約都是可選的。也可以只支援指南而不支援 MCP。
SupportsGuidelines 契約
guidelinesPath() 返回生成的指南要寫入的路徑。例如 Claude Code 是 CLAUDE.md,Cursor 是 .cursor/rules/laravel-boost.mdc,需要匹配 Agent 讀取的格式。
transformGuidelines() 是對生成後的 Markdown 進行加工的鉤子。可以新增 Agent 專屬頭部或轉換為特殊格式。Agent 基類的預設實現原樣返回字串。
SupportsMcp 契約
Agent 基類已提供 installMcp() 與 installHttpMcp() 的預設實現,多數情況下只需覆蓋 mcpInstallationStrategy() 與 mcpConfigPath() 即可。
安裝策略有兩種:
SupportsSkills 契約
.claude/skills,Cursor 是 .cursor/skills,需要匹配 Agent 的規範。
建立自定義 Agent
下面我們來實現一個獨立的 Agent 類。這裡以嵌入自有 CI/CD 工作流的虛構 Agent「MyAgent」為例。1
建立 Agent 類
建立
app/Boost/MyAgent.php。systemDetectionConfig() 與 projectDetectionConfig() 用於 Boost 在系統與專案中自動檢測 Agent。執行 boost:install 時會自動把匹配的 Agent 顯示為候選。2
註冊 Agent
在 註冊後執行
App\Providers\AppServiceProvider 的 boot 方法中註冊自定義 Agent。php artisan boost:install,MyAgent 就會出現在選項中。3
驗證
MYAGENT.md、.myagent.json 與 .myagent/skills/。指南的自定義
guidelinesPath 的設定
不同 Agent 讀取指南檔案的位置不同。需要 frontmatter 的 Agent
對於像 Cursor 的.cursor/rules/*.mdc 這種需要 frontmatter 的格式,讓 frontmatter() 返回 true。
指南的後處理
可以使用transformGuidelines() 加工生成後的 Markdown。
新增自定義 AI 指南
要向 Boost 的指南中追加專案特有的規則,可以把 Blade 檔案放入.ai/guidelines/ 目錄。
boost:install 後,這些指南會自動與 Boost 內建指南合併輸出。
覆蓋內建指南
若把自定義檔案放在與 Boost 內建指南相同的路徑下,將優先使用你的檔案。新增自定義 Skill
建立 SKILL.md
在.ai/skills/{Skill 名}/SKILL.md 中定義 Skill。
SKILL.md 由 YAML frontmatter 與 Markdown 指令構成。
生成發票 PDF
PDF 透過barryvdh/laravel-dompdf 生成:
覆蓋內建 Skill
如果使用與 Boost 內建 Skill 相同名字建立自定義 Skill,將覆蓋內建版本。為第三方包新增 Boost 支援
要為自己的包新增 Boost 支援,將配置檔案放到包的resources/boost/ 目錄下即可。
新增指南
新增 Skill
php artisan boost:install 時,這些指南與 Skill 會自動被檢測並展示為可安裝物件。
實戰示例:面向自研 CI/CD Agent 的自定義 Agent
下面是嵌入公司 CI/CD 流水線的虛構 Agent「PipelineAgent」的完整實現示例。該 Agent 僅支援指南,不支援 MCP 與 Skill。AppServiceProvider 中註冊:
參考連結
ClaudeCode.php — 官方實現示例
可從原始碼檢視隨 Boost 附帶的 ClaudeCode Agent 的完整實現。
Agent Skills
可參考 SKILL.md 的格式規範與最佳實踐。
Laravel Boost Custom Agent for GitHub Copilot CLI
同時支援 Copilot CLI 與 Testbench 的公開包實現示例
Laravel Boost Custom Agent for PhpStorm with GitHub Copilot
面向 PhpStorm GitHub Copilot 外掛的公開包實現示例