Communitygithub.com

matthiasdebernardini/ontology-notes

基於來源的本體論知識庫,包含 Prime Agent 聊天技能與無依賴的本地檢索。

ontology-notes 是什麼?

這是一個以本地本體論知識庫為基礎的 AI 代理技能,設計用來回答關於本體論、標準、工具與專案的問題,而非依賴模型的一般知識。它支援 Claude Code、Cursor 等遵循 SKILL.md 的代理系統。技能的核心是 `ontology_kb.py` 腳本,提供無依賴、無網路請求的 CLI,用於搜尋筆記、檢視來源、探索相關概念以及檢查知識庫狀態。使用時,代理會先定位知識庫根目錄,接著根據問題推斷回應模式(例如解釋、比較、推薦),然後執行系統性的檢索工作流程:先確認明確提及的項目是否被跳過,再進行搜尋、閱讀對應的筆記、必要時追蹤原始來源,最後以引用為基礎給出答案。此技能強調事實正確性,必須引用已開啟的筆記,並明確標註建議的編輯性質。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add matthiasdebernardini/ontology-notes

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Ontology Chat

從本地本體論知識庫回答,而非依賴記憶。

尋找知識庫

解析相對於此 SKILL.md 的 scripts/ontology_kb.py。CLI 會依以下順序尋找知識庫根目錄:

  1. 明確指定的 --root PATH
  2. ONTOLOGY_KB_ROOT 環境變數
  3. ~/.config/ontology-chat/config.json
  4. 目前目錄及其上層目錄
  5. 技能來源目錄及其上層目錄

如果找不到,請說明如何執行儲存庫中的 scripts/install.py 或設定 ONTOLOGY_KB_ROOT。不要默默地根據既有知識回答。

開始不熟悉的對話時,請執行:

python3 <skill-dir>/scripts/ontology_kb.py status --json

選擇回應模式

根據問題推斷模式:

  • 解釋: 定義一個概念,並將其與具體標準或專案連結。
  • 比較: 為每個比較項目提取證據,並逐一說明差異。
  • 推薦: 從筆記中推導出標準,呈現取捨,並將最終推薦標示為編輯意見。
  • 操作指南: 根據有文件記載的工具與格式,組合出有根據的工作流程。
  • LLM 模式: 區分直接 LLM 實作、目錄提及、經典機器學習、嵌入與通用知識圖表的使用。
  • 來源稽核: 將某個主張從綜合分析回溯至筆記,若本地有可用資料,則進一步追蹤至擷取的文字或儲存庫文件。
  • 學習路徑: 按照從基礎概念到工具再到進階模式的順序排列閱讀材料。
  • 探索: 呈現相關條目、章節、注意事項與後續問題。

檢索工作流程

  1. 找出任何明確命名的專案、標準、本體論或詞彙。先執行 sources <名稱> --json,以便在進行更廣泛的搜尋之前,就能看到跳過的條目與已記錄的證據缺口。如果該條目被跳過,請先說明這個限制;其他筆記中間接提到的內容,僅能作為次要證據進行摘要。
  2. 將剩下的問題轉化為二到四個簡短、具體的搜尋查詢。如果知道要比較的項目名稱,請一併納入。
  3. 為每個查詢執行檢索:
python3 <skill-dir>/scripts/ontology_kb.py search "<查詢>" --limit 8 --json

有用的篩選條件是 --section 和 --kind。 4. 合併結果,並開啟最佳的 4 到 8 個 notes/<slug>.md 檔案。不要將片段視為充分的證據。 5. 進行比較時,確保每個命名的項目都有專屬的筆記。如果檢索未出現,請使用 show <slug>。 6. 只有在需要了解整體結構與跨來源結構時才閱讀 SYNTHESIS.md。在重複其主張之前,務必根據引用的筆記進行驗證。 7. 對於有爭議、令人驚訝或需要來源稽核的主張,請執行 sources <slug> --json。如果 sources/<slug>.txt 或 repos/<slug>/ 存在,請檢查相關的來源段落或 README/docs。公開安裝的版本可能省略這些第三方工件;請說明此限制,而非自行編造。 8. 只有在找到有用的錨點筆記後,才使用 related <slug> --limit 8 --json。

根據原則

  • 事實主張必須基於已開啟的筆記。切勿從一般本體論知識填補缺口。
  • 每個實質段落或項目符號都必須引用儲存庫相對路徑的 Markdown 連結,例如 [OntoLearner](notes/ontolearner.md)。
  • 將特定來源的主張歸屬於該來源。跨來源結論需使用多重引用。
  • 明確將根據證據得出的建議標示為 推薦 或 編輯綜合分析。
  • 保留所有限定條件,包括版本時效、封存狀態、文件不完整、檔案限制、擴充限制以及僅限目錄的證據。
  • 不要將「某指南被列出」當作該指南內容的證據。
  • 不要將普通的知識圖譜、嵌入、符號推理或經典機器學習稱為「LLM 整合」。
  • 如果某個明確命名的條目被跳過,請在回答開頭說明,並引用或密切釋義其記錄的 skip_reason。不要用其他筆記中間接提到的內容來取代一個不存在的專屬筆記,也不要憑空捏造其內容。
  • 如果知識庫無法支援答案,請說明原因並指出缺少哪些證據。

預設答案格式

使用最輕量的結構來呈現:

  1. 直接答案
  2. 有證據支援的解釋或比較
  3. 重要注意事項
  4. (選擇性)後續問題或閱讀建議

除非使用者要求稽核,否則避免輸出檢索分數或內部搜尋步驟。偏好使用少數有力的引用,而非長篇的參考文獻列表。

CLI 參考

ontology_kb.py search <查詢> [--limit N] [--section TEXT] [--kind KIND] [--json]
ontology_kb.py show <slug-或-名稱> [--json]
ontology_kb.py related <slug-或-名稱> [--limit N] [--json]
ontology_kb.py sources <slug-或-名稱> [--json]
ontology_kb.py status [--json]

選項可以出現在子指令之前或之後。此 CLI 是確定性的、無依賴的,且不執行任何網路請求。

相關技能