🚀 DeltaTask - 高級任務管理系統
DeltaTask 是一款強大的本地託管任務管理應用程序,它支持與 Obsidian 整合,還具備 Model Context Protocol (MCP) 服務器,能有效提升任務管理的效率與便捷性。
🚀 快速開始
先決條件
- Python 3.10+
- SQLite3
- Obsidian(可選,用於 Markdown 整合)
安裝
- 克隆此倉庫。
- 使用
uv
設置 Python 環境:
# 創建並激活虛擬環境
uv venv
source .venv/bin/activate # 在 Windows 上:.venv\Scripts\activate
# 安裝依賴項
uv pip install -r requirements.txt
運行 MCP 服務器
DeltaTask MCP 服務器可以與 Claude for Desktop 一起使用:
- 配置 Claude for Desktop:
- 打開或創建
~/Library/Application Support/Claude/claude_desktop_config.json
。
- 添加 DeltaTask 服務器配置:
{
"mcpServers": {
"deltatask": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/DeltaTask",
"run",
"server.py"
]
}
}
}
- 重新啟動 Claude for Desktop。
如果遇到問題或需要更多詳細信息,請參閱 MCP 文檔。例如從文檔中:你可能需要在 command
字段中放入 uv
可執行文件的完整路徑。你可以通過運行 which uv
(MacOS/Linux)或查找其位置來獲取它。
完成上述步驟後,Claude 應該能夠連接到 DeltaTask 服務器並與之通信。
✨ 主要特性
- 智能任務管理:可創建具有緊急程度和工作量估計的任務。
- 優先級引擎:依據緊急程度和工作量自動對任務進行排序。
- 任務分解:能夠將較大的任務分解為可管理的子任務。
- 標籤系統:支持使用自定義標籤來組織任務。
- 本地存儲:所有數據均保留在 SQLite 數據庫中。
- Obsidian 整合:能與 Obsidian Markdown 文件進行雙向同步。
- MCP 服務器:通過 Model Context Protocol 實現全面 API 訪問。
💻 使用示例
基礎用法
以下是一個簡單的 Python 腳本示例,演示如何與 DeltaTask MCP 服務器交互:
import requests
response = requests.get('http://localhost:5000/list_tasks')
print(response.json())
new_task = {
'title': '完成項目報告',
'description': '提交季度項目報告給管理層',
'urgency': 3,
'workload': 10
}
response = requests.post('http://localhost:5000/create_task', json=new_task)
print(response.json())
updated_task = {
'task_id': 1,
'title': '優先完成項目報告',
'urgency': 5
}
response = requests.put('http://localhost:5000/update_task/1', json=updated_task)
print(response.json())
🔧 技術細節
數據模型
- 任務:基本任務實體,屬性包括:
- 標題和描述
- 緊急程度(1 - 5 級,5 為最高)
- 工作量(1 - 21 級,遵循斐波那契序列)
- 完成狀態
- 子任務的父級關係
- 分類用的標籤
數據庫架構
該應用程序使用 SQLite 數據庫,包含以下表格:
todos
:存儲所有任務及其屬性。
tags
:存儲唯一的標籤名稱。
todo_tags
:用於任務和標籤之間多對多關係的連接表。
Obsidian 整合
DeltaTask 創建並維護一個結構化的 Obsidian 保險庫:
- 帶有前端元數據的任務文件。
- 標籤為基礎視圖,用於過濾任務。
- 統計信息儀表盤。
- 在 SQLite 數據庫和 Obsidian Markdown 之間實現雙向同步。
MCP API 端點
MCP 服務器公開以下操作:
get_task_by_id
:通過 ID 獲取特定任務。
search_tasks
:按標題、描述或標籤搜索任務。
create_task
:創建新任務。
update_task
:更新任務屬性。
delete_task
:刪除任務。
sync_tasks
:從 Obsidian Markdown 同步到 SQLite 數據庫。
list_tasks
:列出所有任務。
get_statistics
:獲取有關任務的統計信息。
create_subtasks
:將任務分解為多個子任務。
get_all_tags
:獲取所有唯一的標籤名稱。
get_subtasks
:獲取給定父任務的所有子任務。
finish_task
:標記任務為已完成。
📄 許可證
文檔中未提及相關內容,暫不展示。
⚠️ 重要提示
確保服務器在運行時配置了適當的防火牆和安全措施。在生產環境中,建議使用 HTTPS 並啟用身份驗證。定期備份 SQLite 數據庫以防止數據丟失。
通過這些步驟,你可以輕鬆設置並開始使用 DeltaTask 任務管理系統。