Skip to main content
Glama
markdown-writing-guide.md5.39 kB
--- id: markdown-writing-guide group_id: Public type: Guide title: Markdown 文件撰寫規範 author: System update_date: 2025-10-15 --- # Markdown 文件撰寫規範 本文件說明如何撰寫符合 KnowledgeSmith MCP 系統 chunk 處理的 Markdown 文件。 ### 文件結構總覽 符合規範的 Markdown 文件包含以下結構(由上到下): 1. **YAML Front Matter**(可選):文件元資料 2. **Info Section**(可選):結構化資訊區塊 3. **主要內容**:使用 h3 (###) 標題進行分段 ### YAML Front Matter Front Matter 是文件開頭的元資料區塊,使用 YAML 格式,由 `---` 包圍。 **格式:** ```markdown --- id: document-identifier group_id: project-name type: Guide title: 文件標題 author: 作者名稱 update_date: 2025-10-15 --- ``` **欄位說明:** - `id`: 文件唯一識別碼(kebab-case) - `group_id`: 專案或群組名稱(用於 RAG 分組) - `type`: 文件類型(Guide, REQ, BP, TASK 等) - `title`: 文件標題 - `author`: 作者 - `update_date`: 最後更新日期(YYYY-MM-DD) **注意事項:** - Front Matter 必須放在文件最開頭 - 所有欄位都是可選的,但建議填寫以利管理 - 日期格式必須是 ISO 8601 格式 ### Info Section Info Section 是緊接在 Front Matter 之後的結構化資訊區塊,使用特殊註解標記。 **格式:** ```markdown <!-- info-section --> > status: active > priority: high > tags: [documentation, guide] > version: 1.0.0 ``` **特性:** - 以 `<!-- info-section -->` 註解開頭 - 每行以 `> ` 開頭(大於符號 + 空格) - 內容為 YAML 格式的 key-value pairs - Info Section 會被抽取為獨立 chunk,metadata 中會包含 `info` 欄位 **使用時機:** - 需要結構化的文件狀態資訊 - 需要在 RAG 中快速過濾的欄位 - 與內容本身無關但對文件管理重要的資訊 ### 主要內容分段 使用 h3 標題 (`###`) 作為主要分段單位。每個 h3 section 會成為一個獨立的 chunk。 **格式:** ```markdown ### 章節標題 章節內容... ### 另一個章節 更多內容... ``` **重要規則:** 1. **必須使用 h3 (`###`)**:h1、h2、h4 等不會觸發分段 2. **標題命名**:清晰、具描述性,避免特殊符號(會被轉為 slug) 3. **內容完整性**:每個 section 應該是自包含的邏輯單元 4. **分段粒度**:建議每個 section 長度適中(200-1000 字) **標題 Slug 轉換規則:** - 轉為小寫 - 空格和底線轉為連字號 `-` - 移除特殊符號 - 保留 Unicode 字元(中文等) - 範例: - `Hello World!` → `hello-world` - `API Reference: v2.0` → `api-reference-v20` - `任務目標與前置` → `任務目標與前置` ### 無 h3 分段的文件 如果文件沒有任何 h3 標題,整份文件會被視為單一 chunk。 **適用場景:** - 簡短的說明文件 - 單一主題的筆記 - 不需要細分的內容 ### Chunk ID 生成規則 系統會為每個 chunk 自動生成穩定的 ID: **格式:** ``` {project_id}+{feature_id|general}+{section_slug} ``` **範例:** - 有 feature_id:`knowledge-smith+graphiti-chunk+introduction` - 無 feature_id:`knowledge-smith+general+overview` - Info section:`knowledge-smith+my-feature+info` - 無 h3 文件:`knowledge-smith+general+document` **特性:** - 同樣的標題在相同專案/功能下會產生相同 ID - 保證跨次處理的穩定性 - 方便追蹤 chunk 的變更 ### 完整範例 ```markdown --- id: example-guide group_id: knowledge-smith type: Guide title: 範例指南 author: System update_date: 2025-10-15 --- <!-- info-section --> > status: draft > priority: medium > version: 0.1.0 ### 簡介 這是一個符合規範的 Markdown 文件範例。 本文件展示如何正確使用 h3 標題來分段內容。 ### 安裝步驟 1. 下載套件 2. 執行安裝腳本 3. 驗證安裝 ### 使用說明 詳細的使用方法說明... ### 疑難排解 常見問題與解決方案... ``` **此範例會產生 5 個 chunks:** 1. Info section chunk 2. 簡介 chunk 3. 安裝步驟 chunk 4. 使用說明 chunk 5. 疑難排解 chunk ### 最佳實踐 **DO:建議做法** - 使用有意義的 h3 標題 - 保持 section 長度適中 - Front Matter 填寫完整資訊 - Info Section 用於結構化 metadata - 每個 section 內容自包含 **DON'T:避免做法** - 不要使用 h1/h2/h4 作為主要分段 - 不要在標題中使用過多特殊符號 - 不要讓 section 過長或過短 - 不要在 Info Section 放內容文字 - 不要省略重要的 metadata ### 文件類型建議 **RBT 文件(REQ/BP/TASK):** - 必須包含 Front Matter - 建議使用 Info Section 記錄狀態 - 使用 h3 按需求/設計/任務分段 **一般指南文件:** - 建議包含 Front Matter - 使用 h3 按主題分段 - Info Section 可選 **筆記/TODO:** - Front Matter 可選 - 可以不使用 h3(單一 chunk) - Info Section 通常不需要 ### 驗證與測試 撰寫完文件後,建議: 1. 確認 YAML Front Matter 格式正確 2. 確認 Info Section 格式正確(如有) 3. 確認使用了 h3 標題 4. 預覽 chunk 切分是否符合預期 5. 使用 `add_document` 工具同步到 RAG ### 相關工具 - `add_document`: 同步文件到 RAG - `search_memory_facts`: 搜尋已同步的 chunks - `search_memory_nodes`: 搜尋節點關係

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/leo7nel23/KnowkedgeSmith-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server