README
🚀 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 任务管理系统。
微信扫一扫