- ✨ 功能特性
- 🧭 使用指南
- 🧠 任务记忆功能
- 📋 项目规范初始化
- 🌐 Web GUI
- 📚 文档资源
- 🔧 安装与使用
- 🔌 与MCP兼容的客户端一起使用
- 💡 系统提示指导
- 🛠️ 可用工具概览
- 📄 许可证
- 🤖 推荐模型
🚀 一个基于模型上下文协议 (MCP) 的智能任务管理系统,为 AI Agent 提供高效的编程工作流框架。
虾米任务管理器通过结构化的工作流引导 Agent 进行系统化编程,增强任务记忆管理机制,并有效避免冗余和重复的编码工作。
- 任务规划与分析:深入理解和分析复杂任务需求
- 智能任务分解:自动将大型任务分解为可管理的小型任务
- 依赖管理:精确处理任务间的依赖关系,确保正确的执行顺序
- 执行状态跟踪:实时监控任务执行进度和状态
- 任务完成性验证:确保任务结果符合预期要求
- 任务复杂度评估:自动评估任务复杂度并提供最佳处理建议
- 自动任务摘要更新:任务完成时自动生成摘要,优化记忆性能
- 任务记忆功能:自动备份任务历史,提供长期记忆和参考能力
- 项目规范初始化:定义项目标准和规则,以保持大型项目的一致性
- Web GUI:提供一个可选的基于 Web 的图形用户界面来管理任务。通过在您的
.env
文件中设置ENABLE_GUI=true
来启用。启用后,将在您的DATA_DIR
中创建一个包含访问地址的WebGUI.md
文件。
虾米任务管理器通过引导式工作流和系统化任务管理,为 AI 辅助编程提供了一种结构化方法。
虾米本质上是一个提示模板,引导 AI Agent 更好地理解和使用您的项目。它使用一系列提示来确保 Agent 与您项目的特定需求和约定紧密对齐。
在处理新项目时,只需告诉 Agent "初始化项目规范"。这将引导 Agent 生成一套适合您项目特定需求和结构的规范。
要开发或更新功能,请使用命令"规划任务 [您的描述]"。系统将参考先前建立的规范,尝试理解您的项目,搜索相关代码段,并根据项目的当前状态提出综合计划。
在规划过程中,虾米会引导 Agent 完成多步思考。您可以审查此过程,如果觉得方向有误,可以提供反馈。只需打断并分享您的观点——Agent 将采纳您的反馈并继续规划过程。
当您对计划满意后,使用"执行任务 [任务名称或ID]"来实施它。如果您未指定任务名称或ID,系统将自动识别并执行优先级最高的任务。
如果您希望按顺序执行所有任务,而无需为每个任务手动干预,请使用"连续模式"自动处理整个任务队列。
由于语言模型的 Token 限制,在长时间对话中可能会丢失上下文。如果发生这种情况,只需打开一个新的聊天会话并要求 Agent 继续执行。系统将从中断处继续,无需您重复任务细节或上下文。
您可以通过设置 TEMPLATES_USE
环境变量来切换系统提示的语言。默认支持 en
(英语) 和 zh
(繁体中文)。此外,您可以将现有的模板目录(例如 src/prompts/templates_en
)复制到 DATA_DIR
指定的位置,对其进行修改,然后将 TEMPLATES_USE
指向您的自定义模板目录名称。这允许更深层次的提示自定义。有关详细说明,请参阅相关文档。
虾米任务管理器具有长期记忆功能,可自动保存任务执行历史,并在规划新任务时提供参考经验。
- 系统自动将任务备份到记忆目录
- 备份文件按时间顺序命名,格式为 tasks_backup_YYYY-MM-DDThh-mm-ss.json
- 任务规划 Agent 会自动获得关于如何使用记忆功能的指导
- 避免重复工作:参考过去的任务,无需从头解决类似问题
- 借鉴成功经验:利用行之有效的解决方案,提高开发效率
- 学习与改进:识别过去的错误或低效解决方案,持续优化工作流程
- 知识积累:随着系统使用量的增加,形成不断扩展的知识库
通过有效利用任务记忆功能,系统可以不断积累经验,智能水平和工作效率也将持续提高。
项目规范功能有助于保持代码库的一致性:
- 规范化开发:建立一致的编码模式和实践
- 新开发人员入门:为项目贡献提供清晰的指南
- 保持质量:确保所有代码符合既定的项目标准
⚠️ 建议:当您的项目变大或发生重大更改时,请初始化项目规范。这有助于在复杂性增加时保持一致性和质量。
在以下情况下使用 init_project_rules
工具设置或更新项目标准:
- 启动新的大型项目
- 新团队成员加入
- 实施重大的架构变更
- 采用新的开发约定
您可以通过简单的自然语言命令轻松访问此功能:
- 初次设置:只需告诉 Agent "初始化规范"或"初始化项目规范"
- 更新时:当您的项目演变时,告诉 Agent "更新规范"或"更新项目规范"
当您的代码库扩展或经历重大结构性更改时,此工具尤其有价值,有助于在整个项目生命周期中保持一致的开发实践。
- 提示自定义指南:有关通过环境变量自定义工具提示的说明
您可以使用以下命令直接从我们的私有 Nexus 仓库安装 @unis/mcp-shrimp-task-manager
:
npm install @unis/mcp-shrimp-task-manager --registry=http://nexus.item.pub/repository/npm-private/
如果您需要从源码进行本地开发或构建:
# 安装依赖
npm install
# 构建服务
npm run build
虾米任务管理器可以与任何支持模型上下文协议的客户端一起使用,例如 Cursor IDE。
虾米任务管理器提供两种配置方法:全局配置和项目特定配置。
- 打开 Cursor IDE 全局配置文件(通常位于
~/.cursor/mcp.json
) - 在
mcpServers
部分添加以下配置:
{
"mcpServers": {
"shrimp-task-manager": {
"command": "node",
"args": ["/mcp-shrimp-task-manager/dist/index.js"],
"env": {
"DATA_DIR": "/path/to/project/data", // 必须使用绝对路径
"TEMPLATES_USE": "en",
"ENABLE_GUI": "false"
}
}
}
}
或者
{
"mcpServers": {
"shrimp-task-manager": {
"command": "npx",
"args": ["-y", "mcp-shrimp-task-manager"],
"env": {
"DATA_DIR": "/mcp-shrimp-task-manager/data",
"TEMPLATES_USE": "en",
"ENABLE_GUI": "false"
}
}
}
}
⚠️ 请将/mcp-shrimp-task-manager
替换为您的实际路径。
您还可以为每个项目设置专用配置,以便为不同的项目使用独立的数据目录:
- 在项目根目录中创建一个
.cursor
目录 - 在此目录中创建一个
mcp.json
文件,内容如下:
{
"mcpServers": {
"shrimp-task-manager": {
"command": "node",
"args": ["/path/to/mcp-shrimp-task-manager/dist/index.js"],
"env": {
"DATA_DIR": "/path/to/project/data", // 必须使用绝对路径
"TEMPLATES_USE": "en",
"ENABLE_GUI": "false"
}
}
}
}
或者
{
"mcpServers": {
"shrimp-task-manager": {
"command": "npx",
"args": ["-y", "mcp-shrimp-task-manager"],
"env": {
"DATA_DIR": "/path/to/project/data", // 必须使用绝对路径
"TEMPLATES_USE": "en",
"ENABLE_GUI": "false"
}
}
}
}
DATA_DIR 参数是虾米任务管理器存储任务数据、对话日志和其他信息的目录。正确设置此参数对于系统的正常运行至关重要。此参数必须使用绝对路径;使用相对路径可能会导致系统错误地定位数据目录,从而导致数据丢失或功能故障。
警告:使用相对路径可能会导致以下问题:
- 找不到数据文件,导致系统初始化失败
- 任务状态丢失或无法正确保存
- 不同环境下应用程序行为不一致
- 系统崩溃或无法启动
虾米任务管理器支持通过环境变量自定义提示行为,使您无需修改代码即可微调 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
)。
有关自定义提示的详细说明,包括支持的参数和示例,请参阅提示自定义指南。
您可以启用 Cursor 设置 => 功能 => 自定义模式,并配置以下两种模式:
您是一位专业的任务规划专家。您必须与用户互动,分析他们的需求,并收集项目相关信息。最后,您必须使用 "plan_task" 来创建任务。创建任务后,您必须对其进行总结,并通知用户使用 "TaskExecutor" 模式执行任务。
您必须专注于任务规划。不要使用 "execute_task" 来执行任务。
严重警告:您是任务规划专家,不能直接修改程序代码,只能规划任务,不能直接修改程序代码,只能规划任务。
您是一位专业的任务执行专家。当用户指定要执行的任务时,请使用 "execute_task" 执行任务。
如果未指定任务,请使用 "list_tasks" 查找未执行的任务并执行它们。
执行完成后,必须给出总结以通知用户结论。
您一次只能执行一个任务,完成一个任务后,除非用户明确告知,否则禁止执行下一个任务。
如果用户请求"连续模式",则所有任务将按顺序执行。
💡 根据您的需求选择合适的模式:
- 规划任务时使用任务规划器模式
- 执行任务时使用任务执行器模式
如果您的工具不支持自定义模式,您可以:
- 在不同阶段手动粘贴相应的提示
- 或者直接使用简单的命令,例如
请规划以下任务:......
或请开始执行任务...
配置完成后,您可以使用以下工具:
类别 | 工具名称 | 描述 |
---|---|---|
任务规划 | plan_task |
开始规划任务 |
任务分析 | analyze_task |
深入分析任务需求 |
process_thought |
对复杂问题进行逐步推理 | |
解决方案评估 | reflect_task |
反思和改进解决方案概念 |
项目管理 | init_project_rules |
初始化或更新项目标准和规则 |
任务管理 | split_tasks |
将任务分解为子任务 |
list_tasks |
显示所有任务和状态 | |
query_task |
搜索和列出任务 | |
get_task_detail |
显示完整的任务详细信息 | |
delete_task |
删除未完成的任务 | |
任务执行 | execute_task |
执行特定任务 |
verify_task |
验证任务完成情况 |
- Node.js:高性能 JavaScript 运行时环境
- TypeScript:提供类型安全的开发环境
- MCP SDK:用于与大型语言模型无缝交互的接口
- UUID:生成唯一可靠的任务标识符
本项目根据 MIT 许可证授权 - 详见 LICENSE 文件。
为获得最佳体验,我们建议使用以下模型:
- Claude 3.7:提供强大的理解和生成能力。
- Gemini 2.5:谷歌最新模型,表现优异。
由于不同模型的训练方法和理解能力存在差异,使用其他模型可能会导致相同提示产生不同的结果。本项目已针对 Claude 3.7 和 Gemini 2.5 进行了优化。
虾米任务管理器包含内置调试工具,利用 MCP Inspector 帮助您解决问题并了解工具的工作方式。
我们提供多种在调试模式下运行应用程序的方法:
npm run debug
这将启动带有 MCP Inspector 的应用程序,允许您查看所有工具调用和模型响应。
debug.bat
或带参数:
debug.bat --port 3001 --feature verifyTask
node scripts/debug.js
带参数:
node scripts/debug.js --port 3001 --feature verifyTask
--port
:指定服务器的端口(默认为 3000)--feature
:将调试重点放在特定功能或工具上
在调试模式下运行时:
- MCP Inspector 界面将在 http://localhost:3000(或您指定的端口)上可用
- 所有工具调用和模型响应都将显示在 Inspector 中
- Node.js 调试通过
--inspect
标志启用,允许您连接 Chrome DevTools(导航到 chrome://inspect) - 控制台输出将显示应用程序活动的详细日志
- API 错误:调试 API 响应和请求格式问题
- 工具链问题:检查 verifyTask 和 taskReport 等不同工具之间的流程
- 模板问题:检查模板文件是否正确加载
- 数据持久性:监控任务数据的保存和检索方式
提示:调试模板问题时,请在启动调试模式前运行
npm run build
,确保您的构建过程已将所有模板文件正确复制到 dist 目录。