From 70de99ae77787ce9fca0a4319f2fbc6a01ea9096 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BB=9D=E5=B0=98?= <237809796@qq.com> Date: Fri, 19 Jun 2026 23:06:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=BC=BA:=20df-mcp=20list=5Ftasks=20s?= =?UTF-8?q?pec=20=E5=A3=B0=E6=98=8E=20status=20=E5=8F=82=E6=95=B0(CR-13=20?= =?UTF-8?q?=E2=9A=AA1=20=E8=A1=A5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CR-13 审查 ⚪ WATCH-1:df-mcp list_tasks spec 未声明 status(MCP 客户端 schema 不可见)。 补 spec 加 status field(todo/in_progress/in_review/testing/blocked/done/cancelled)。 handler 早已支持过滤(2f8b13f),本次补 schema 声明对齐 tool_registry。 cargo check df-mcp EXIT 0 --- crates/df-mcp/src/tools.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/df-mcp/src/tools.rs b/crates/df-mcp/src/tools.rs index 3b50a5a..8d0648d 100644 --- a/crates/df-mcp/src/tools.rs +++ b/crates/df-mcp/src/tools.rs @@ -105,7 +105,7 @@ pub fn all_tools() -> Vec<&'static ToolSpec> { spec("delete_project", "软删项目(进回收站,可恢复)——High 风险,默认拒绝,请在 DevFlow 应用内执行", object_schema(json!({"id": str_field("项目 ID")}), &["id"]), High, delete_project), spec("bind_directory", "为项目绑定本地代码目录(会做路径冲突检测,Medium 风险+审计日志)", object_schema(json!({"id": str_field("项目 ID"), "path": str_field("本地目录绝对路径")}), &["id", "path"]), Medium, bind_directory), // ─── 任务 ─── - spec("list_tasks", "列出所有未删除任务(可按 project_id 过滤)", object_schema(json!({"project_id": opt_str_field("按项目过滤(可空)")}), &[]), Low, list_tasks), + spec("list_tasks", "列出所有未删除任务(可按 project_id/status 过滤)", object_schema(json!({"project_id": opt_str_field("按项目过滤(可空)"), "status": opt_str_field("按状态过滤(todo/in_progress/in_review/testing/blocked/done/cancelled,可空)")}), &[]), Low, list_tasks), spec("create_task", "创建任务(Medium 风险,默认允许+审计日志)", object_schema(json!({"project_id": str_field("项目 ID"), "title": str_field("标题"), "description": str_field("描述"), "priority": int_field("优先级(可空,默认 0)")}), &["project_id", "title", "description"]), Medium, create_task), spec("update_task", "更新任务(整体替换)", object_schema(json!({"id": str_field("任务 ID"), "project_id": str_field("项目 ID"), "title": str_field("标题"), "description": str_field("描述")}), &["id", "project_id", "title", "description"]), Medium, update_task), spec("advance_task", "推进任务状态(需传当前 status 与目标 status,Medium 风险+审计日志)", object_schema(json!({"id": str_field("任务 ID"), "from": str_field("当前 status"), "to": str_field("目标 status")}), &["id", "from", "to"]), Medium, advance_task),