refactor(core): 移除 todoread 工具

todowrite 工具返回值已包含完整列表,todoread 工具多余
This commit is contained in:
2025-12-17 14:00:22 +08:00
parent 6b3d62b4d6
commit fe6ef9be9b
12 changed files with 1 additions and 70 deletions
-1
View File
@@ -181,7 +181,6 @@ export const buildAgent: Omit<AgentInfo, 'name'> = {
'agent_output',
// ============ Todo 任务管理 ============
'todoread',
'todowrite',
// ============ Web 工具 ============
@@ -81,7 +81,6 @@ export const exploreAgent: Omit<AgentInfo, 'name'> = {
'edit_file',
'multi_edit',
// 禁用 Todo(由父 Agent 管理)
'todo_read',
'todo_write',
// 禁用 Git 写操作
'git_add',
@@ -40,7 +40,6 @@ export const generalAgent: Omit<AgentInfo, 'name'> = {
3. 需要父 Agent 注意的事项(如有)`,
tools: {
disabled: [
'todo_read',
'todo_write',
],
noTask: true, // 禁止嵌套调用 Task
-1
View File
@@ -80,7 +80,6 @@ export const guideAgent: Omit<AgentInfo, 'name'> = {
'edit_file',
'multi_edit',
// 禁用 Todo(由父 Agent 管理)
'todo_read',
'todo_write',
// 禁用 Git 写操作
'git_add',
-1
View File
@@ -108,7 +108,6 @@ export const planAgent: Omit<AgentInfo, 'name'> = {
'web_search',
'web_extract',
// Todo 管理
'todoread',
'todowrite',
// Plan 模式工具
'ask_user_question',
-1
View File
@@ -333,7 +333,6 @@ export const DEFAULT_TOOL_NAMES: ToolNameMapping = {
enterPlanMode: 'enter_plan_mode',
task: 'task',
agentOutput: 'agent_output',
todoRead: 'todoread',
todoWrite: 'todowrite',
webSearch: 'web_search',
webExtract: 'web_extract',
-1
View File
@@ -79,7 +79,6 @@ export interface ToolNameMapping {
enterPlanMode: string;
task: string;
agentOutput: string;
todoRead: string;
todoWrite: string;
webSearch: string;
webExtract: string;
@@ -1,8 +0,0 @@
读取当前会话的待办事项列表。
返回所有待办事项及其状态:
- pending: 待处理
- in_progress: 进行中
- completed: 已完成
用于查看任务进度和剩余工作。
+1 -2
View File
@@ -6,7 +6,7 @@ import { bashTool } from './shell/index.js';
// 核心工具
import { toolSearchTool } from './tool-search.js';
import { todoReadTool, todoWriteTool } from './todo/index.js';
import { todoWriteTool } from './todo/index.js';
// Task 工具(Agent 子任务)
import { taskTool, agentOutputTool } from './task/index.js';
@@ -65,7 +65,6 @@ const allToolsWithMetadata: ToolWithMetadata[] = [
// 核心工具 (deferLoading: false)
toolSearchTool,
bashTool,
todoReadTool,
todoWriteTool,
taskTool,
agentOutputTool,
@@ -31,7 +31,6 @@ const TOOL_CATEGORY_MAP: Record<string, string> = {
git_checkout: 'git',
git_stash: 'git',
// todo
todo_read: 'todo',
todo_write: 'todo',
// plan
ask_user_question: 'plan',
-1
View File
@@ -1,3 +1,2 @@
export { todoReadTool } from './todoread.js';
export { todoWriteTool } from './todowrite.js';
export { todoManager } from './todo-manager.js';
-51
View File
@@ -1,51 +0,0 @@
import type { ToolResult } from '../../types/index.js';
import type { ToolWithMetadata } from '../types.js';
import { todoManager } from './todo-manager.js';
export const todoReadTool: ToolWithMetadata = {
name: 'todoread',
description: `读取当前会话的待办事项列表。
使用场景:
- 在对话开始时查看待处理的任务
- 开始新任务前了解当前进度
- 用户询问之前的任务或计划时
- 不确定下一步做什么时
- 完成任务后更新对剩余工作的理解
- 每隔几条消息检查一次以确保进度正常
返回格式:
- 返回 JSON 格式的待办事项列表
- 每个事项包含 id、content(内容)、status(状态)
- 状态:pending(待处理)、in_progress(进行中)、completed(已完成)`,
metadata: {
name: 'todoread',
category: 'core',
description: '读取待办事项列表',
keywords: ['todo', 'task', 'list', 'read', '待办', '任务', '列表', '进度'],
deferLoading: false, // 核心工具,始终加载
},
parameters: {},
execute: async (): Promise<ToolResult> => {
if (!todoManager.isInitialized()) {
return {
success: false,
output: '',
error: '会话管理器未初始化,无法读取待办事项',
};
}
const todos = todoManager.getTodos();
const pendingCount = todos.filter((t) => t.status !== 'completed').length;
return {
success: true,
output: JSON.stringify(todos, null, 2),
metadata: {
todos,
pendingCount,
totalCount: todos.length,
},
};
},
};