mirror of
https://github.com/cjo4m06/mcp-shrimp-task-manager.git
synced 2025-07-26 07:52:25 +08:00
更新任務內容描述,允許已完成任務更新相關文件摘要;移除不再使用的更新任務相關文件工具,並調整思考流程描述以強化理解與解決方案生成的指導。
This commit is contained in:
parent
9911ff95ef
commit
b07672c805
36
src/index.ts
36
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
|
||||
|
@ -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(
|
||||
|
@ -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`;
|
||||
|
Loading…
x
Reference in New Issue
Block a user