mcp-shrimp-task-manager/docs/api-reference.md

168 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 蝦米任務管理器 API 參考文檔
本文檔提供蝦米任務管理器的 API 參考,包含所有可用工具的詳細說明和參數列表。
## 新增功能
### 1. 刪除任務功能
#### `delete_task`
允許刪除未完成狀態的任務,但禁止刪除已完成的任務。
**參數:**
| 參數名 | 類型 | 必填 | 描述 |
| ------ | ------ | ---- | --------------------------------------------------------- |
| taskId | string | 是 | 待刪除任務的唯一標識符,必須是系統中存在且未完成的任務 ID |
**返回:**
- 成功:返回操作成功的確認訊息
- 失敗:返回錯誤訊息,說明失敗原因(任務不存在、任務已完成、有依賴關係等)
**使用範例:**
```javascript
const deleteResult = await mcp.mcp_shrimp_task_manager.delete_task({
taskId: "task-uuid-here",
});
```
**約束條件:**
- 不允許刪除已完成的任務(狀態為 `COMPLETED`
- 如果有其他任務依賴於此任務,也不允許刪除
- 刪除操作不可逆,請謹慎使用
### 2. 任務複雜度自適應處理
系統會在執行任務時自動評估任務複雜度,並提供相應的處理建議。此功能無需額外的 API 調用,在執行 `execute_task` 時自動應用。
**複雜度級別:**
- **低複雜度**:簡單且直接的任務,通常不需要特殊處理
- **中等複雜度**:具有一定複雜性但仍可管理的任務
- **高複雜度**:複雜且耗時的任務,需要特別關注
- **極高複雜度**:極其複雜的任務,建議拆分處理
**複雜度評估指標:**
- **描述長度**:任務描述的字符數
- **依賴數量**:任務依賴的前置任務數量
- **注記長度**:任務注記的字符數(如果有)
**複雜度閾值:**
| 指標 | 中等複雜度 | 高複雜度 | 極高複雜度 |
| -------- | ---------- | ---------- | ---------- |
| 描述長度 | >500 字符 | >1000 字符 | >2000 字符 |
| 依賴數量 | >2 個 | >5 個 | >10 個 |
| 注記長度 | >200 字符 | >500 字符 | >1000 字符 |
### 3. 任務摘要自動更新機制
當任務完成時,系統會自動生成或使用提供的摘要信息,以優化 LLM 的記憶效能。
#### `complete_task`
標記任務為已完成狀態,可提供自定義摘要或使用系統自動生成的摘要。
**參數:**
| 參數名 | 類型 | 必填 | 描述 |
| ------- | ------ | ---- | -------------------------------------------------------------------- |
| taskId | string | 是 | 待標記為完成的任務唯一標識符,必須是狀態為「進行中」的有效任務 ID |
| summary | string | 否 | 任務完成摘要,簡潔描述實施結果和重要決策(選填,如未提供將自動生成) |
**返回:**
- 成功:任務被標記為完成,並顯示任務報告要求
- 失敗:返回錯誤訊息,說明失敗原因
**使用範例:**
```javascript
// 提供自定義摘要
const completeResult = await mcp.mcp_shrimp_task_manager.complete_task({
taskId: "task-uuid-here",
summary:
"成功實現用戶驗證功能,包括登入、登出和密碼重設流程。採用了 JWT 令牌機制確保安全性,並添加了針對常見攻擊的防護措施。",
});
// 使用自動生成的摘要
const completeResult = await mcp.mcp_shrimp_task_manager.complete_task({
taskId: "task-uuid-here",
});
```
**自動摘要生成:**
當未提供 `summary` 參數時,系統會根據任務名稱和描述自動生成摘要。
## 工作日誌功能
### 1. 查詢日誌
#### `list_conversation_log`
查詢系統對話日誌,支持按任務 ID 或時間範圍過濾,提供分頁功能。
**參數:**
| 參數名 | 類型 | 必填 | 描述 |
| --------- | ------ | ---- | ------------------------------------------- |
| taskId | string | 否 | 按任務 ID 過濾(選填) |
| startDate | string | 否 | 起始日期過濾ISO 格式字串(選填) |
| endDate | string | 否 | 結束日期過濾ISO 格式字串(選填) |
| limit | number | 否 | 返回結果數量限制,預設 20最大 100選填 |
| offset | number | 否 | 分頁偏移量,預設 0選填 |
**使用範例:**
```javascript
const logResult = await mcp.mcp_shrimp_task_manager.list_conversation_log({
taskId: "task-uuid-here", // 選填,按特定任務過濾
startDate: "2025-01-01T00:00:00Z", // 選填,開始日期
endDate: "2025-12-31T23:59:59Z", // 選填,結束日期
limit: 20, // 選填,每頁顯示數量
offset: 0, // 選填,分頁起始位置
});
```
### 2. 清除日誌
#### `clear_conversation_log`
清除所有對話日誌記錄,操作不可逆。
**參數:**
| 參數名 | 類型 | 必填 | 描述 |
| ------- | ------- | ---- | ------------------------- |
| confirm | boolean | 是 | 確認刪除操作,必須為 true |
**使用範例:**
```javascript
const clearResult = await mcp.mcp_shrimp_task_manager.clear_conversation_log({
confirm: true, // 必填,確認刪除操作
});
```
## 完整 API 列表
除了上述新增功能外,蝦米任務管理器還提供以下核心功能:
1. **開始規劃**`plan_task`
2. **分析問題**`analyze_task`
3. **反思構想**`reflect_task`
4. **拆分任務**`split_tasks`
5. **列出任務**`list_tasks`
6. **執行任務**`execute_task`
7. **檢驗任務**`verify_task`
8. **完成任務**`complete_task`
9. **刪除任務**`delete_task`
10. **查詢日誌**`list_conversation_log`
11. **清除日誌**`clear_conversation_log`