配置
自訂模式
透過建立具備專門角色、工具限制和團隊工作流程的自訂模式來調整 Bob 的行為。你可以使用 YAML 格式進行全域設定或依專案設定。
為什麼使用自訂模式
- 專業化:針對特定任務(如文件撰寫、測試工程或安全審查)優化模式
- 安全性:限制敏感操作的命令或檔案存取
- 團隊協作:在團隊中共享標準化工作流程
- 實驗:測試不同的配置而不影響其他模式
模式元件
| 元件 | 說明 |
|---|---|
| Slug | 內部使用和用於特定於模式的指示檔案的唯一識別碼 |
| Name | 在 Bob 介面中顯示的顯示名稱 |
| Role definition | 定義 Bob 個性和行為的核心身份和專業知識 |
| When to use | (可選)何時使用此模式的指導,由 Orchestrator 用於任務協調 |
| Available tools | 模式可以使用的工具群組和檔案存取權限 |
| Custom instructions | (可選)額外的行為指南或規則 |
| Description | (可選)模式選擇器中顯示的簡短摘要 |
| Allowed subagents | (可選)限制模式可以使用的子代理預設 |
如何建立自訂模式
您可以使用設定選單或手動編輯配置檔案來建立自訂模式。
使用設定選單
- 點擊 Bob 面板中的 圖示以開啟設定。
- 選擇模式標籤。
- 點擊 按鈕以建立新模式。
- 填寫名稱、Slug、儲存位置、角色定義、何時使用(可選)、描述(可選)、可用工具和自訂指示的欄位。
- 點擊儲存。
Bob 以 YAML 格式儲存新模式。您可以透過手動 YAML 配置為 edit 工具群組添加檔案類型限制。
手動編輯配置檔案
您可以手動編輯 YAML 格式的模式配置檔案:
- 全域模式:透過設定 → 模式 → 編輯全域模式編輯
~/.bob/settings/custom_modes.yaml - 專案模式:編輯專案中的
.bob/custom_modes.yaml。點擊設定 → 模式 → 編輯專案模式
這些檔案以 YAML 格式定義了自訂模式陣列。
範例(~/.bob/settings/custom_modes.yaml 或 .bob/custom_modes.yaml):
customModes:
- slug: docs-writer
name: 📝 Documentation Writer
description: Writes and revises Markdown documentation.
roleDefinition: You are a technical writer specializing in clear documentation.
whenToUse: Use this mode for writing and editing documentation.
customInstructions: Focus on clarity and completeness in documentation.
groups:
- read
- - edit
- fileRegex: ".*\\.(md|mdx)$"
description: Markdown files only
- skill模式配置屬性
可用的工具群組
read:讀取檔案和目錄edit:修改檔案(可以使用fileRegex限制)execute:執行終端機命令mcp:存取 MCP 伺服器skill:載入技能workflow:啟動預先定義的工作流程todo:更新任務待辦事項清單subtask:建立子任務subagent:產生子代理mode:切換到另一個模式
編輯工具的檔案限制
使用 YAML 格式的 fileRegex 限制模式可以編輯哪些檔案:
groups:
- read
- - edit
- fileRegex: ".*\\.(js|ts)$"
description: JavaScript and TypeScript files only常見的正規表示式模式
| 模式 | 符合 | 範例檔案 |
|---|---|---|
.*\.md$ | Markdown 檔案 | readme.md、docs/guide.md |
^src/.* | src 目錄中的檔案 | src/app.js、src/components/button.tsx |
| `.*.(css | scss)$` | CSS 和 SCSS 檔案 |
| `^(?!.*(test | spec)).*.(js | ts)$` |
提示:
請 Bob 為您生成正規表示式模式,而不是手動撰寫它們。
重要的驗證規則
slug必須僅使用字母、數字和連字號。- 保持每個
slug唯一。重複的 slug 可能會阻止模式正確載入。 - 僅使用支援的群組名稱。未知的群組名稱不授予存取權限。
- 如果省略
groups,模式將不會獲得任何分組工具。 - 如果設定
allowedSubagents,則該模式中僅列出的子代理預設可用。 - 無效的
fileRegex值可能會阻止模式檔案載入。
添加特定於模式的指示
您可以使用目錄結構(首選)或單一檔案添加特定於模式的指示。
首選方法(目錄結構):
01-style-guide.md
02-formatting.txt
替代方法(單一檔案):
.bobrules-{mode-slug}如果兩者都存在,目錄方法優先。目錄中的檔案按字母順序載入,並與模式配置中的 customInstructions 屬性結合。
要添加特定於模式的指示:
- 在專案根目錄中建立
.bob/rules-{mode-slug}/目錄(或.bobrules-{mode-slug}檔案)。 - 將指示檔案添加到目錄(例如,
01-style-guide.md和02-formatting.txt)。
Bob 在您使用模式時會自動載入這些指示。
如何覆寫預設模式
您可以透過在專案配置中建立具有相同 slug 的自訂模式來覆寫預設的 Bob 模式(例如 Agent、Ask 或 Plan)。
要覆寫預設模式:
- 點擊 Bob 面板中的 圖示以開啟設定。
- 選擇模式標籤。
- 點擊編輯專案模式以編輯
.bob/custom_modes.yaml檔案。 - 使用您想要覆寫的預設模式的 slug 添加您的模式配置:
customModes:
- slug: ask # 符合預設 Ask 模式
name: ❓ Ask
roleDefinition: 你是這個 React 和 TypeScript 程式碼庫的知識淵博助手。
whenToUse: 使用此模式詢問有關程式碼庫的問題。
customInstructions: 回答時始終引用相關檔案。如果使用者嘗試進行變更,建議使用 Ask 模式。
groups:
- read
- mcp
- skill專案特定的覆寫優先於全域覆寫,全域覆寫優先於預設值。
YAML 格式
YAML 是自訂模式的首選和推薦格式:
YAML 優勢:
- 基於縮排的結構更易讀
- 支援註解(
#) - 更簡潔的多行字串語法
- 需要較少的標點符號
- 更易於編輯和維護
自動遷移:
- 全域模式:啟動時自動從舊版
custom_modes.json遷移到custom_modes.yaml - 專案模式:透過 UI 編輯時轉換為 YAML
雖然舊版 JSON 格式檔案仍支援向後相容性,但所有新模式都應以 YAML 格式建立。
了解更多
動手試試,並透過建立自訂的 product manager 模式來擴充 Bob 的能力。
這個主題如何?