README
🚀 Local PM
Local PM 是一款轻量级的自托管项目管理工具,内置 MCP(模型上下文协议)服务器,可让 AI 助手直接管理你的项目、工单和团队。
✨ 主要特性
- 看板管理:支持通过拖放操作管理工单,包含待办、进行中、已完成三列。
- 项目管理:可通过自定义项目(图标、颜色、前缀)来组织工作。
- 团队协作:可将工单分配给团队,便于更好地组织工作。
- 工单功能:功能完备的工单系统,具备以下特性:
- 优先级(紧急、高、中、低)
- 截止日期
- 带颜色的自定义标签
- 支持完成状态跟踪的子任务
- 工单依赖关系(被阻塞)
- 富文本描述
- MCP 服务器:通过模型上下文协议实现原生 AI 项目管理。
- 自托管:数据存储在本地机器。
- 支持 Docker:可通过一条命令完成部署。
📦 安装指南
使用 Docker(推荐)
- 克隆仓库:
git clone https://github.com/your-username/local-pm.git
cd local-pm
- 启动容器:
docker-compose up -d
- 在浏览器中访问
http://localhost:3010打开应用。
手动安装
- 克隆仓库并安装依赖:
git clone https://github.com/your-username/local-pm.git
cd local-pm
npm install
- 设置环境变量:
cp .env.example .env
# 编辑 .env 文件,配置 MongoDB 连接字符串
- 启动开发服务器:
npm run dev
💻 使用示例
MCP 服务器设置
MCP(模型上下文协议)服务器允许像 Claude 这样的 AI 助手直接与你的项目管理数据进行交互。
构建 MCP 服务器
cd mcp-server
npm install
npm run build
添加到 Claude 代码(全局)
claude mcp add --scope user local-pm node "/path/to/local-pm/mcp-server/dist/index.js"
添加到 Claude 桌面版
在你的 Claude 桌面版配置文件(~/.claude/claude_desktop_config.json)中添加以下内容:
{
"mcpServers": {
"local-pm": {
"command": "node",
"args": ["/path/to/local-pm/mcp-server/dist/index.js"],
"env": {
"LOCAL_PM_URL": "http://localhost:3010"
}
}
}
}
MCP 工具参考
MCP 服务器提供了 18 个工具用于完整的项目管理:
项目工具
| 工具 | 描述 |
|------|-------------|
| list_projects | 列出所有项目,可选择按状态过滤 |
| get_project | 根据 ID 获取项目详细信息 |
| create_project | 创建一个新的项目,需指定名称、前缀、图标和颜色 |
| update_project | 更新项目属性 |
| delete_project | 删除一个项目,可选择同时删除其所有工单 |
团队工具
| 工具 | 描述 |
|------|-------------|
| list_teams | 列出所有团队 |
| get_team | 根据 ID 获取团队详细信息 |
| create_team | 创建一个新的团队 |
| update_team | 更新团队属性 |
| delete_team | 删除一个团队 |
工单工具
| 工具 | 描述 |
|------|-------------|
| list_tickets | 根据过滤条件(项目、团队、状态、优先级)列出工单 |
| get_ticket | 根据 ID 获取工单详细信息 |
| create_ticket | 创建一个具有完整属性的新工单 |
| update_ticket | 更新工单属性 |
| move_ticket | 将工单移动到不同的状态列 |
| delete_ticket | 删除一个工单 |
看板和子任务工具
| 工具 | 描述 |
|------|-------------|
| get_board | 获取按状态分组的完整看板信息 |
| toggle_subtask | 切换子任务的完成状态 |
| add_subtask | 为工单添加一个子任务 |
MCP 如何增强 AI 开发
什么是 MCP?
模型上下文协议(MCP)是一个开放标准,它使 AI 助手能够与外部工具和数据源进行交互。AI 不仅可以进行聊天,还可以通过定义良好的工具接口在现实世界中采取行动。
对 AI 辅助开发的好处
- 持久任务跟踪
- AI 可以为其正在实现的功能创建工单。
- 跨编码会话跟踪进度。
- 不会丢失已完成或待办事项的上下文信息。
- 结构化工作流程
- AI 可以将复杂的功能分解为子任务。
- 设置优先级和截止日期。
- 管理工单之间的依赖关系。
- 项目组织
- AI 可以将工作组织成逻辑项目。
- 将任务分配给团队。
- 清晰地掌握所有工作的概况。
- 无缝集成
- 直接在 AI 编码工作流程中使用。
- 无需切换到外部工具。
- AI 在工作时可以读取和更新工单。
示例工作流程
你:“为我们的新认证系统创建一个项目”
AI:[创建项目 AUTH 并添加相关描述]
你:“将登录功能分解为工单”
AI:[创建以下工单:
- AUTH - 1:实现登录表单 UI
- AUTH - 2:创建认证 API 端点
- AUTH - 3:添加 JWT 令牌处理
- AUTH - 4:实现会话管理
设置 AUTH - 2 阻塞 AUTH - 3 和 AUTH - 4]
你:“开始处理登录表单”
AI:[将 AUTH - 1 移至进行中,实现该功能,完成后移至已完成]
为什么选择本地自托管?
- 隐私性:项目数据存储在本地机器。
- 速度快:AI 工具调用无网络延迟。
- 可定制:可根据需要进行定制和扩展。
- 离线使用:无需互联网连接即可工作。
🔧 技术细节
- 前端:Next.js 15、React、Tailwind CSS
- 后端:Payload CMS 3.0
- 数据库:MongoDB
- MCP 服务器:TypeScript、@modelcontextprotocol/sdk
📄 许可证
文档未提及相关内容,暂不展示。
特别感谢
本项目基于 Payload CMS 构建。
Scan to join WeChat group