AI 原生。免费。轻量。开源。Jira、Trello、ClickUp 和 Monday 的完全可定制替代方案。
什么是 Paca?
Paca 是一个自托管项目管理平台,AI 智能体与人类在 Scrum 团队中作为平等的队友协作——而不是作为附带的聊天机器人。
Jira 给你一个待办列表。ClickUp 给你自动化功能。Monday 给你仪表盘。Paca 给你的 AI 智能体一个席位。它们参与冲刺规划、从看板领取任务、编写 BDD 规范,并与人类实时同步调整。
Paca 的一切——其工作流、数据模型、用户界面——都可通过插件进行配置和扩展。
为什么选择 Paca?
| Jira / Trello / ClickUp / Monday | Paca | |
|---|---|---|
| AI 集成 | 聊天机器人插件、外围自动化 | AI 智能体作为一等公民的 Scrum 队友 |
| 协作模式 | 默认仅限人类 | 人类 + AI,在同一看板上并肩协作 |
| 托管方式 | 供应商云(你的数据,他们的服务器) | 自托管,你拥有全部所有权 |
| 成本 | 每席位每月 8–20+ 美元 | 永久免费 |
| 定制化 | 有限;受限于企业版 | 完全开放:配置 + 插件 |
| 重量 | 臃肿的功能堆砌 | 轻量核心;仅扩展你所需 |
| 源代码 | 闭源 / 专有 | 100% 开源(Apache 2.0) |
核心理念:人类与 AI 智能体,同一个 Scrum 团队
Paca 背后的核心见解是,AI 智能体应该参与 Scrum 流程,而不仅仅是孤立地生成输出。
在 Paca 中,AI 智能体:
- 被分配到冲刺中,并与人类队友一起出现在 Scrumban 看板上
- 从待办列表中领取任务,并实时更新其状态
- 协作编写 BDD 规范——帮助产品负责人和业务分析师编写 Gherkin 场景
- 为系统设计文档做出贡献——让整个团队都能看到架构
- 探测、感知并响应涌现的复杂性,就像人类一样
这不是自动化。这是真正的协作——根植于 Cynefin / Stacey 框架的认知,即复杂领域需要团队,而非流水线。
完全可定制——配置与插件
Paca 以一个小巧、专注的核心发布。其他一切均为可选。
配置驱动:工作流、状态、字段定义、看板布局、冲刺规则以及智能体行为,全部由项目级别的配置文件驱动。无需编写代码即可让 Paca 适应你团队的流程。
插件系统:通过插件扩展或替换 Paca 的任何部分。插件后端编译为 WebAssembly (WASM)(使用 Go、Rust、AssemblyScript 编写——任何支持 WASM 目标的语言均可),前端则使用标准模块包。插件在基于能力权限模型的沙盒环境中运行;它们精确声明所需的主机函数,不多不少。
plugins/
├── backend/ # WASM modules — add custom routes, logic, data models
└── frontend/ # UI modules — add custom pages, board views, widgets
直接在 Paca 界面内的插件市场中浏览和安装社区插件——无需命令行。前往设置 → 插件 → 市场,找到插件,然后点击安装。
对于本地开发或自定义插件,你也可以从文件系统安装:
./scripts/install-local-plugin.sh ./my-plugin --api-key <your-api-key>
P-A-C-A 循环
Paca 围绕四个阶段组织团队协作,这四个阶段同时映射了 Scrum 和科学方法:
Plan → Act → Check → Adapt
↑ |
└─────────────────────────────┘
| 阶段 | 发生什么 |
|---|---|
| 计划 | 产品负责人、业务分析师和 AI 智能体协作优化待办事项列表。行为驱动开发场景和结构化领域驱动设计文档共同编写。 |
| 行动 | 冲刺进行中。人类和 AI 智能体从看板中拉取任务,执行并发布更新。 |
| 检查 | 质量保证智能体运行自动化验证。人类审查 AI 输出。看板反映真实情况。 |
| 适应 | 来自冲刺的数据为下一个循环提供信息。团队——包括人类和 AI——共同进行回顾。 |
v0.10.0 版本新特性
- ACP 智能体支持——连接任何遵循智能体客户端协议的编码命令行界面作为 Paca AI 智能体:Claude Code、Codex、Gemini CLI 或自定义 ACP 服务器。一个轻量级的本地桥接器(paca-acp-bridge)从你的项目源代码目录运行,并通过经过身份验证的 WebSocket 将会话流式传回 Paca——代码不会被克隆到云端沙盒中,智能体使用你本地的认证信息、git/gh 凭证以及你已为该命令行界面设置好的任何 MCP 服务器或技能。设置方法请参见 apps/acp-bridge/README.md。
v0.9.0 版本新特性
- 自动化工作流——在画布上构建可视化、状态驱动的自动化:定义节点和边,使任务在状态流转时自动分配或重新分配,并支持与门(AND-join)来设置等待多个前置任务完成的关卡。AI 智能体也可以通过专用的 MCP 工具创建和编辑工作流。
v0.4.0 版本新特性
- 应用内 AI 聊天——在项目层面与 AI 智能体聊天,以规划工作、创建或更新史诗、故事、任务和文档——全程使用自然语言,无需离开 Paca
- 活动差异对比与回滚——活动面板中的每个字段变更现在都会显示变更前后的差异;一键即可将变更回滚到之前的值
核心功能
- 统一看板(Scrumban Board)——人类和 AI 智能体共享同一个实时看板;无需单独的“AI 工作区”
- 应用内 AI 聊天——在项目层面与 AI 智能体聊天,使用自然语言规划工作、创建或更新史诗、故事、任务和文档
- 活动差异对比与回滚——在活动面板中查看每个字段变更的可视化差异,并一键回滚任何变更
- BDD 协作——由产品负责人、业务分析师和 AI 智能体共同编写的 Gherkin 场景编辑器
- 系统设计文档(SDD)——持续更新的架构文档,让 AI 智能体始终掌握上下文信息
- MCP 服务器——将 Claude、自定义智能体或任何兼容 MCP 的工具直接连接到 Paca 的数据层
- Claude Code 技能——为 Claude Code 提供的 `/paca` 斜杠命令;无需离开编辑器即可使用自然语言管理任务、文档和冲刺
- 实时更新——通过 Socket.IO 交付;每个人都能即时看到变更
- 基于 OpenHands 的智能体——AI 智能体在 OpenHands SDK 上运行;每个智能体在其独立的隔离沙箱容器中执行,因此永远不会触及宿主环境
- WASM 插件沙箱——安全地扩展 Paca;插件无法超出其声明的权限范围
- 自托管——通过一条 Docker Compose 命令即可运行;你的数据永远不会离开你的基础设施
- 默认轻量——核心功能精简,无功能臃肿;只添加你的团队实际需要的功能
快速开始
选项一——交互式安装脚本(推荐用于生产环境)
可在任何安装了 Docker 的 Linux 服务器上运行。无需克隆仓库。
curl -fsSL https://github.com/Paca-AI/paca/releases/latest/download/install.sh | bash
该脚本会以交互方式引导您完成配置,并启动完整堆栈。完成后,打开 http://your-server-ip 即可访问。
选项 2 — Docker Compose(手动)
1. 创建一个目录并下载 Compose 文件
mkdir paca && cd paca
curl -fsSL https://github.com/Paca-AI/paca/releases/latest/download/docker-compose.yml -o docker-compose.yml
mkdir -p caddy
curl -fsSL https://github.com/Paca-AI/paca/releases/latest/download/Caddyfile -o caddy/Caddyfile
2. 下载环境模板
curl -fsSL https://github.com/Paca-AI/paca/releases/latest/download/.env.production.example -o .env
3. 生成安全密码和密钥
POSTGRES_PASSWORD=$(openssl rand -hex 32)
ADMIN_PASSWORD=$(openssl rand -hex 16)
JWT_SECRET=$(openssl rand -hex 32)
ENCRYPTION_KEY=$(openssl rand -hex 32)
可选:如果您将使用 AI 智能体或外部集成,请生成 API 密钥:
AGENT_API_KEY=$(openssl rand -hex 32)
INTERNAL_API_KEY=$(openssl rand -hex 32)
可选:生成 MinIO 凭证或使用您自己的凭证:
STORAGE_ACCESS_KEY_ID=$(openssl rand -hex 16)
STORAGE_SECRET_ACCESS_KEY=$(openssl rand -hex 32)
4. 使用您的值更新 .env 文件
编辑 .env 文件,将占位符值替换为您上面生成的值。以下是必填字段:
PUBLIC_URL=http://localhost
POSTGRES_PASSWORD=<use the value from step 3>
ADMIN_USERNAME=admin
ADMIN_PASSWORD=<use the value from step 3>
JWT_SECRET=<use the value from step 3>
ENCRYPTION_KEY=<use the value from step 3>
STORAGE_ACCESS_KEY_ID=<use the value from step 3 or your own>
STORAGE_SECRET_ACCESS_KEY=<use the value from step 3 or your own>
5. 启动堆栈
docker compose --env-file .env up -d
⚠️ 重要提示:请安全保存您生成的密码和密钥。您将需要 ADMIN_USERNAME 和 ADMIN_PASSWORD 来登录。
登录:打开 http://localhost 并使用您上面设置的管理员凭证。
自定义堆栈:缩减您不需要的服务规模。
# External PostgreSQL (supply DATABASE_URL in .env) docker compose --env-file .env up -d --scale postgres=0 # AWS S3 instead of MinIO (set STORAGE_PROVIDER=s3 in .env) docker compose --env-file .env up -d --scale minio=0 # Without the AI agent (reduces resource usage) docker compose --env-file .env up -d --scale ai-agent=0
升级到新版本
在存放 docker-compose.yml 和 .env 文件的目录中,运行每个版本发布的升级脚本——它会刷新 docker-compose.yml 和 Caddyfile(含备份)并重启堆栈:
curl -fsSL https://github.com/Paca-AI/paca/releases/latest/download/upgrade.sh -o upgrade.sh
bash upgrade.sh
数据库迁移会在 API 启动时自动运行。请参阅 deploy/README.md 了解如何固定特定版本或传递 --scale 标志。
选项 3 — 本地开发
# Clone the repository
git clone https://github.com/Paca-AI/paca.git && cd paca
# Start infrastructure dependencies (PostgreSQL + Valkey)
docker compose -f deploy/docker-compose.dev.yml up -d postgres valkey
# Or start the full dev stack in containers
docker compose -f deploy/docker-compose.dev.yml up -d
请参阅 docs/guides/local-development.md,了解如何在主机上运行服务以进行活跃开发。
MCP 服务器 — 将任意 AI 智能体连接到 Paca
Paca 附带一个 MCP(模型上下文协议)服务器,可为任何兼容的 AI 智能体提供对您工作区的直接、结构化访问——包括项目、任务、冲刺、文档、成员等。无需抓取,无需连接自定义 API。
该服务器以 @paca-ai/paca-mcp 的形式发布在 npm 上。您使用 npx 运行它;其余工作由您的 MCP 客户端处理。
Claude Desktop
打开(或创建)Claude Desktop 配置文件:
- macOS:~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:%APPDATA%\Claude\claude_desktop_config.json
添加 paca 条目:
{
"mcpServers": {
"paca": {
"command": "npx",
"args": ["-y", "@paca-ai/paca-mcp"],
"env": {
"PACA_API_KEY": "your-api-key-here",
"PACA_API_URL": "http://localhost:8080"
}
}
}
}
- Restart Claude Desktop. Claude now has access to all Paca tools and can answer requests like:
- "列出项目 X 中所有活跃的冲刺"
- "创建一个实现 OAuth 的任务并将其分配给冲刺 3"
- "向任务 #42 添加一条评论,说明我的进度更新"
其他 MCP 兼容客户端
任何支持 MCP 的客户端均可使用。典型配置如下:
{
"name": "paca",
"command": "npx",
"args": ["-y", "@paca-ai/paca-mcp"],
"env": {
"PACA_API_KEY": "your-api-key-here",
"PACA_API_URL": "http://your-paca-instance:8080"
}
}
环境变量
| 变量 | 是否必需 | 默认值 | 描述 |
|---|---|---|---|
| PACA_API_KEY | 是 | — | 来自你的 Paca 实例的 API 密钥(设置 → API 密钥) |
| PACA_API_URL | 否 | http://localhost:8080 | 你的 Paca API 的 URL |
可用工具
该服务器提供以下类别的工具:
| 类别 | 工具 |
|---|---|
| 项目 | list_projects、get_project、create_project、update_project、delete_project |
| 任务 | list_tasks、get_task、create_task、update_task、delete_task,以及更多 |
| 冲刺 | list_sprints、create_sprint、update_sprint、complete_sprint,以及更多 |
| 文档 | list_documents、get_document、create_document、update_document、delete_document |
| 成员与角色 | list_project_members、add_project_member、list_project_roles,以及更多 |
| 任务类型与状态 | list_task_types、create_task_type、list_task_statuses,以及更多 |
| 视图与自定义字段 | list_views、create_view、list_custom_fields、create_custom_field,以及更多 |
| 附件 | list_task_attachments、get_attachment_download_url、delete_task_attachment |
| 活动与评论 | list_task_activities、add_task_comment、update_task_comment、delete_task_comment |
| 插件工具 | 已安装的插件可以在运行时注册额外的工具 |
如需完整的参考文档和高级配置(智能体模式、插件工具、编程式使用),请参阅 docs/guides/mcp-server-setup.md。
Claude Code — /paca 技能
如果你使用 Claude Code,可以安装 Paca 技能包,并通过自然语言的斜杠命令管理整个 Paca 工作区——无需离开编辑器,也无需创建本地文件。每条命令在执行前都会先读取你的 Paca 文档以了解项目背景。
技能定义在 skills/ 目录中,采用智能体技能格式——每个技能一个子目录,每个子目录内有一个 SKILL.md 文件,包含 YAML 前置元数据和指令。安装脚本会去除前置元数据,并将正文写入 ~/.claude/commands/,供 Claude Code 作为斜杠命令使用。
安装
在终端中运行一次以下命令,即可全局安装所有技能:
curl -fsSL https://raw.githubusercontent.com/Paca-AI/paca/master/scripts/install-claude-skill.sh | bash
然后将 Paca MCP 服务器连接到 Claude Code:
claude mcp add paca \
--env PACA_API_KEY=<your-api-key> \
--env PACA_API_URL=<your-paca-url> \
-- npx -y @paca-ai/paca-mcp
你也可以在 Claude Code 会话中运行 /paca-setup,以获取引导式的交互教程。
可用命令
| 命令 | 功能说明 |
|---|---|
| /paca <请求> | 用通俗英语执行常规的任务、文档和冲刺操作 |
| /paca-epic <需求> | 将需求转化为一个史诗级任务,包含子故事和一份规格说明文档 |
| /paca-clarify <任务或文档> | 识别歧义,提出问题,并在 Paca 中更新规格说明 |
| /paca-breakdown <任务> | 将一个任务分解为独立、可估算的子任务 |
| /paca-sprint | 根据待办事项列表的容量和目标规划冲刺 |
| /paca-estimate <任务> | 估算故事点并将其写回任务中 |
| /paca-prioritize | 对整个待办事项列表进行评分并设定优先级 |
| /paca-do <任务> | 执行任务,更新其状态,并保持文档为最新 |
| /paca-test <任务> | 推导测试用例,运行它们,并将结果记录为评论 |
| /paca-doc <任务或主题> | 在 Paca Docs 中编写或更新文档 |
| /paca-setup | 交互式 MCP 连接向导 |
有关完整的设置选项和命令参考,请参阅 docs/guides/claude-code-skill.md。
架构
apps/web React + TanStack Start + shadcn/ui — user interface
apps/mcp @paca-ai/paca-mcp — MCP server for AI agent integration
services/api Go + Gin — core business logic and REST API
services/realtime Node.js + Socket.IO — real-time event fan-out
services/ai-agent Python + FastAPI + OpenHands SDK — AI agent orchestration
apps/e2e Playwright — end-to-end test suite
skills/ Agent Skills — /paca slash commands for Claude Code
PostgreSQL Persistent store
Valkey Cache + async event streams between services
详情请参阅 docs/architecture/overview.md。
“Paca”的故事
这个名字是对日语单词“Baka”(ばか)——“傻瓜”——的一个小小的双关。
在早期,当我们的 AI 助手产生模型幻觉时,我们会开玩笑地称它们为“傻瓜”。而将一个严肃的项目管理平台构建为价值数十亿美元工具的免费、开源替代品,这件事本身可能也显得有些傻。
但 Paca 是出于信念而构建的:在真实的 Scrum 团队中,人机协作应该对每个地方的每个团队都触手可及——而不是被锁定在某个供应商的定价模式之后。我们认为,为此而显得有点傻是值得的。🦙✨
文档
| 文档 | 描述 |
|---|---|
| docs/architecture/overview.md | 高层系统架构 |
| docs/guides/getting-started.md | 快速入门(安装、Docker、本地开发) |
| docs/guides/local-development.md | 贡献者开发环境设置 |
| docs/guides/mcp-server-setup.md | 通过 MCP 连接 AI 智能体 |
| docs/guides/claude-code-skill.md | 用于 Claude Code 的 /paca 技能——从你的编辑器中管理 Paca |
| docs/plugins/ | 插件系统:后端(WASM)和前端 |
| deploy/README.md | 完整部署参考 |
| CONTRIBUTING.md | 如何贡献 |
| SECURITY.md | 安全策略 |
Star 历史
许可证
根据 Apache License 2.0 分发。详情请参阅 LICENSE。