任务管理扩展

Gemini CLI的任务管理扩展,支持AI自主创建和管理任务,包括任务依赖、多会话协调和持久化存储。

  • by MohamedHamed19m
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 MohamedHamed19m/Gemini_Tasks

使用说明

Gemini任务-任务管理扩展

Gemini CLI的任务管理扩展,灵感来自Claude Code的原生任务管理。

特性

  • 人工智能自主创建和管理任务
  • 任务依赖关系和拦截器
  • 多时段协调
  • 跨会话的持久存储
  • 状态生命周期: pending -> in_progress -> completed

安装

gemini extensions install https://github.com/MohamedHamed19m/Gemini_Tasks

快速开始

基本用法

在Gemini CLI中:

> "Break this feature into tasks: Implement user authentication with JWT"

AI将:

  1. 创建具有依赖关系的任务
  2. 系统地完成每项任务
  3. 随着任务的进展更新任务状态
  4. 完成时标记任务已完成

多会话协调

会议A:

$env:GEMINI_TASK_LIST_ID = "auth-feature"
gemini
> "Work on backend tasks"

会议B:

$env:GEMINI_TASK_LIST_ID = "auth-feature"  # Same ID!
gemini
> "Work on frontend tasks"

两个会话共享相同的任务列表并自动协调。

配置

环境变量

变量 描述 默认值
GEMINI_TASK_LIST_ID 多会话的任务列表标识符 default

命令

/tasks-clear

清除已完成的任务或所有任务。

用途:

/tasks-clear        # Clears only completed tasks (default, safe)
/tasks-clear all    # Clears ALL tasks (destructive)

MCP工具

该扩展为AI提供了以下MCP工具:

tasks_list

列出所有具有可选状态筛选器的任务。

参数:

  • filter (可选): "all", "pending", "in_progress", "completed"

tasks_create

创建具有依赖关系的新任务。

参数:

  • subject (必填):任务标题
  • description (可选):详细说明
  • blocked_by (可选):此任务所依赖的任务ID列表

tasks_update

更新任务状态和阻止程序。

参数:

  • task_id (必填):要更新的任务ID
  • status (可选): "pending", "in_progress", "completed"
  • add_blocked_by (可选):将任务ID添加为阻止程序
  • remove_blocked_by (可选):删除阻止程序任务ID

tasks_get

获取特定任务的完整详细信息。

参数:

  • task_id (必填):要检索的任务ID

tasks_search

按关键字搜索任务。

参数:

  • query (必填):搜索关键字

tasks_clear

清除已完成或所有任务。

参数:

  • filter (可选): "completed" (默认)或 "all"

用法示例

示例1:基本任务创建

> "Create three tasks: Setup, Development, Testing.
   Make Development blocked by Setup, and Testing blocked by Development."

结果:

task-1: Setup (pending)
task-2: Development (pending, blocked by task-1)
task-3: Testing (pending, blocked by task-2)

示例2:多会话工作

终端1-后端:

$env:GEMINI_TASK_LIST_ID = "user-profile"
gemini
> "Work on backend API tasks for user profile"

2号航站楼-前端:

$env:GEMINI_TASK_LIST_ID = "user-profile"
gemini
> "Work on frontend UI tasks for user profile"

两个会话在共享任务列表上协调!

存储位置

  • 窗户: 任务: %USERPROFILE%\.gemini\tasks\<task-list-id>.json
  • Linux/Mac: 任务: ~/.gemini/tasks/<task-list-id>.json