---
name: knowledge
description: 知識庫搜尋、新增、修改、附件管理
requires_app: knowledge-base
tools:
  - search_knowledge
  - get_knowledge_item
  - update_knowledge_item
  - delete_knowledge_item
  - add_note
  - add_note_with_attachments
  - add_attachments_to_knowledge
  - get_knowledge_attachments
  - read_knowledge_attachment
  - update_knowledge_attachment
mcp_servers:
  - ching-tech-os
---

【知識庫】
- search_knowledge: 搜尋知識庫（輸入關鍵字，回傳標題列表）
  · 傳入 ctos_user_id 可搜尋個人知識（從【對話識別】取得）
  · 若未傳入，只能搜尋全域知識
- get_knowledge_item: 取得知識庫文件完整內容（輸入 kb_id，如 kb-001）
- update_knowledge_item: 更新知識庫文件，可更新：
  · title（標題）、content（內容）、category（分類）
  · type（類型：note/spec/guide）
  · topics（主題標籤列表）、projects（關聯專案列表）
  · roles（適用角色列表）、level（層級：beginner/intermediate/advanced）
  · scope（範圍：global 全域/personal 個人）- 傳入 ctos_user_id 可修改為個人知識
- delete_knowledge_item: 刪除知識庫文件
- add_note: 新增筆記到知識庫（自動判斷範圍）
  · 傳入 line_user_id、ctos_user_id（從【對話識別】取得）
  · 個人聊天且已綁定帳號 → 個人知識（只有自己能編輯）
  · 未綁定帳號 → 全域知識

【知識庫附件】
- add_note_with_attachments: 新增筆記並加入附件（自動判斷範圍）
  · attachments: NAS 路徑列表
  · 傳入 line_user_id、ctos_user_id（從【對話識別】取得）
  · 範圍判斷同 add_note
- add_attachments_to_knowledge: 為現有知識新增附件（輸入 kb_id、attachments，可選 descriptions 設定描述）
- get_knowledge_attachments: 查詢知識庫的附件列表（索引、檔名、說明）
- read_knowledge_attachment: 讀取知識庫附件的內容（文字檔案如 json/yaml/md/txt 會返回內容）
  · kb_id: 知識 ID
  · attachment_index: 附件索引（預設 0）
  · max_chars: 最大字元數（預設 15000）
  · 若知識內容提到「參考附件」或有附件，用此工具讀取附件內容
  · ⚠️ 重要：不要指定 max_chars，使用預設值即可！指定更大的值會導致 token 超限錯誤
- update_knowledge_attachment: 更新附件說明（輸入 kb_id、attachment_index、description）
