Coding Agent 最痛的事

你用 Claude Code 或 Codex 写一个中型功能,通常会遇到三件事:

Shrimp Task Manager 就是为这三个问题设计的。它不是又一个 Coding Agent,而是一个 跑在 MCP 协议上的任务管理系统——给你的 Agent 加一个「外挂大脑」,让它能记住计划、跟踪进度、反思改进。

它到底是什么

一句话:一个 MCP Server,把项目级的任务管理能力暴露给任何支持 MCP 的 AI Agent。

Shrimp 不写代码、不改文件。它做的事情是:

  1. 你告诉它「要做一个用户认证功能」
  2. 它用 chain-of-thought 分析需求,自动拆成子任务
  3. 建立任务依赖图——哪个先做、哪个后做
  4. Agent 按顺序执行,每完成一个就标记状态
  5. 跨会话持久化——关掉 Claude Code 再打开,任务列表还在

本质上它是 给 Agent 加了一层 project management。就像 Jira 之于人类开发者,Shrimp 之于 AI Agent。

核心能力拆解

🧠 Chain-of-Thought 任务规划

Shrimp 的 plan_task 工具不是简单地列 TODO。它会先分析需求、研究代码库、识别依赖关系,然后生成一个带思考过程的任务计划。这跟「让 Agent 直接写代码」的区别就像「先画架构图再写代码」和「上来就写」的区别。

🔄 Reflection 机制

这是 Shrimp 最有特色的能力。reflect_task 工具让 Agent 在完成任务后进行自我审查:方案对不对?有没有遗漏?代码质量如何?这不是人类 review,是 Agent 自己 review 自己——类似于 OpenAI o1 的「思考再回答」,但发生在任务级别。

📋 完整的工具矩阵

类别工具作用
规划plan_task深度分析需求,生成任务计划
analyze_task分析任务复杂度和依赖
split_tasks把大任务拆成原子子任务
research_mode技术调研模式,对比方案
init_project_rules定义项目编码规范
执行execute_task执行特定任务
complete_task标记任务完成
update_task修改任务详情
验证verify_task验证任务完成质量
reflect_task反思并改进执行方式
query_task按条件搜索任务
记忆get_task_detail获取任务详情和历史
clear_all_tasks清空任务(自动备份)

💾 跨会话持久化

任务数据存在本地文件系统(通过 DATA_DIR 环境变量指定),不依赖任何云服务。关掉 Agent、重启电脑、换一个终端——回来后 list_tasks 一看,任务状态还在。这是解决「上下文丢失」问题的关键。

🌐 Web 可视化

Shrimp 还自带了一个 React 写的 Task Viewer,拖拽排序、实时搜索、多 profile 切换。对于复杂项目,有个可视化的任务看板比在终端里看文本列表舒服得多。

怎么接入

Shrimp 是标准的 MCP Server,接入任何支持 MCP 的 Agent 都只需要一个配置。

Claude Code

# 克隆并构建
git clone https://github.com/cjo4m06/mcp-shrimp-task-manager.git
cd mcp-shrimp-task-manager
npm install && npm run build

在项目目录创建 .mcp.json

{
  "mcpServers": {
    "shrimp-task-manager": {
      "command": "node",
      "args": ["/path/to/mcp-shrimp-task-manager/dist/index.js"],
      "env": {
        "DATA_DIR": "/path/to/your/project/shrimp_data",
        "TEMPLATES_USE": "en"
      }
    }
  }
}
# 启动
claude --mcp-config .mcp.json

OpenCode

{
  "mcp": {
    "shrimp-task-manager": {
      "type": "local",
      "command": ["node", "/path/to/dist/index.js"],
      "env": {
        "DATA_DIR": "./shrimp_data"
      },
      "enabled": true
    }
  }
}

Cline / Cursor / 其他

只要支持 MCP 协议的客户端,配置 command + args 指向 dist/index.js 就行。Shrimp 用的是 @modelcontextprotocol/sdk 标准实现,不依赖任何特定 Agent。

日常使用流程

# 1. 初始化项目规范
"init project rules"

# 2. 规划任务
"plan task: implement user authentication with JWT"
# → Agent 分析代码库,生成带依赖的任务计划

# 3. 执行任务
"execute task"
# → 按依赖顺序逐个执行

# 4. 连续模式(自动执行所有任务)
"continuous mode"

# 5. 反思改进
"reflect task 2"
# → Agent 回顾任务 2 的执行过程,提出改进建议

# 6. 跨会话恢复
# 关掉 Claude Code,明天打开
"list tasks"
# → 看到昨天的任务状态,继续干活

跟其他方案比

维度Shrimp Task Managerplanning-with-filesAgent 内置 todo
方法MCP Server + 持久化存储3 个 Markdown 文件Agent 自带的 todo list
跨会话✅ 文件系统持久化✅ 文件在就行❌ /clear 就没了
任务依赖✅ 自动管理依赖图❌ 手动排序❌ 平铺列表
自动拆分✅ AI 驱动的子任务分解❌ 手动❌ 需要人指定
反思机制✅ reflect_task
可视化✅ Web Task Viewer❌ 纯文本❌ 终端内
复杂度需要构建 Node.js 项目零配置零配置
适合场景中大型项目、多人协作简单脚本、快速原型单次小任务

一句话总结:planning-with-files 是「三张便签纸」,Shrimp 是「Jira for Agent」。简单任务用便签纸够了,复杂项目你需要一个真正的任务管理系统。

踩坑实录

坑 1:Node.js 版本。Shrimp 要求 Node.js 18+,用的是 ES Modules("type": "module")。如果你的系统默认 Node 版本太老,构建会报语法错误。建议用 nvm 管理版本。

坑 2:DATA_DIR 路径。这个目录必须在启动 Agent 之前就存在,Shrimp 不会自动创建。第一次用忘了建目录,Agent 调 plan_task 直接报错。

坑 3:上下文开销。Shrimp 暴露了 15+ 个 MCP 工具,每个工具的描述都会占上下文 token。如果你同时开了好几个 MCP Server,上下文会紧张。建议只在需要任务管理的项目里启用 Shrimp。

坑 4:任务粒度。plan_task 的默认拆分粒度有时候太细——一个「加登录功能」被拆成 8 个子任务。可以在 prompt 里指定「拆成 3 个主要步骤」来控制粒度。

适合谁

不适合的人:写个脚本、改个 bug 这种 5 分钟搞定的事——杀鸡不用牛刀,直接跟 Agent 说就行。

总结

Shrimp Task Manager 做的事情本质上是:把「人脑中的项目管理」外化成了 Agent 可调用的结构化工具。chain-of-thought 让规划更靠谱,reflection 让执行有改进,持久化让上下文不会丢。

2.1K Star 不算多,但它解决的问题是实实在在的——每个用 Coding Agent 做过中型项目的人都踩过「上下文丢了」的坑。Shrimp 是目前 MCP 生态里最完整的任务管理方案。

# 现在就试试
git clone https://github.com/cjo4m06/mcp-shrimp-task-manager.git
cd mcp-shrimp-task-manager
npm install && npm run build
# 然后在你的 .mcp.json 里加上配置就行