From 52994d5582f6b476cb1c71ddfec9317f1e032cf3 Mon Sep 17 00:00:00 2001 From: siage Date: Sat, 26 Apr 2025 21:18:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BB=BB=E5=8B=99=E5=B7=A5?= =?UTF-8?q?=E5=85=B7=E6=8F=8F=E8=BF=B0=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/index.ts | 85 ++++++++++--------- .../templates/toolsDescription/analyzeTask.md | 1 + .../toolsDescription/clearAllTasks.md | 1 + .../toolsDescription/completeTask.md | 1 + .../templates/toolsDescription/deleteTask.md | 1 + .../templates/toolsDescription/executeTask.md | 1 + .../toolsDescription/getTaskDetail.md | 1 + .../toolsDescription/initProjectRules.md | 1 + .../templates/toolsDescription/listTasks.md | 1 + .../templates/toolsDescription/planTask.md | 1 + .../toolsDescription/processThought.md | 1 + .../templates/toolsDescription/queryTask.md | 1 + .../templates/toolsDescription/reflectTask.md | 1 + .../templates/toolsDescription/splitTasks.md | 14 +++ .../templates/toolsDescription/updateTask.md | 1 + .../templates/toolsDescription/verifyTask.md | 1 + 16 files changed, 72 insertions(+), 41 deletions(-) create mode 100644 src/prompts/templates/toolsDescription/analyzeTask.md create mode 100644 src/prompts/templates/toolsDescription/clearAllTasks.md create mode 100644 src/prompts/templates/toolsDescription/completeTask.md create mode 100644 src/prompts/templates/toolsDescription/deleteTask.md create mode 100644 src/prompts/templates/toolsDescription/executeTask.md create mode 100644 src/prompts/templates/toolsDescription/getTaskDetail.md create mode 100644 src/prompts/templates/toolsDescription/initProjectRules.md create mode 100644 src/prompts/templates/toolsDescription/listTasks.md create mode 100644 src/prompts/templates/toolsDescription/planTask.md create mode 100644 src/prompts/templates/toolsDescription/processThought.md create mode 100644 src/prompts/templates/toolsDescription/queryTask.md create mode 100644 src/prompts/templates/toolsDescription/reflectTask.md create mode 100644 src/prompts/templates/toolsDescription/splitTasks.md create mode 100644 src/prompts/templates/toolsDescription/updateTask.md create mode 100644 src/prompts/templates/toolsDescription/verifyTask.md diff --git a/src/index.ts b/src/index.ts index c794fb8..8afbe34 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,4 +1,5 @@ import "dotenv/config"; +import { loadPromptFromTemplate } from "./prompts/loader.js"; import { Server } from "@modelcontextprotocol/sdk/server/index.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { zodToJsonSchema } from "zod-to-json-schema"; @@ -67,108 +68,110 @@ async function main() { } ); - // { - // type: "object" as const, - // } server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: [ { name: "plan_task", - description: - "初始化並詳細規劃任務流程,建立明確的目標與成功標準,可選擇參考現有任務進行延續規劃", + description: loadPromptFromTemplate("toolsDescription/planTask.md"), inputSchema: zodToJsonSchema(planTaskSchema), }, { name: "analyze_task", - description: - "深入分析任務需求並系統性檢查代碼庫,評估技術可行性與潛在風險,如果需要提供程式碼請使用 pseudocode 格式且僅提供高級邏輯流程和關鍵步驟避免完整代碼", + description: loadPromptFromTemplate( + "toolsDescription/analyzeTask.md" + ), inputSchema: zodToJsonSchema(analyzeTaskSchema), }, { name: "reflect_task", - description: - "批判性審查分析結果,評估方案完整性並識別優化機會,確保解決方案符合最佳實踐,如果需要提供程式碼請使用 pseudocode 格式且僅提供高級邏輯流程和關鍵步驟避免完整代碼", + description: loadPromptFromTemplate( + "toolsDescription/reflectTask.md" + ), inputSchema: zodToJsonSchema(reflectTaskSchema), }, { name: "split_tasks", - description: `將複雜任務分解為獨立子任務,建立依賴關係和優先順序。 -## updateMode -- **append**:保留現有任務並添加新任務 -- **overwrite**:刪除未完成任務,保留已完成任務 -- **selective**:根據任務名稱智能匹配更新現有任務 -- **clearAllTasks**:清除所有任務並創建備份(優先使用此模式) - -## 關鍵要求 -- **提供精簡pseudocode**:僅提供高級邏輯流程和關鍵步驟避免完整代碼 -- **必要時整合**:簡單修改可與其他任務整合,避免任務過多 -- **分批提交**:任務過多時使用「split_tasks」工具,參數不超過5000字`, + description: loadPromptFromTemplate( + "toolsDescription/splitTasks.md" + ), inputSchema: zodToJsonSchema(splitTasksSchema), }, { name: "list_tasks", - description: - "生成結構化任務清單,包含完整狀態追蹤、優先級和依賴關係", + description: loadPromptFromTemplate( + "toolsDescription/listTasks.md" + ), inputSchema: zodToJsonSchema(listTasksSchema), }, { name: "execute_task", - description: - "按照預定義計劃執行特定任務,確保每個步驟的輸出符合質量標準", + description: loadPromptFromTemplate( + "toolsDescription/executeTask.md" + ), inputSchema: zodToJsonSchema(executeTaskSchema), }, { name: "verify_task", - description: - "全面驗證任務完成度,確保所有需求與技術標準都已滿足,並無遺漏細節", + description: loadPromptFromTemplate( + "toolsDescription/verifyTask.md" + ), inputSchema: zodToJsonSchema(verifyTaskSchema), }, { name: "complete_task", - description: - "正式標記任務為完成狀態,生成詳細的完成報告,並更新關聯任務的依賴狀態", + description: loadPromptFromTemplate( + "toolsDescription/completeTask.md" + ), inputSchema: zodToJsonSchema(completeTaskSchema), }, { name: "delete_task", - description: - "刪除未完成的任務,但不允許刪除已完成的任務,確保系統記錄的完整性", + description: loadPromptFromTemplate( + "toolsDescription/deleteTask.md" + ), inputSchema: zodToJsonSchema(deleteTaskSchema), }, { name: "clear_all_tasks", - description: - "刪除系統中所有未完成的任務,該指令必須由用戶明確確認才能執行", + description: loadPromptFromTemplate( + "toolsDescription/clearAllTasks.md" + ), inputSchema: zodToJsonSchema(clearAllTasksSchema), }, { name: "update_task", - description: - "更新任務內容,包括名稱、描述和注記、依賴任務、相關文件、實現指南和驗證標準,已完成的任務僅允許更新摘要和相關文件", + description: loadPromptFromTemplate( + "toolsDescription/updateTask.md" + ), inputSchema: zodToJsonSchema(updateTaskContentSchema), }, { name: "query_task", - description: "根據關鍵字或ID搜尋任務,顯示省略版的任務資訊", + description: loadPromptFromTemplate( + "toolsDescription/queryTask.md" + ), inputSchema: zodToJsonSchema(queryTaskSchema), }, { name: "get_task_detail", - description: - "根據任務ID獲取任務的完整詳細信息,包括未截斷的實現指南和驗證標準等", + description: loadPromptFromTemplate( + "toolsDescription/getTaskDetail.md" + ), inputSchema: zodToJsonSchema(getTaskDetailSchema), }, { name: "process_thought", - description: - "進行靈活且可演化的思考流程,透過建立、質疑、驗證與修正想法,逐步深化理解並產生有效解法。遇到需收集資料或分析或研究的情境時,應優先查看專案相關程式;如相關程式不存在,可查詢網路而非臆測。思考充分時設 nextThoughtNeeded 為 false,否則調整 total_thoughts 延長流程", + description: loadPromptFromTemplate( + "toolsDescription/processThought.md" + ), inputSchema: zodToJsonSchema(processThoughtSchema), }, { name: "init_project_rules", - description: - "初始化專案規範,當用戶要求產生或初始化專案規範文件時呼叫該工具,如果用戶要求變更或更新專案規範也呼叫該工具", + description: loadPromptFromTemplate( + "toolsDescription/initProjectRules.md" + ), inputSchema: zodToJsonSchema(initProjectRulesSchema), }, ], diff --git a/src/prompts/templates/toolsDescription/analyzeTask.md b/src/prompts/templates/toolsDescription/analyzeTask.md new file mode 100644 index 0000000..054c134 --- /dev/null +++ b/src/prompts/templates/toolsDescription/analyzeTask.md @@ -0,0 +1 @@ +深入分析任務需求並系統性檢查代碼庫,評估技術可行性與潛在風險,如果需要提供程式碼請使用 pseudocode 格式且僅提供高級邏輯流程和關鍵步驟避免完整代碼 diff --git a/src/prompts/templates/toolsDescription/clearAllTasks.md b/src/prompts/templates/toolsDescription/clearAllTasks.md new file mode 100644 index 0000000..a3f192c --- /dev/null +++ b/src/prompts/templates/toolsDescription/clearAllTasks.md @@ -0,0 +1 @@ +刪除系統中所有未完成的任務,該指令必須由用戶明確確認才能執行 diff --git a/src/prompts/templates/toolsDescription/completeTask.md b/src/prompts/templates/toolsDescription/completeTask.md new file mode 100644 index 0000000..9c4542c --- /dev/null +++ b/src/prompts/templates/toolsDescription/completeTask.md @@ -0,0 +1 @@ +正式標記任務為完成狀態,生成詳細的完成報告,並更新關聯任務的依賴狀態 diff --git a/src/prompts/templates/toolsDescription/deleteTask.md b/src/prompts/templates/toolsDescription/deleteTask.md new file mode 100644 index 0000000..1a3ec30 --- /dev/null +++ b/src/prompts/templates/toolsDescription/deleteTask.md @@ -0,0 +1 @@ +刪除未完成的任務,但不允許刪除已完成的任務,確保系統記錄的完整性 diff --git a/src/prompts/templates/toolsDescription/executeTask.md b/src/prompts/templates/toolsDescription/executeTask.md new file mode 100644 index 0000000..18a9aff --- /dev/null +++ b/src/prompts/templates/toolsDescription/executeTask.md @@ -0,0 +1 @@ +按照預定義計劃執行特定任務,確保每個步驟的輸出符合質量標準 diff --git a/src/prompts/templates/toolsDescription/getTaskDetail.md b/src/prompts/templates/toolsDescription/getTaskDetail.md new file mode 100644 index 0000000..601e203 --- /dev/null +++ b/src/prompts/templates/toolsDescription/getTaskDetail.md @@ -0,0 +1 @@ +根據任務 ID 獲取任務的完整詳細信息,包括未截斷的實現指南和驗證標準等 diff --git a/src/prompts/templates/toolsDescription/initProjectRules.md b/src/prompts/templates/toolsDescription/initProjectRules.md new file mode 100644 index 0000000..fa60b1c --- /dev/null +++ b/src/prompts/templates/toolsDescription/initProjectRules.md @@ -0,0 +1 @@ +初始化專案規範,當用戶要求產生或初始化專案規範文件時呼叫該工具,如果用戶要求變更或更新專案規範也呼叫該工具 diff --git a/src/prompts/templates/toolsDescription/listTasks.md b/src/prompts/templates/toolsDescription/listTasks.md new file mode 100644 index 0000000..4187cd1 --- /dev/null +++ b/src/prompts/templates/toolsDescription/listTasks.md @@ -0,0 +1 @@ +生成結構化任務清單,包含完整狀態追蹤、優先級和依賴關係 diff --git a/src/prompts/templates/toolsDescription/planTask.md b/src/prompts/templates/toolsDescription/planTask.md new file mode 100644 index 0000000..223a621 --- /dev/null +++ b/src/prompts/templates/toolsDescription/planTask.md @@ -0,0 +1 @@ +初始化並詳細規劃任務流程,建立明確的目標與成功標準,可選擇參考現有任務進行延續規劃 diff --git a/src/prompts/templates/toolsDescription/processThought.md b/src/prompts/templates/toolsDescription/processThought.md new file mode 100644 index 0000000..bdec28f --- /dev/null +++ b/src/prompts/templates/toolsDescription/processThought.md @@ -0,0 +1 @@ +進行靈活且可演化的思考流程,透過建立、質疑、驗證與修正想法,逐步深化理解並產生有效解法。遇到需收集資料或分析或研究的情境時,應優先查看專案相關程式;如相關程式不存在,可查詢網路而非臆測。思考充分時設 nextThoughtNeeded 為 false,否則調整 total_thoughts 延長流程 diff --git a/src/prompts/templates/toolsDescription/queryTask.md b/src/prompts/templates/toolsDescription/queryTask.md new file mode 100644 index 0000000..b901a64 --- /dev/null +++ b/src/prompts/templates/toolsDescription/queryTask.md @@ -0,0 +1 @@ +根據關鍵字或 ID 搜尋任務,顯示省略版的任務資訊 diff --git a/src/prompts/templates/toolsDescription/reflectTask.md b/src/prompts/templates/toolsDescription/reflectTask.md new file mode 100644 index 0000000..6cc7987 --- /dev/null +++ b/src/prompts/templates/toolsDescription/reflectTask.md @@ -0,0 +1 @@ +批判性審查分析結果,評估方案完整性並識別優化機會,確保解決方案符合最佳實踐,如果需要提供程式碼請使用 pseudocode 格式且僅提供高級邏輯流程和關鍵步驟避免完整代碼 diff --git a/src/prompts/templates/toolsDescription/splitTasks.md b/src/prompts/templates/toolsDescription/splitTasks.md new file mode 100644 index 0000000..4d1e2ee --- /dev/null +++ b/src/prompts/templates/toolsDescription/splitTasks.md @@ -0,0 +1,14 @@ +將複雜任務分解為獨立子任務,建立依賴關係和優先順序。 + +## updateMode + +- **append**:保留現有任務並添加新任務 +- **overwrite**:刪除未完成任務,保留已完成任務 +- **selective**:根據任務名稱智能匹配更新現有任務 +- **clearAllTasks**:清除所有任務並創建備份(優先使用此模式) + +## 關鍵要求 + +- **提供精簡 pseudocode**:僅提供高級邏輯流程和關鍵步驟避免完整代碼 +- **必要時整合**:簡單修改可與其他任務整合,避免任務過多 +- **分批提交**:任務過多時使用「split_tasks」工具,參數不超過 5000 字 diff --git a/src/prompts/templates/toolsDescription/updateTask.md b/src/prompts/templates/toolsDescription/updateTask.md new file mode 100644 index 0000000..6b38ed2 --- /dev/null +++ b/src/prompts/templates/toolsDescription/updateTask.md @@ -0,0 +1 @@ +更新任務內容,包括名稱、描述和注記、依賴任務、相關文件、實現指南和驗證標準,已完成的任務僅允許更新摘要和相關文件 diff --git a/src/prompts/templates/toolsDescription/verifyTask.md b/src/prompts/templates/toolsDescription/verifyTask.md new file mode 100644 index 0000000..a9164f1 --- /dev/null +++ b/src/prompts/templates/toolsDescription/verifyTask.md @@ -0,0 +1 @@ +全面驗證任務完成度,確保所有需求與技術標準都已滿足,並無遺漏細節