DeltaTask

DeltaTask

🚀 DeltaTask - 高级任务管理系统

DeltaTask 是一款强大的本地托管任务管理应用程序,它支持与 Obsidian 整合,还具备 Model Context Protocol (MCP) 服务器,能有效提升任务管理的效率与便捷性。

🚀 快速开始

先决条件

  • Python 3.10+
  • SQLite3
  • Obsidian(可选,用于 Markdown 整合)

安装

  1. 克隆此仓库。
  2. 使用 uv 设置 Python 环境:
# 创建并激活虚拟环境
uv venv
source .venv/bin/activate  # 在 Windows 上:.venv\Scripts\activate

# 安装依赖项
uv pip install -r requirements.txt

运行 MCP 服务器

DeltaTask MCP 服务器可以与 Claude for Desktop 一起使用:

  1. 配置 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 任务管理系统。

  • 0 关注
  • 0 收藏,21 浏览
  • system 提出于 2025-09-19 00:51

相似服务问题

相关AI产品