Server Configuration
Describes the environment variables required to run the server.
Name | Required | Description | Default |
---|---|---|---|
No arguments |
Schema
Prompts
Interactive templates invoked by user choice
Name | Description |
---|---|
No prompts |
Resources
Contextual data attached and managed by the client
Name | Description |
---|---|
No resources |
Tools
Functions exposed to the LLM to take actions
Name | Description |
---|---|
initializePlan | 初始化或完全替换一个新的任务计划。 Args: goal (str): 描述计划总体目标的字符串。 tasks (List[TaskInput]): 任务对象的列表。每个任务的结构如下: - name (str): 任务的名称,在一个计划中应唯一。 - dependencies (List[Union[str, int]]): 依赖的任务名称或ID列表。 - reasoning (str): 阐述为何需要此任务。 |
loadPlan | 通过一个完整的计划对象加载或替换当前计划。 这个工具会直接覆盖内存中的整个计划,请谨慎使用。 Args: plan_data (dict): 一个包含完整计划数据的字典对象,通常由 dumpPlan 工具导出。 它应包含 'meta', 'state', 和 'tasks' 三个顶级键。 |
dumpPlan | 导出当前完整的计划数据为一个字典对象。 这个导出的对象可以被 loadPlan 工具用来恢复状态。 Returns: ToolResponse[dict]: 包含当前完整计划数据的响应对象。 |
visualizeDependencies | 生成当前任务依赖关系的可视化图。 Args: format (str, optional): 输出的格式。可接受的值为 'mermaid' (生成流程图代码), 'tree' (生成树状图), 或 'ascii' (生成纯文本格式的列表)。 默认为 'ascii'。 Returns: str: 包含所选格式可视化内容的字符串。 |
getCurrentTask | 获取当前标记为 'in_progress' (正在进行中) 的任务详情。 Returns: ToolResponse[TaskOutput]: 包含当前任务详情的响应对象。 |
startNextTask | 自动查找下一个可执行的任务(所有依赖均已完成)并开始执行。 这会将任务状态更新为 'in_progress'。这是推进计划的核心方法。 Returns: ToolResponse[TaskOutput]: 包含已启动任务的响应对象。 |
completeTask | 将指定ID的任务标记为 'completed' (已完成)。 这是解锁后续依赖任务的关键步骤。 Args: task_id (int): 需要标记为完成的任务的ID (从0开始)。 result (str): 描述任务完成结果或产出的字符串。 |
failTask | 将指定ID的任务标记为 'failed' (失败)。 Args: task_id (int): 需要标记为失败的任务的ID (从0开始)。 error_message (str): 描述任务失败原因的字符串。 should_retry (bool, optional): 是否应该重试该任务的标志。默认为 True。 |
addTask | 向当前计划中动态添加一个新任务。 Args: name (str): 新任务的名称,应确保唯一性。 dependencies (List[int]): 新任务所依赖的任务ID的整数列表 (从0开始)。 reasoning (str): 解释为何要添加此任务的字符串。 after_task_id (int, optional): 一个任务ID,新任务将被插入到该任务之后。如果省略,则添加到列表末尾。 Returns: ToolResponse[TaskOutput]: 包含新创建任务的响应对象。 |
skipTask | 将指定ID的任务标记为 'skipped' (已跳过)。 被跳过的任务在依赖解析中被视为“已完成”,允许后续任务继续。 Args: task_id (int): 需要跳过的任务的ID (从0开始)。 reason (str): 解释为何跳过此任务的字符串。 |
editDependencies | 以批量、事务性的方式编辑一个或多个任务的依赖关系。 此工具允许 'set' 或 'update' 操作,所有编辑将在应用前进行全面验证。 如果任何指令失败,整个操作将回滚。 Args: edits (List[DependencyEdit]): 一个包含编辑指令对象的列表,每个对象的结构如下: - task_id (int): 要修改的任务ID。 - action (Literal["set", "update"]): 要执行的操作。 - dependencies (Optional[List[int]]): 当 action 为 'set' 时,提供新的完整依赖ID列表。 - add (Optional[List[int]]): 当 action 为 'update' 时,提供要添加的依赖ID列表。 - remove (Optional[List[int]]): 当 action 为 'update' 时,提供要移除的依赖ID列表。 |
getPlanStatus | 获取整个计划的全面概览,包括元数据、进度、任务状态统计等。 |
getTaskList | 获取计划中所有任务的列表,可按状态进行过滤。 Args: status_filter (str, optional): 用于过滤任务的状态字符串。 可接受的值: 'pending', 'in_progress', 'completed', 'failed', 'skipped'。 Returns: ToolResponse[List[TaskOutput]]: 包含任务列表的响应对象。 |
getExecutableTaskList | 获取当前所有依赖已满足且状态为 'pending' 的可执行任务列表。 Returns: ToolResponse[List[TaskOutput]]: 包含可执行任务列表的响应对象。 |
generateContextPrompt | 生成一个详细的文本提示,总结计划的当前状态。 这个提示可以作为上下文提供给AI模型,以帮助其决定下一步行动。 内容包括:总体目标、当前任务、可执行任务列表等。 |