From b07672c805930b3d3fd12d69b73e6bab24a0411b Mon Sep 17 00:00:00 2001 From: siage Date: Tue, 22 Apr 2025 20:20:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BB=BB=E5=8B=99=E5=85=A7?= =?UTF-8?q?=E5=AE=B9=E6=8F=8F=E8=BF=B0=EF=BC=8C=E5=85=81=E8=A8=B1=E5=B7=B2?= =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BB=BB=E5=8B=99=E6=9B=B4=E6=96=B0=E7=9B=B8?= =?UTF-8?q?=E9=97=9C=E6=96=87=E4=BB=B6=E6=91=98=E8=A6=81=EF=BC=9B=E7=A7=BB?= =?UTF-8?q?=E9=99=A4=E4=B8=8D=E5=86=8D=E4=BD=BF=E7=94=A8=E7=9A=84=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E4=BB=BB=E5=8B=99=E7=9B=B8=E9=97=9C=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=EF=BC=8C=E4=B8=A6=E8=AA=BF=E6=95=B4=E6=80=9D?= =?UTF-8?q?=E8=80=83=E6=B5=81=E7=A8=8B=E6=8F=8F=E8=BF=B0=E4=BB=A5=E5=BC=B7?= =?UTF-8?q?=E5=8C=96=E7=90=86=E8=A7=A3=E8=88=87=E8=A7=A3=E6=B1=BA=E6=96=B9?= =?UTF-8?q?=E6=A1=88=E7=94=9F=E6=88=90=E7=9A=84=E6=8C=87=E5=B0=8E=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/index.ts | 36 ++++++++++++++-------------- src/models/taskModel.ts | 4 ++-- src/prompts/templates/executeTask.ts | 4 ++-- 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/index.ts b/src/index.ts index 1997bcc..a341ca1 100644 --- a/src/index.ts +++ b/src/index.ts @@ -147,15 +147,15 @@ async function main() { { name: "update_task", description: - "更新任務內容,包括名稱、描述和注記,但不允許修改已完成的任務", + "更新任務內容,包括名稱、描述和注記、依賴任務、相關文件、實現指南和驗證標準,已完成的任務僅允許更新摘要和相關文件", inputSchema: zodToJsonSchema(updateTaskContentSchema), }, - { - name: "update_task_files", - description: - "更新任務相關文件列表,用於記錄與任務相關的代碼文件、參考資料等", - inputSchema: zodToJsonSchema(updateTaskRelatedFilesSchema), - }, + // { + // name: "update_task_files", + // description: + // "更新任務相關文件列表,用於記錄與任務相關的代碼文件、參考資料等", + // inputSchema: zodToJsonSchema(updateTaskRelatedFilesSchema), + // }, { name: "query_task", description: "根據關鍵字或ID搜尋任務,顯示省略版的任務資訊", @@ -170,7 +170,7 @@ async function main() { { name: "process_thought", description: - "任何需要思考或分析的時候,透過該工具進行靈活的、可適應和發展的思考過程來分析問題,隨著理解的加深,每個想法都可以建立、質疑或修改先前的見解。你可以質疑想法、假設想法、驗證想法,並且可以建立新的想法。你將重複這個過程,直到你對問題有足夠的理解,並且能夠提出有效的解決方案。如果你覺得思考已經充分可以把 nextThoughtNeeded 設為 false 並且停止思考,如果你覺得需要更多的思考你可以隨時變更 total_thoughts 來增加步驟。", + "進行靈活且可演化的思考流程,透過建立、質疑、驗證與修正想法,逐步深化理解並產生有效解法。遇到需收集資料或分析或研究的情境時,應優先查看專案相關程式;如相關程式不存在,可查詢網路而非臆測。思考充分時設 nextThoughtNeeded 為 false,否則調整 total_thoughts 延長流程", inputSchema: zodToJsonSchema(processThoughtSchema), }, { @@ -303,16 +303,16 @@ async function main() { ); } return await updateTaskContent(parsedArgs.data); - case "update_task_files": - parsedArgs = await updateTaskRelatedFilesSchema.safeParseAsync( - request.params.arguments - ); - if (!parsedArgs.success) { - throw new Error( - `Invalid arguments for tool ${request.params.name}: ${parsedArgs.error.message}` - ); - } - return await updateTaskRelatedFiles(parsedArgs.data); + // case "update_task_files": + // parsedArgs = await updateTaskRelatedFilesSchema.safeParseAsync( + // request.params.arguments + // ); + // if (!parsedArgs.success) { + // throw new Error( + // `Invalid arguments for tool ${request.params.name}: ${parsedArgs.error.message}` + // ); + // } + // return await updateTaskRelatedFiles(parsedArgs.data); case "query_task": parsedArgs = await queryTaskSchema.safeParseAsync( request.params.arguments diff --git a/src/models/taskModel.ts b/src/models/taskModel.ts index b6f5dc8..d755a5c 100644 --- a/src/models/taskModel.ts +++ b/src/models/taskModel.ts @@ -119,8 +119,8 @@ export async function updateTask( // 檢查任務是否已完成,已完成的任務不允許更新(除非是明確允許的欄位) if (tasks[taskIndex].status === TaskStatus.COMPLETED) { - // 僅允許更新 summary 欄位(任務摘要) - const allowedFields = ["summary"]; + // 僅允許更新 summary 欄位(任務摘要)和 relatedFiles 欄位 + const allowedFields = ["summary", "relatedFiles"]; const attemptedFields = Object.keys(updates); const disallowedFields = attemptedFields.filter( diff --git a/src/prompts/templates/executeTask.ts b/src/prompts/templates/executeTask.ts index c519779..6202967 100644 --- a/src/prompts/templates/executeTask.ts +++ b/src/prompts/templates/executeTask.ts @@ -19,10 +19,10 @@ export const analysisResultTemplate = `\n## 分析背景\n\n{analysisResult}\n\n export const relatedFilesSummaryTemplate = `## 相關文件\n\n{relatedFilesSummary}\n\n`; // 相關文件未指定模板 -export const noRelatedFilesTemplate = `## 相關文件\n\n當前任務沒有關聯的文件。可以使用 \`update_task_files\` 工具添加相關文件,以便在執行任務時提供上下文。`; +export const noRelatedFilesTemplate = `## 相關文件\n\n當前任務沒有關聯的文件。可以使用 \`update_task\` 工具添加相關文件,以便在執行任務時提供上下文。`; // 推薦相關文件模板 -export const recommendedFilesTemplate = `\n\n### 推薦操作\n基於任務描述,您可能需要查看以下相關文件:\n{potentialFiles}\n使用 update_task_files 工具關聯相關文件,以獲得更好的上下文記憶支持。`; +export const recommendedFilesTemplate = `\n\n### 推薦操作\n基於任務描述,您可能需要查看以下相關文件:\n{potentialFiles}\n使用 update_task 工具關聯相關文件,以獲得更好的上下文記憶支持。`; // 依賴任務完成摘要模板 export const dependencyTaskSummaryTemplate = `\n## 依賴任務完成摘要\n\n`;