🚀 通用來源管理系統
通用來源管理系統是一個靈活的工具,可用於管理各類來源,如論文、書籍、網頁等,並能將它們與知識圖譜集成,極大提升知識管理的效率和便捷性。
🚀 快速開始
該系統與MCP記憶服務器集成,用於持久知識圖譜存儲。使用前請確保此服務器已正常運行。
- 使用我們的模式創建一個新的SQLite數據庫:
sqlite3 sources.db < create_sources_db.sql
- 安裝來源管理服務器:
fastmcp install source-manager-server.py --name "Source Manager" -e SQLITE_DB_PATH=/path/to/sources.db
✨ 主要特性
核心功能
- 基於內部UUID系統的通用來源識別,確保每個來源都有唯一標識。
- 支持多種來源類型,包括論文、網頁、書籍、視頻、博客等。
- 每個來源支持多個標識符,如arxiv、DOI、語義學者、ISBN、URL等。
- 結構化筆記記錄,帶有標題和內容,方便整理和查看。
- 狀態跟蹤,可標記來源為未讀、閱讀中、已完成、存檔等狀態。
實體集成
- 將來源鏈接到知識圖譜實體,實現知識的關聯和整合。
- 跟蹤來源與實體之間的關係,支持靈活的關係類型,如討論、介紹、擴展、評估等。
- 與記憶圖的集成,進一步拓展知識管理的功能。
📦 安裝指南
- 使用我們的模式創建一個新的SQLite數據庫:
sqlite3 sources.db < create_sources_db.sql
- 安裝來源管理服務器:
fastmcp install source-manager-server.py --name "Source Manager" -e SQLITE_DB_PATH=/path/to/sources.db
💻 使用示例
基礎用法
添加一個帶有多標識符的論文:
add_source(
title="Attention Is All You Need",
type="paper",
identifier_type="arxiv",
identifier_value="1706.03762",
initial_note="初步筆記"
)
高級用法
將來源鏈接到實體:
link_source_to_entity("P1", "NLP論文", "introduces")
🔧 技術細節
- 標題和類型模糊匹配:通過標題和類型進行來源識別,方便快速定位所需來源。
- 結構化存儲:使用JSONB存儲標識符,提高查詢效率,使數據管理更加高效。
📚 詳細文檔
架構
核心表
CREATE TABLE sources (
id UUID PRIMARY KEY,
title TEXT NOT NULL,
type TEXT CHECK(type IN ('paper', 'webpage', 'book', 'video', 'blog')) NOT NULL,
identifiers JSONB NOT NULL,
status TEXT CHECK(status IN ('unread', 'reading', 'completed', 'archived')) DEFAULT 'unread'
);
CREATE TABLE source_notes (
source_id UUID REFERENCES sources(id),
note_title TEXT NOT NULL,
content TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (source_id, note_title)
);
CREATE TABLE source_entity_links (
source_id UUID REFERENCES sources(id),
entity_name TEXT,
relation_type TEXT CHECK(relation_type IN ('discusses', 'introduces', 'extends', 'evaluates', 'applies', 'critiques')),
notes TEXT,
PRIMARY KEY (source_id, entity_name)
);
💡 使用建議
- 定期備份數據庫以防止數據丟失。
- 使用唯一且有意義的標識符來確保來源的唯一性。
- 保持筆記簡潔明瞭,以便快速查找和理解。
📄 貢獻指南
- 叉倉庫
- 創建功能分支
- 為新功能添加測試
- 提交拉取請求