跳轉至

Boring Pack 格式規範 (.boring-pack)

版本: 1.0.0
狀態: 草稿
日期: 2026-01-18

Boring Pack 是 Boring-Gemini 生態系的標準分發格式。它不僅僅是 Python 代碼,更是一個包含工具、流程、提示詞和知識的「認知容器 (Cognitive Container)」。

📦 什麼是 Boring Pack?

一個 Boring Pack 是一個標準化的目錄結構(通常壓縮為 ZIP),包含: 1. Tools: 擴充功能的 Python 實作 2. Workflows: 定義代理行為的標準作業程序 (.md) 3. Prompts: 專家級的提示詞模板 4. Knowledge (Brain): 預先索引的領域知識

📂 目錄結構

my-awesome-pack/
├── boring-pack.json       # Manifest (必填)
├── README.md              # 文檔
├── LICENSE                # 授權文件
├── requirements.txt       # Python 依賴
├── tools/                 # Python 插件代碼
│   ├── __init__.py
│   └── my_tool.py
├── workflows/             # Agent Workflows
│   └── deploy_flow.md
├── prompts/               # Prompt Templates
│   └── system_prompt.md
├── brain/                 # 知識庫 (可選)
│   └── knowledge.parquet
└── assets/                # 圖片/圖示
    └── icon.png

📄 Manifest 格式 (boring-pack.json)

{
  "spec_version": "1.0",
  "id": "boring/full-stack-pack",
  "version": "1.0.0",
  "name": "Full Stack Developer Pack",
  "description": "A complete suite for Full Stack development.",
  "author": "Boring Team",
  "license": "Apache-2.0",
  "homepage": "https://github.com/boring/pack",

  "min_boring_version": "15.0.0",

  "components": {
    "tools": ["tools/"],
    "workflows": ["workflows/"],
    "prompts": ["prompts/"],
    "brain": ["brain/"]
  },

  "permissions": [
    "filesystem:read",
    "network:http"
  ]
}

🛠️ 組件詳情

Tools (工具)

標準的 Boring Plugin 寫法,使用 @plugin 裝飾器。Pack Loader 會自動加載 tools/ 目錄下的所有模組。

Workflows (工作流)

Markdown 格式的工作流定義。安裝後,使用者可以通過 boring flow run <workflow_name> 執行。

Prompts (提示詞)

文本或 Markdown 格式。安裝後,Agent 可以在對話中引用,例如 @prompt:system_prompt

Brain (大腦/知識)

預先計算好的向量數據。安裝時會詢問是否合併到使用者的 Global Brain。

🚀 打包與分發

打包 (Packing)

使用 boring pack 命令將目錄打包為 .boring-pack (ZIP 格式)。

boring pack . --output my-pack.boring-pack

安裝 (Installing)

使用 boring install 命令安裝:

# 從 GitHub (源碼)
boring install https://github.com/user/my-pack

# 從本地檔案 (Pack 包)
boring install ./my-pack.boring-pack

安全性 (Security)

安裝 Pack 時,系統會顯示請求的權限 (permissions 欄位) 並要求使用者確認。 嚴格模式下,未簽署的 Pack 可能會被拒絕加載危險權限。