[中文](README.md) | [English](docs/en/README.md)

## 目錄

- [✨ 功能特點](#功能特點1)
- [📖 使用指南](#使用指南)
- [🖥️ 任務查看器](#任務查看器)
- [🔬 研究模式](#研究模式)
- [🧩 Planning Workflow 工具集](#Planning-Workflow)
- [🧠 任務記憶功能](#任務記憶功能)
- [📋 專案規範初始化](#專案規範初始化)
- [🌐 網頁圖形介面](#網頁圖形介面)
- [📚 文件資源](#文件資源)
- [🔧 安裝與使用](#安裝與使用)
- [🔌 在支援 MCP 的客戶端中使用](#客戶端中使用)
- [💡 系統提示詞指導](#系統提示詞指導)
- [🛠️ 可用工具一覽](#可用工具一覽)
- [📄 許可協議](#許可協議)
- [🤖 推薦模型](#推薦模型)

# MCP Code Task Manager

[![Shrimp Task Manager Demo](/docs/yt.png)](https://www.youtube.com/watch?v=Arzu0lV09so)

[![smithery badge](https://smithery.ai/badge/@cjo4m06/mcp-shrimp-task-manager)](https://smithery.ai/server/@cjo4m06/mcp-shrimp-task-manager)

> 基于 Shrimp Task Manager 修改
> 🚀 基於 Model Context Protocol (MCP) 的智能任務管理系統，為 AI Agent 提供高效的程式開發工作流程框架。

Code Task Manager透過結構化的工作流程引導，協助 Agent 系統性規劃程式開發步驟，強化任務記憶管理機制，有效避免冗餘與重複的編程工作。

## 特性
专门为Code开发优化,更细致的开发流程.

## ✨ <a id="功能特點1"></a>功能特點

- **任務規劃與分析**：深入理解與分析複雜任務需求
- **智能任務拆分**：將大型任務自動拆分為可管理的小型任務
- **依賴關係管理**：精確處理任務間的依賴關係，確保正確的執行順序
- **執行狀態追蹤**：即時監控任務執行進度和狀態
- **任務完整性驗證**：確保任務成果符合預期要求
- **任務複雜度評估**：自動評估任務複雜度並提供最佳處理建議
- **任務摘要自動更新**：完成任務時自動產生摘要，優化記憶效能
- **任務記憶功能**：自動備份任務歷史記錄，提供長期記憶和參考能力
- **思維鏈過程**：通過步驟化的推理系統性地分析複雜問題
- **研究模式**：系統性技術研究功能，提供引導式工作流程來探索技術、最佳實踐和解決方案比較
- **專案規範初始化**：定義專案標準和規則，維持大型專案的一致性
- **<a id="網頁圖形介面"></a>網頁圖形介面**：提供選用的網頁圖形化使用者介面來管理任務。透過在您的 `.env` 檔案中設定 `ENABLE_GUI=true` 來啟用。啟用後，將會在您的 `DATA_DIR` 中建立一個包含存取網址的 `WebGUI.md` 檔案。您可以透過設定 `WEB_PORT` 來自訂網頁埠號（若未指定，系統將自動選擇可用的埠號）。
- **<a id="任務查看器"></a>任務查看器**：基於 React 的現代化網頁介面，用於查看和管理多個配置文件的任務數據，具有拖放式標籤、即時搜尋和可配置自動刷新等進階功能。詳見[任務查看器文檔](../../tools/task-viewer)以了解設置和使用說明。

  ![任務查看器介面](../../tools/task-viewer/screenshot.png)
  
  ![任務查看器實際運行](../../tools/task-viewer/taskview.png)

- **提示詞自定義**：支援透過環境變數自定義提示詞，適應不同專案需求
- **多語言支援**：內建英文和繁體中文提示詞模板，可擴展支援其他語言
- **專案隔離**：支援 ListRoots 協議實現多專案自動隔離，避免資料混淆
- **狀態持久化**：所有任務狀態和歷史記錄自動保存到磁碟，確保資料不遺失
- **API 整合**：提供標準 API 與支援 MCP 的客戶端整合，如 Cursor IDE
- **環境配置**：支援多種環境變數配置，靈活調整系統行為
- **效能優化**：針對大型專案進行效能優化，確保流暢使用體驗
- **錯誤處理**：完善的錯誤處理機制，提高系統穩定性和可靠性
- **安全設計**：最小權限原則設計，確保資料安全和隱私保護
- **擴展性**：模組化設計，方便後續擴展新的功能和工具
- **跨平台**：支援多種作業系統，包括 Windows、macOS 和 Linux
- **版本管理**：自動記錄重要操作歷史，方便追溯和回滾

## 🧭 <a id="使用指南"></a>使用指南

Code Task Manager提供結構化的 AI 輔助程式開發方法，通過引導式工作流程和系統化任務管理實現高效開發。

### 什麼是蝦米？

蝦米本質上是一個提示詞範本，通過一系列提示詞引導 AI Agent 更好地理解和適應您的專案。它確保 Agent 能夠更貼近您專案的特定需求和慣例。

### 實際應用中的研究模式

在深入任務規劃之前，您可以善用研究模式進行技術調查和知識收集。這在以下情況特別有用：

- 您需要探索新的技術或框架
- 您想要比較不同的解決方案方法
- 您正在調查專案的最佳實踐
- 您需要理解複雜的技術概念

只需告訴 Agent「研究 [您的主題]」或「進入研究模式研究 [技術/問題]」即可開始系統性調查。研究發現將為您後續的任務規劃和開發決策提供資訊基礎。

### 首次使用設置

在使用新專案時，只需對 Agent 說「init project rules」（初始化專案規則）。這將引導 Agent 生成一份符合您專案特定需求和結構的規則檔案。

### 任務規劃流程

要開發或更新功能，使用命令「plan task [您的描述]」（規劃任務 [您的描述]）。系統將參考先前建立的規則，嘗試理解您的專案，搜尋相關程式碼區塊，並根據專案的當前狀態提出全面的計劃。

### 反饋機制

在規劃過程中，蝦米引導 Agent 進行多步驟思考。您可以審查這個過程，如果您覺得某個部分偏離了您的目標，可以直接打斷並提出您的觀點。Agent 將採納您的反饋並繼續思考過程。

### 任務執行

當您對規劃內容滿意後，使用「execute task [任務名稱或 ID]」（執行任務 [任務名稱或 ID]）來實施計劃。如果您不指定任務名稱或 ID，系統將自動識別並執行最優先的任務。

### 連續模式

如果您希望連續執行所有任務而不需要為每個任務手動干預，可以使用「continuous mode」（連續模式）自動處理整個任務隊列。

### Token 限制注意事項

由於 LLM 的 Token 限制，在長時間對話中可能會喪失上下文。如果發生這種情況，只需開啟新的聊天會話並請 Agent 繼續執行即可。系統將從上次中斷的地方繼續，無需重複任務細節或上下文。

### 提示詞語言與客製化

您可以透過設定 `TEMPLATES_USE` 環境變數來切換系統提示詞的語言。預設支援 `en`（英文）和 `zh`（繁體中文）。此外，您也可以複製現有的模板目錄（例如 `src/prompts/templates_en`）到 `DATA_DIR` 指定的位置，進行修改後，將 `TEMPLATES_USE` 指向您的客製化模板目錄名稱，以實現更深度的提示詞客製化

## 🧩 <a id="Planning-Workflow"></a>Planning Workflow 工具集

Code Task Manager 新增了一套完整的 Planning Workflow 工具集，提供系統性的問題分析和解決方案制定流程。這套工具基於結構化的思維方法，幫助 AI Agent 更有效地處理複雜問題。

### Planning Workflow 六步驟

Planning Workflow 包含六個核心步驟，每個步驟都有對應的專用工具：

#### 1. 詳細問題分析 (`detail_analyze_problem`)
- **功能**：使用 5W2H 分析法深入理解問題本質
- **適用場景**：項目初期的問題定義、複雜問題的結構化分析
- **核心能力**：建立完整的問題定義框架，識別根本原因和關鍵約束條件

#### 2. 系統性信息收集 (`systematic_read_content`)
- **功能**：建立多源信息收集策略和質量保證機制
- **適用場景**：技術調研、項目背景信息收集、知識庫建設
- **核心能力**：多源信息整合、信息分類整理、質量驗證機制

#### 3. 深度問題分析 (`deep_analyze_problem`)
- **功能**：多維度問題拆解和根因分析
- **適用場景**：複雜技術問題診斷、系統性故障排查
- **核心能力**：5-Why分析、魚骨圖分析、故障樹分析

#### 4. 全面解決方案思考 (`comprehensive_think_solution`)
- **功能**：建立多類型解決方案生成策略
- **適用場景**：技術方案設計、創新解決方案探索
- **核心能力**：方案分類體系、網絡搜索增強、方案評估篩選

#### 5. 漸進式方案嘗試 (`gradual_try_solution`)
- **功能**：建立漸進式驗證策略和風險控制機制
- **適用場景**：新技術方案實施、高風險項目驗證
- **核心能力**：PoC驗證、原型開發、小規模測試、逐步擴展

#### 6. 詳細過程記錄 (`detail_record_process`)
- **功能**：建立完整的過程記錄體系和知識沉澱機制
- **適用場景**：項目實施記錄、技術決策追蹤、團隊知識管理
- **核心能力**：效果評估框架、知識沉澱機制、經驗總結提煉

### 使用建議

**何時使用 Planning Workflow：**
- 面對複雜的技術挑戰需要系統性分析時
- 需要制定全面的解決方案策略時
- 要求高質量的決策過程記錄時
- 團隊協作需要標準化流程時

**工具組合使用：**
Planning Workflow 工具可以單獨使用，也可以按照 1→2→3→4→5→6 的順序組合使用，形成完整的問題解決流程。

## 🔬 <a id="研究模式"></a>研究模式

Code Task Manager包含專門的研究模式，專為系統性技術調查和知識收集而設計。

### 什麼是研究模式？

研究模式是一個引導式工作流程系統，幫助 AI Agent 進行徹底且系統性的技術研究。它提供結構化的方法來探索技術、比較解決方案、調查最佳實踐，並為程式設計任務收集全面的資訊。

### 主要功能

- **系統性調查**：結構化工作流程確保研究主題的全面覆蓋
- **多源研究**：結合網路搜尋和程式碼庫分析，實現完整理解
- **狀態管理**：在多個會話中維護研究上下文和進度
- **引導式探索**：防止研究變得不專注或偏離主題
- **知識整合**：將研究發現與任務規劃和執行無縫整合

### 何時使用研究模式

研究模式特別適用於：

- **技術探索**：調查新的框架、函式庫或工具
- **最佳實踐研究**：尋找行業標準和推薦方法
- **解決方案比較**：評估不同的技術方法或架構
- **問題調查**：深入研究複雜的技術挑戰
- **架構規劃**：研究設計模式和系統架構

### 如何使用研究模式

只需告訴 Agent 進入研究模式並指定您的主題：

- **基本用法**：「進入研究模式研究 [您的主題]」
- **特定研究**：「研究 [特定技術/問題]」
- **比較分析**：「研究並比較 [選項 A 與選項 B]」

系統將引導 Agent 通過結構化的研究階段，確保徹底調查的同時保持對您特定需求的專注。

### 研究工作流程

1. **主題定義**：明確定義研究範圍和目標
2. **資訊收集**：系統性收集相關資訊
3. **分析與綜合**：處理和組織研究發現
4. **狀態更新**：定期進度追蹤和上下文保存
5. **整合應用**：將研究結果應用到您的專案上下文中

> **💡 建議**：為了獲得最佳的研究模式體驗，我們建議使用 **Claude 4 Sonnet**，它提供卓越的分析能力和全面的研究綜合功能。

## 🧠 <a id="任務記憶功能"></a>任務記憶功能

Code Task Manager具備長期記憶功能，可以自動保存任務執行的歷史記錄，並在規劃新任務時提供參考經驗。

### 功能特點

- 系統會自動將任務備份到 memory 目錄中
- 備份文件按照時間順序命名，格式為 tasks_backup_YYYY-MM-DDThh-mm-ss.json
- 任務規劃 Agent 會自動獲得關於如何利用記憶功能的指導

### 優勢與效益

- **避免重複工作**：參考過去任務，不必從零開始解決類似問題
- **借鑒成功經驗**：利用已驗證有效的解決方案，提高開發效率
- **學習與改進**：識別過去的錯誤或低效方案，持續優化工作流程
- **知識沉澱**：隨著系統使用時間增長，形成持續擴展的知識庫

通過有效利用任務記憶功能，系統能夠不斷積累經驗，智能化程度和工作效率將持續提升。

## 📋 <a id="專案規範初始化"></a>專案規範初始化

專案規範功能有助於維持代碼庫的一致性：

- **標準化開發**：建立一致的編碼模式和實踐
- **新開發者引導**：為專案貢獻提供明確的指南
- **維持品質**：確保所有代碼符合既定的專案標準

> **⚠️ 建議**：當專案規模不斷擴大或發生重大變更時，請初始化專案規範。這有助於在複雜度增加時維持一致性和品質。

在以下情況使用 `init_project_rules` 工具設置或更新專案標準：

- 啟動新的大型專案
- 有新團隊成員加入
- 實施重大架構變更
- 採用新的開發慣例

### 使用範例

您可以透過簡單的自然語言指令輕鬆使用此功能：

- **首次設定時**：只需對 Agent 說「初始化規則」或「初始化專案規則」
- **需要更新時**：當專案發展變化時，對 Agent 說「更新規則」或「更新專案規則」

當您的代碼庫擴展或經歷重大結構變化時，此工具特別有價值，有助於在整個專案生命週期中保持一致的開發實踐。

## 📚 <a id="文件資源"></a>文件資源

- [提示詞自定義指南](prompt-customization.md)：透過環境變數自定義工具提示詞的說明
- [更新日誌](CHANGELOG.md)：記錄此專案的所有重要變更

## 🔧 <a id="安装与使用"></a>安装与使用

### 通过 Smithery 安装

要通过 [Smithery](https://smithery.ai/server/@cjo4m06/mcp-shrimp-task-manager) 为 Claude Desktop 自动安装 Shrimp Task Manager：

```
npx -y @smithery/cli install @cjo4m06/mcp-shrimp-task-manager --client claude
```

### 手动安装

```
# 安装依赖包
npm install

# 构建并启动服务
npm run build
```

## 🔌 <a id="客戶端中使用"></a>在支援 MCP 的客戶端中使用

Code Task Manager可以與任何支援 Model Context Protocol 的客戶端一起使用，例如 Cursor IDE。

### 在 Cursor IDE 中配置

Code Task Manager提供兩種配置方式：全局配置和專案特定配置。

#### ListRoots 協議支援

Code Task Manager現在支援 **ListRoots 協議**，提供自動專案隔離和靈活的路徑配置功能：

- **如果您的客戶端支援 ListRoots** (例如 Cursor IDE)：

  - **絕對路徑模式**：在指定的 DATA_DIR 中建立專案資料夾，讓您可以使用全域 mcp.json 配置，Shrimp 會自動隔離專案
  - **相對路徑模式**：在專案根目錄中建立 DATA_DIR 來存放 Shrimp 資料

- **如果您的客戶端不支援 ListRoots**：
  - DATA_DIR 保持舊版邏輯（建議使用絕對路徑）
  - 建議向您的客戶端廠商要求支援 ListRoots 協議以獲得增強功能

#### 全局配置

1. 開啟 Cursor IDE 的全局設定檔案（通常位於 `~/.cursor/mcp.json`）
2. 在 `mcpServers` 區段中添加以下配置：

**選項 A：絕對路徑（專案隔離模式）**

```
{
  "mcpServers": {
    "shrimp-task-manager": {
      "command": "node",
      "args": ["/path/to/mcp-shrimp-task-manager/dist/index.js"],
      "env": {
        "DATA_DIR": "/Users/username/ShrimpData", // 絕對路徑 - 自動建立專案資料夾
        "TEMPLATES_USE": "zh",
        "ENABLE_GUI": "false"
      }
    }
  }
}
```

**選項 B：NPX 配合絕對路徑**

```
{
  "mcpServers": {
    "shrimp-task-manager": {
      "command": "npx",
      "args": ["-y", "mcp-shrimp-task-manager"],
      "env": {
        "DATA_DIR": "/Users/username/ShrimpData", // 絕對路徑 - 自動建立專案資料夾
        "TEMPLATES_USE": "zh",
        "ENABLE_GUI": "false"
      }
    }
  }
}
```

> ⚠️ 請將 `/path/to/mcp-shrimp-task-manager` 和 `/Users/username/ShrimpData` 替換為您的實際路徑。
>
> 💡 **絕對路徑優勢**：透過 ListRoots 支援，Shrimp 會自動為每個專案建立獨立資料夾（例如 `/Users/username/ShrimpData/my-project/`、`/Users/username/ShrimpData/another-project/`），實現完美的專案隔離，只需要一個全域配置。
>
> 💡 **可選設定：** 您可以在 `env` 區段中添加 `"WEB_PORT": "3000"` 來指定網頁 GUI 的自訂埠號。若未指定，系統將自動選擇可用的埠號。

#### 專案特定配置

您也可以為每個專案設定專屬配置。此方法允許使用相對路徑進行專案內數據存放：

1. 在專案根目錄創建 `.cursor` 目錄
2. 在該目錄下創建 `mcp.json` 文件，內容如下：

**選項 A：相對路徑（專案內存放模式）**

```
{
  "mcpServers": {
    "shrimp-task-manager": {
      "command": "node",
      "args": ["/path/to/mcp-shrimp-task-manager/dist/index.js"],
      "env": {
        "DATA_DIR": ".shrimp", // 相對路徑 - 在專案根目錄建立資料夾
        "TEMPLATES_USE": "zh",
        "ENABLE_GUI": "false"
      }
    }
  }
}
```

**選項 B：NPX 配合相對路徑**

```
{
  "mcpServers": {
    "shrimp-task-manager": {
      "command": "npx",
      "args": ["-y", "mcp-shrimp-task-manager"],
      "env": {
        "DATA_DIR": "shrimp-data", // 相對路徑 - 在專案根目錄建立資料夾
        "TEMPLATES_USE": "zh",
        "ENABLE_GUI": "false"
      }
    }
  }
}
```

**選項 C：絕對路徑（替代方案）**

```
{
  "mcpServers": {
    "shrimp-task-manager": {
      "command": "npx",
      "args": ["-y", "mcp-shrimp-task-manager"],
      "env": {
        "DATA_DIR": "/Users/username/ShrimpData", // 絕對路徑配合專案隔離
        "TEMPLATES_USE": "zh",
        "ENABLE_GUI": "false"
      }
    }
  }
}
```

> ⚠️ 請將 `/path/to/mcp-shrimp-task-manager` 替換為您的實際路徑。
>
> 💡 **相對路徑優勢**：資料存放在專案目錄內（例如 `./shrimp-data/`），方便根據需要選擇是否納入版本控制。
>
> 💡 **可選設定：** 您可以在 `env` 區段中添加 `"WEB_PORT": "3000"` 來指定網頁 GUI 的自訂埠號。若未指定，系統將自動選擇可用的埠號。

### ⚠️ 重要配置說明

**DATA_DIR 參數**是Code Task Manager存儲任務數據、對話記錄等資訊的目錄。新的實作支援絕對路徑和相對路徑，並根據您的客戶端功能提供智慧化行為。

#### 🚀 支援 ListRoots 協議（建議）

如果您的客戶端支援 **ListRoots 協議**（如 Cursor IDE），Code Task Manager會自動偵測您的專案根目錄並提供增強功能：

**絕對路徑模式（專案隔離）：**

- 配置：`"DATA_DIR": "/Users/username/ShrimpData"`
- 行為：自動建立 `{DATA_DIR}/{專案名稱}/`
- 範例：對於專案 "my-app" → `/Users/username/ShrimpData/my-app/`
- **優勢**：使用一個全域配置管理所有專案，完美隔離

**相對路徑模式（專案內存放）：**

- 配置：`"DATA_DIR": ".shrimp"` 或 `"DATA_DIR": "shrimp-data"`
- 行為：在專案內建立 `{專案根目錄}/{DATA_DIR}/`
- 範例：對於 DATA_DIR "shrimp-data" → `./shrimp-data/`
- **優勢**：資料與專案一起存放，方便選擇是否納入版本控制

#### ⚠️ 不支援 ListRoots 協議（舊版模式）

如果您的客戶端**不支援 ListRoots**，系統會回退到舊版行為：

- **強烈建議使用絕對路徑**以避免路徑解析問題
- 相對路徑可能在不同環境下導致行為不一致
- 建議向您的客戶端廠商要求 ListRoots 支援以獲得增強功能

> **舊版警告**：沒有 ListRoots 支援時，使用相對路徑可能導致：
>
> - 數據檔案找不到，導致系統初始化失敗
> - 任務狀態丟失或無法正確保存
> - 應用程式在不同環境下行為不一致
> - 系統崩潰或無法啟動

#### 💡 選擇合適的配置

**使用絕對路徑（全域）當：**

- 您想用一個配置管理多個專案
- 您偏好集中式資料存放
- 您想要自動專案隔離

**使用相對路徑（專案特定）當：**

- 您想讓資料存放在專案目錄內
- 您在不同環境中工作
- 您需要精確控制版本控制的內容

**使用舊版模式當：**

- 您的客戶端不支援 ListRoots 協議
- 您需要與較舊的客戶端版本相容

### 🔧 環境變數配置

Code Task Manager支援透過環境變數自定義提示詞行為，讓您無需修改程式碼即可微調 AI 助手的回應。您可以在配置中或透過 `.env` 文件設置這些變數：

```
{
  "mcpServers": {
    "shrimp-task-manager": {
      "command": "node",
      "args": ["/path/to/mcp-shrimp-task-manager/dist/index.js"],
      "env": {
        "DATA_DIR": "/path/to/project/data",
        "MCP_PROMPT_PLAN_TASK": "自定義規劃指導...",
        "MCP_PROMPT_EXECUTE_TASK_APPEND": "附加執行說明...",
        "TEMPLATES_USE": "en",
        "ENABLE_GUI": "false"
      }
    }
  }
}
```

提供兩種自定義方式：

- **覆蓋模式**（`MCP_PROMPT_[FUNCTION_NAME]`）：完全替換預設提示詞
- **追加模式**（`MCP_PROMPT_[FUNCTION_NAME]_APPEND`）：在現有提示詞基礎上增加內容

此外，還有其他系統配置變數：

- **DATA_DIR**：指定任務數據存儲的目錄
- **TEMPLATES_USE**：指定提示詞使用的模板集。預設為 `en`。目前可用的選項有 `en` 和 `zh`。若要使用自定義模板，請將 `src/prompts/templates_en` 目錄複製到 `DATA_DIR` 指定的位置，重新命名複製的目錄（例如，`my_templates`），並將 `TEMPLATES_USE` 設置為新的目錄名稱（例如，`my_templates`）
- **ENABLE_GUI**：啟用或停用網頁圖形化使用者介面。設定為 `true` 以啟用，`false` 以停用（預設）
- **WEB_PORT**：指定網頁 GUI 的埠號。若未指定，系統將自動選擇可用的埠號。僅在 `ENABLE_GUI` 設定為 `true` 時生效

有關自定義提示詞的詳細說明，包括支援的參數和範例，請參閱[提示詞自定義指南](prompt-customization.md)。

## 💡 <a id="系統提示詞指導"></a>系統提示詞指導

### Cursor IDE 配置

您可以啟用 Cursor Settings => Features => Custom modes 功能，並配置以下兩個模式：

#### TaskPlanner 模式

```
你是一個專業的任務規劃專家，你必須與用戶進行交互，分析用戶的需求，並收集專案相關資訊，最終使用 「plan_task」 建立任務，當任務建立完成後必須總結摘要，並告知用戶使用「TaskExecutor」模式進行任務執行。
你必須專心於任務規劃禁止使用 「execute_task」 來執行任務，
嚴重警告你是任務規劃專家，你不能直接修改程式碼，你只能規劃任務，並且你不能直接修改程式碼，你只能規劃任務。
```

#### TaskExecutor 模式

```
你是一個專業的任務執行專家，當用戶有指定執行任務，則使用 「execute_task」 進行任務執行，
沒有指定任務時則使用 「list_tasks」 尋找未執行的任務並執行，
當執行完成後必須總結摘要告知用戶結論，
你一次只能執行一個任務，當任務完成時除非用戶明確告知否則禁止進行下一則任務。
用戶如果要求「連續模式」則按照順序連續執行所有任務
```

> 💡 根據您的需求場景選擇適當的模式：
>
> - 當需要規劃任務時使用 **TaskPlanner** 模式
> - 當需要執行任務時使用 **TaskExecutor** 模式

### 在其他工具中使用

如果您的工具不支援 Custom modes 功能，可以：

- 在不同階段手動貼上相應的提示詞
- 或直接使用簡單命令如 `請規劃以下任務：......` 或 `請開始執行任務...`

## 🛠️ <a id="可用工具一覽"></a>可用工具一覽

配置完成後，您可使用以下工具：

| 開發階段     | 工具名稱                      | 功能描述                   |
| ------------ | ----------------------------- | -------------------------- |
| **初始化階段** | `init_project_rules`          | 初始化或更新專案標準與規則 |
| **規劃階段** | `plan_task`                   | 開始規劃任務               |
| **分析階段** | `analyze_task`                | 深入分析任務需求           |
|              | `process_thought`             | 針對複雜問題進行步驟化推理 |
|              | `detail_analyze_problem`      | 詳細分析問題的本質、目標和約束條件 |
|              | `systematic_read_content`     | 系統性收集和整理相關信息   |
|              | `deep_analyze_problem`        | 深入分析問題的多維度拆解和根因分析 |
| **設計階段** | `comprehensive_think_solution`| 全面思考並搜索解決方案     |
|              | `reflect_task`                | 反思與改進方案構想         |
|              | `research_mode`               | 進入系統性技術研究模式     |
|              | `gradual_try_solution`        | 逐步嘗試解決方案           |
| **實施階段** | `split_tasks`                 | 將任務拆分為子任務         |
|              | `execute_task`                | 執行特定任務               |
| **驗證階段** | `verify_task`                 | 檢驗任務完成情況           |
| **管理階段** | `list_tasks`                  | 顯示所有任務及狀態         |
|              | `query_task`                  | 搜尋並列出任務             |
|              | `get_task_detail`             | 顯示完整任務詳情           |
|              | `delete_task`                 | 刪除未完成的任務           |
|              | `save_state`                  | 手動保存當前任務狀態       |
|              | `load_state`                  | 載入先前保存的任務狀態     |
|              | `set_config`                  | 設置系統配置參數           |
|              | `get_config`                  | 獲取當前系統配置           |
|              | `list_memories`               | 列出所有可用的任務記憶      |
|              | `load_memory`                 | 載入特定的任務記憶         |
|              | `clear_memory`                | 清除指定的任務記憶         |
| **記錄階段** | `detail_record_process`       | 詳細記錄過程和知識沉澱     |

## 🏗️ <a id="項目架構"></a>項目架構

### 核心架構分析

Code Task Manager 是一個基于 **Model Context Protocol (MCP)** 的智能任務管理系統，專門為 AI Agent 提供結構化的程序開發工作流程框架。

### 技術棧
- **運行環境**: Node.js + TypeScript
- **框架**: Express.js (用於 Web 服務)
- **協議**: Model Context Protocol (MCP) SDK
- **數據驗證**: Zod + zod-to-json-schema
- **其他**: UUID、dotenv、get-port

### 項目結構
```
src/
├── index.ts                 # 主入口文件，MCP 服務器配置
├── models/                  # 數據模型定義
├── prompts/                 # 提示詞模板系統
│   ├── generators/          # 提示詞生成器
│   ├── templates_en/        # 英文模板
│   └── templates_zh/        # 中文模板
├── tools/                   # 核心工具實現
│   ├── task/               # 任務管理工具
│   ├── project/            # 項目管理工具
│   ├── research/           # 研究模式工具
│   └── thought/            # 思維處理工具
├── types/                   # TypeScript 類型定義
├── utils/                   # 工具函數
├── web/                     # Web 服務器
└── public/                  # 靜態資源
```

### 核心功能模塊

#### 1. 任務管理系統
- **任務規劃** (`plan_task`): 深入分析復雜任務需求
- **任務分析** (`analyze_task`): 系統性分析代碼庫和技術可行性
- **任務反思** (`reflect_task`): 批判性審查分析結果
- **任務拆分** (`split_tasks`): 將大型任務分解為可管理的子任務
- **任務執行** (`execute_task`): 獲取執行指導並實施任務
- **任務驗證** (`verify_task`): 驗證任務完成質量

#### 2. 智能工作流程
項目實現了一個完整的 AI 輔助開發工作流程：
```
規劃 → 分析 → 反思 → 拆分 → 執行 → 驗證
```

#### 3. 多語言支持
- 內置英文和中文提示詞模板
- 支持通過環境變量切換語言
- 可擴展的模板系統

#### 4. 研究模式
- 系統性技術調查功能
- 引導式工作流程探索技術和最佳實踐
- 防止研究偏離主題的機制

## 🔧 <a id="技術實現"></a>技術實現

### 技術特色

#### 1. MCP 協議集成
- 完整的 MCP 服務器實現
- 支持 ListRoots 協議實現項目隔離
- 與支持 MCP 的客戶端（如 Cursor IDE）無縫集成

#### 2. 模塊化設計
- 清晰的功能模塊分離
- 可擴展的工具系統
- 標準化的錯誤處理

#### 3. 狀態持久化
- 任務狀態自動保存到磁盤
- 支持任務歷史記錄和備份
- 長期記憶功能避免重復工作

#### 4. Web 界面支持
- 可選的 Web GUI 界面
- 基於 React 的任務查看器
- 支持多配置文件管理

### 核心技術

- **Node.js**: High-performance JavaScript runtime environment
- **TypeScript**: Provides type-safe development environment
- **Express**: Web framework for building RESTful APIs
- **MCP SDK**: Interface for seamless interaction with large language models
- **UUID**: Generate unique and reliable task identifiers