mcpField
P
proletariat-cli

proletariat-cli

本地服务
github.com/chrismcdermutAI 与智能体3620 周前更新

关于 proletariat-cli

prlt 是一个面向多 Agent 开发的编排平台,通过一个命令行统一管理工单、看板和工作流。每个 Agent 在独立的 git 分支和工作区中运行,适合希望并行推进任务的开发者。该项目处于测试阶段,命令和接口可能变化。

主要功能

  1. 01按需启动 Agent 处理工单
  2. 02每个 Agent 使用独立 git 分支与工作区
  3. 03基于 tmux 的会话持久化
  4. 04基于 SQLite 的统一状态管理
  5. 05--json 模式供 AI Agent 调用命令行
  6. 06支持 Docker 与主机两种运行环境

适用场景

  1. 01并行为多个工单生成代码并提交 PR
  2. 02由 Agent 执行评审或整理工单等非编码任务
  3. 03在关闭终端后让 Agent 继续在后台工作

MCP 相关

prlt 内置 MCP 服务,提供 100 余个工具,供 MCP 客户端调用以管理工单与 Agent 执行。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"chrismcdermut-proletariat-cli": {
"command": "npx",
"args": [
"-y",
"@proletariat/cli"
]
}
}
}
启动命令npx -y @proletariat/cli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@proletariat/cli0.3.134

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

██████╗ ██████╗  ██████╗ ██╗     ███████╗████████╗ █████╗ ██████╗ ██╗ █████╗ ████████╗
██╔══██╗██╔══██╗██╔═══██╗██║     ██╔════╝╚══██╔══╝██╔══██╗██╔══██╗██║██╔══██╗╚══██╔══╝
██████╔╝██████╔╝██║   ██║██║     █████╗     ██║   ███████║██████╔╝██║███████║   ██║
██╔═══╝ ██╔══██╗██║   ██║██║     ██╔══╝     ██║   ██╔══██║██╔══██╗██║██╔══██║   ██║
██║     ██║  ██║╚██████╔╝███████╗███████╗   ██║   ██║  ██║██║  ██║██║██║  ██║   ██║
╚═╝     ╚═╝  ╚═╝ ╚═════╝ ╚══════╝╚══════╝   ╚═╝   ╚═╝  ╚═╝╚═╝  ╚═╝╚═╝╚═╝  ╚═╝   ╚═╝
夺取生产资料——交付速度提升 100 倍。

npm MCP Registry License

面向 AI 劳动力的 Agent 编排平台。 按需启动工作 Agent,处理各种任务。

主题化 Agent,包括亿万富翁——终于,他们为我们工作了。

⚠️ Beta 软件——正在积极开发中。不同版本之间的命令和 API 可能会发生变化,我们也在积极修复漏洞。

开始交付吧 预约通话——我很乐意帮你运行 prlt,或交流反馈、想法、多 Agent 工作流,以及工作的未来/劳动力(还有经济学中的劳动力理论……)


TLDR

prlt 是一个面向 AI 劳动力的 Agent 编排平台。按需启动工作 Agent,通过一个 CLI 协调多 Agent 开发。提供隔离的工作区、安全的容器和持久状态。

brew install chrismcdermut/proletariat/prlt    # macOS (Homebrew)
# or
npm install -g @proletariat/cli        # any platform (npm)

prlt new
prlt ticket create --title "Add OAuth" --category feature
prlt work spawn   # Interactive: select tickets, environment, action

Agent 会在自己的分支中启动、编写代码并创建 PR。你负责审查并合并。

为什么选择 prlt?

  • 隔离——每个 Agent 都有自己的 git 分支,不会产生冲突。
  • 安全——使用 Docker 容器,与宿主机隔离。
  • 持久——Tmux 会话会持续运行。关闭窗口后,Agent 仍会继续工作。
  • 可追踪——一个数据库、一个 CLI,管理你的所有 Agent。
  • 临时——按需启动 Agent。它们完成工作、创建 PR,然后结束。
  • 结构化——工单提供结构化上下文,而非自由聊天。
  • 可持续——工单会随着时间累积上下文,方便在 Agent 之间交接。
  • 原生支持 Agent——--json 模式让 AI Agent 以编程方式驱动 CLI。

快速入门

brew install chrismcdermut/proletariat/prlt  # Install (Homebrew, recommended)
# or
npm install -g @proletariat/cli              # Install (npm, all platforms)

prlt new                           # Create HQ, add repos, choose theme
prlt ticket create --title "Add OAuth" --category feature
prlt work spawn                    # Interactive: select tickets, environment, action
# Agent creates PR → You review → Merge → Done
工作流示意图(点击展开)
sequenceDiagram
    participant You
    participant prlt
    participant Agent
    participant GitHub

    You->>prlt: prlt ticket create
    You->>prlt: prlt work spawn
    prlt->>prlt: Create branch
    prlt->>prlt: Create workspace
    prlt->>Agent: Spawn agent
    Agent->>Agent: Read ticket
    Agent->>Agent: Write code
    Agent->>GitHub: Commit
    Agent->>GitHub: Open PR
    Agent->>prlt: Update status
    prlt->>You: PR ready
    You->>GitHub: Review & approve

启动 Agent 来实现、整理或审查任务,而不只是编写代码。

交互式菜单

prlt work 会引导你选择项目和工单:

选择项目

选择操作——启动单个 Agent、批量启动,或监控某一列:

工作操作菜单

选择要启动的工单,列表按优先级分组:

选择工单


深入探究

问题解决方案
Agent 之间的更改相互冲突隔离 - 每个 Agent 都有自己的 git 分支和工作树
Agent 在你的机器上不受沙箱限制地运行安全 - 使用 Docker 容器,与主机隔离(正在研究主机沙箱方案)
你无法掌握谁在做什么可追踪 - 所有状态都存储在一个 SQLite 数据库中,通过一个 CLI 管理
关闭窗口后会话就会终止持久 - Tmux 会话会持续存在,可随时分离或重新连接
上下文分散在多个聊天窗口中结构化 - 使用包含需求和验收标准的工单
启动 Agent 的开销很大临时 - 按需启动,完成工作、提交 PR,然后结束
Agent 运行之间会丢失上下文持久 - 工单会累积上下文,可在不同 Agent 之间交接
安装
Homebrew(推荐)
brew install chrismcdermut/proletariat/prlt

支持 Apple Silicon(arm64)和 Intel(x86_64)Mac,无需编译器。

升级:

brew update
brew upgrade prlt
npm / pnpm(所有平台)
npm install -g @proletariat/cli
# or
pnpm install -g @proletariat/cli

pnpm 10+ 注意: pnpm 10 默认会阻止原生插件构建脚本。如果安装后 prlt 因原生模块错误而失败,请在全局存储中运行 pnpm approve-builds 并重新安装,或改用 npm / brew。

验证:

prlt --version
MCP 服务

prlt 内置了包含 100+ 个工具的 MCP 服务。将其添加到你的 AI 客户端:

Claude Code(~/.claude.json):

{
  "mcpServers": {
    "prlt": { "command": "prlt", "args": ["mcp-server"] }
  }
}

Cursor / 其他客户端(通过 npx):

{
  "mcpServers": {
    "prlt": { "command": "npx", "args": ["-y", "@proletariat/cli", "mcp-server"] }
  }
}

收录于:MCP 注册表 | npm

数据模型
Workspace (HQ)
├── Projects
│   ├── Epics → Tickets
│   └── (references a Workflow)
├── Workflows → Phases → Statuses (can be shared across projects)
├── Specs (can span projects)
├── Actions (reusable templates)
├── Agents
│   ├── Staff (persistent, named)
│   └── Temp (ephemeral, per-ticket)
└── Executions (running sessions)
    ├── Docker
    │   ├── Tmux session
    │   ├── Terminal or Background display
    │   └── Safe or YOLO permissions
    └── Host
        ├── Tmux session
        ├── Terminal or Background display
        └── Safe or YOLO permissions
实体描述
Project用于组织工单和史诗,并引用一个工作流
Epic具有生命周期(草稿 → 进行中 → 完成)的工作容器
Ticket包含需求和验收标准的独立工作项
Spec静态文档(可跨项目使用,并与史诗关联)
Workflow状态流转配置(可在多个项目之间共享)
Phase工作流中的阶段
Status工单在某个阶段内的状态
Action可重复使用的提示词/操作模板
Agent (Staff)具有专属工作区的持久化命名 Agent
Agent (Temp)为单个工单启动的临时 Agent
Execution在工单上运行的 Agent 会话
Display终端(新标签页)或后台(分离运行)
工作流示例

工作流定义工单如何在你的流程中流转。项目会引用一个工作流,多个项目可以共享同一个工作流。

Kanban Workflow
├── Backlog       # New tickets land here
├── In Progress   # Agent working (prlt work spawn)
├── Review        # PR ready (prlt work ready)
└── Done          # Merged (prlt work complete)
Scrum Workflow
├── Backlog
├── Sprint
│   ├── To Do
│   ├── In Progress
│   └── In Review
└── Done

随着工作推进,工单会在不同状态之间流转。Agent 会在开始工作、创建 PR 或完成任务时自动移动工单。

工作区结构

每个 Agent 都会获得所有仓库的副本(即将支持仓库范围限定)。工作在隔离的分支上进行。

my-project/
├── .proletariat/
│   └── workspace.db              # Tickets, executions, state
├── repos/
│   ├── frontend/                 # Your repos
│   ├── backend/
│   └── infra/
└── agents/
    ├── staff/
    │   └── alice/                # Named agent with persistent workspace
    │       ├── frontend/
    │       ├── backend/
    │       └── infra/
    └── temp/
        ├── agent-abc123/         # Ephemeral: Working on TKT-042 (OAuth)
        │   ├── frontend/         # All repos on branch: feat/TKT-042-oauth
        │   ├── backend/
        │   └── infra/
        └── agent-def456/         # Ephemeral: Working on TKT-043 (API)
            ├── frontend/         # All repos on branch: feat/TKT-043-api
            ├── backend/
            └── infra/
Agent 命名主题

主题控制 Agent 的命名方式。常驻 Agent 直接使用主题名称(例如,bezos、camry)。临时 Agent 会在名称前添加形容词(例如,bold-bezos、keen-camry)。目前,临时名称还会添加数字后缀(bold-bezos-1),但很快就会移除。

内置主题:

主题描述名称示例
billionaires科技创始人与高管(默认)musk、gates、bezos
toyotasToyota 车型camry、supra、tacoma
companies大型科技公司stripe、vercel、linear

billionaires ——他们终于为我们工作了。

主题命令:

prlt agent themes list              # List available themes
prlt agent themes set billionaires  # Set active theme
prlt agent themes create mytheme    # Create custom theme
prlt agent themes add-names mytheme # Add names to custom theme

在 prlt new 期间选择主题。

使用命令的三种方式
1. 交互式(人工)

不带标志运行,即可获取引导式提示:

$ prlt ticket create

? Title: Add password reset
? Description: Email-based password reset flow
? Priority: P1
? Category: feature

✓ Created TKT-043

使用 prlt ticket 查看工单详情:

工单视图

2. JSON 模式(AI Agent)

添加 --json 以获取机器可读的输出:

$ prlt work start --json
{
  "prompt": {
    "type": "list",
    "message": "Select ticket to work on:",
    "choices": [
      {
        "name": "[P1] TKT-042 - Add user authentication",
        "value": "TKT-042",
        "command": "prlt work start TKT-042 --json"
      }
    ]
  }
}

AI Agent 会解析这些内容、做出选择并调用下一条命令。

3. 标志(脚本/CI)

直接传入所有内容:

prlt ticket create \
  --title "Add OAuth" \
  --description "Google and GitHub OAuth" \
  --priority P1 \
  --category feature
执行模式

环境——Agent 的运行位置:

环境标志适用场景
🐳 Docker(存在 devcontainer 时为默认值)安全性——完全隔离的容器
🏃 主机--run-on-host速度——无容器开销

显示方式——查看运行情况的方式:

显示方式标志适用场景
📺 终端--display terminal在新的终端标签页中查看
🔇 后台--display background分离运行,之后可重新连接

权限——Agent 的访问级别:

模式标志描述
🔒 安全(默认)Agent 会请求权限
🕺 YOLO--skip-permissions不询问,拥有完整访问权限。与 Docker 搭配使用,实现安全的自主运行。

所有会话底层都在 tmux 中运行——关闭窗口后,Agent 仍会继续工作。

# Default: Docker + terminal (if devcontainer exists)
prlt work start TKT-042

# Docker + background
prlt work start TKT-042 --display background

# Host + background (fast, no container)
prlt work start TKT-042 --run-on-host --display background

# Docker + YOLO (full autonomy, safely sandboxed)
prlt work start TKT-042 --skip-permissions
并行 Agent

同时处理多个工单。

交互式(人工):

$ prlt work spawn

? Spawn mode: Select specific tickets
? Select tickets:
  ◉ [P1] TKT-042 - Add user authentication
  ◉ [P1] TKT-043 - Add API rate limiting
  ◯ [P2] TKT-044 - Add email notifications
? Action: implement
? Environment: docker

Spawning 2 tickets...

JSON 模式(AI Agent): (多选功能开发中)

$ prlt work spawn --json --many
{
  "prompt": {
    "type": "checkbox",
    "message": "Select tickets to spawn:",
    "choices": [
      {"name": "[P1] TKT-042 - Add user authentication", "value": "TKT-042"},
      {"name": "[P1] TKT-043 - Add API rate limiting", "value": "TKT-043"}
    ]
  }
}

标志(脚本/CI):

prlt work spawn TKT-042 TKT-043 --action implement --mode docker

每个 Agent 都在自己的分支上工作,不会发生冲突。

扩展能力: 主要限制因素是你的机器。可以同时运行 50 个以上的 Agent,具体取决于 CPU、RAM,以及使用 Docker 模式还是主机模式。

使用 prlt execution 监控正在运行的 Agent:

执行列表

flowchart LR
    subgraph You
        spawn[prlt work spawn]
    end

    subgraph Agents
        A1[Agent 1<br/>TKT-042 OAuth]
        A2[Agent 2<br/>TKT-043 Rate Limit]
        A3[Agent 3<br/>TKT-044 Notifications]
    end

    subgraph GitHub
        PR1[PR #101<br/>feat/TKT-042-oauth]
        PR2[PR #102<br/>feat/TKT-043-rate-limit]
        PR3[PR #103<br/>feat/TKT-044-notifications]
    end

    spawn --> A1
    spawn --> A2
    spawn --> A3

    A1 --> PR1
    A2 --> PR2
    A3 --> PR3

Agent 创建的 PR 已准备好供审核:

GitHub 拉取请求

命令参考
完整命令参考(点击展开)
命名空间命令描述
工单prlt ticket create创建新工单
prlt ticket list列出所有工单
prlt ticket view 查看工单详情
prlt ticket edit 编辑工单
prlt ticket move 更改状态
prlt ticket delete 删除工单
prlt ticket complete 将工单标记为已完成
prlt ticket bulk批量操作工单
prlt ticket link block 关联阻塞工单
prlt ticket link relates 关联相关工单
工作prlt work start 为工单启动 Agent
prlt work spawn批量启动工单
prlt work complete 将工作标记为已完成
prlt work ready 标记为待审核
prlt work revise 请求修改
prlt work watch查看工作进度
执行prlt execution list列出运行中的 Agent
prlt execution logs 查看 Agent 输出
prlt execution stop 停止 Agent
Agentprlt agent list列出所有 Agent
prlt agent status 检查 Agent 状态
prlt agent shell 进入 Agent 工作区的 Shell
prlt agent visit 跳转到工作区
prlt agent login 在容器中验证 Claude 身份
prlt agent rebuild 重建 Agent 工作区
prlt agent restart 重启 Agent
prlt agent staff add 添加指定的 Agent
prlt agent staff list列出常驻 Agent
prlt agent temp list列出临时 Agent
prlt agent temp cleanup移除临时 Agent
Agent 主题prlt agent themes list列出可用主题
prlt agent themes set 设置当前主题
prlt agent themes create 创建自定义主题
prlt agent themes add-names向主题添加名称
看板prlt board查看看板
prlt board watch实时更新
项目prlt project create创建项目
prlt project list列出项目
prlt project view 查看项目详情
prlt project archive 归档项目
prlt project unarchive 取消归档项目
prlt project delete 删除项目
操作prlt action create创建操作模板
prlt action list列出操作
prlt action show 显示操作详情
prlt action run 运行操作
prlt action update 更新操作
prlt action delete 删除操作
分支prlt branch create创建分支
prlt branch list列出分支
prlt branch validate验证分支名称
PRprlt pr create创建拉取请求
prlt pr status 检查 PR 状态
prlt pr link 将 PR 关联到工单
ghprlt gh login登录 GitHub
prlt gh status检查身份验证状态
prlt gh token获取 GitHub 令牌
仓库prlt repo add 添加仓库
prlt repo list列出仓库
prlt repo view 查看仓库详情
prlt repo remove 移除仓库
Dockerprlt docker list列出容器
prlt docker status检查 Docker 状态
prlt docker start 启动容器
prlt docker stop 停止容器
prlt docker restart 重启容器
prlt docker logs 查看容器日志
prlt docker shell 进入容器 Shell
prlt docker sync 同步容器文件
prlt docker clean移除已停止的容器
prlt docker prune移除未使用的资源
会话prlt session list列出活动的 tmux 会话
prlt session attach 连接到 tmux 会话
工作区prlt init初始化机器配置
prlt new创建新的 HQ 工作区
prlt workspace list列出工作区
prlt workspace add添加工作区
prlt workspace use 切换工作区
实用工具prlt whoami显示当前上下文
prlt claude快速启动临时 Claude 会话
prlt commit创建符合规范的提交
prlt autocomplete setup设置 Shell 自动补全

运行 prlt <command> --help 查看标志和选项。

使用场景
并行开发功能
# Create tickets for each feature
prlt ticket create --title "Add OAuth" --category feature
prlt ticket create --title "Add API rate limiting" --category feature
prlt ticket create --title "Add email notifications" --category feature

# Spawn all three in parallel (Docker for isolation)
prlt work spawn TKT-001 TKT-002 TKT-003 --mode docker

# Watch the board as they work
prlt board watch

三个 Agent、三个分支、三个 PR。由你审核并合并。

集中排查 Bug
# Spawn all bugs at once
prlt work spawn --all --column Backlog --category bug

# Or pick specific ones
prlt work spawn TKT-010 TKT-011 TKT-012
需求梳理会议

让 Agent 完善工单需求:

prlt work groom TKT-042

Agent 会添加验收标准、子任务和估算。


环境变量

变量用途
GITHUB_TOKENGitHub 操作(PR 等)

Claude Code 通过 claude login 处理自身的身份验证。


要求

  • Node.js 20+(推荐使用 22 LTS)
  • Git
  • Claude Code(使用 claude login 进行身份验证)
  • SQLite
  • Tmux(会话持久化)
  • Docker(可选——用于隔离执行)

安装故障排除

bun install 在 better-sqlite3 上失败

症状:在构建 better-sqlite3 原生模块时,bun install -g @proletariat/cli 因 isexe 或 node-gyp 错误而失败。

原因:Bun 对 node-gyp 的兼容性有限。node-gyp 内部的 which 依赖项使用了 isexe,而它与 Bun 的运行时垫片不兼容。

解决方法:改用 npm 或 Homebrew:

# Option 1: Homebrew (macOS, recommended)
brew install chrismcdermut/proletariat/prlt

# Option 2: npm (all platforms)
npm install -g @proletariat/cli

# Option 3: pnpm
pnpm install -g @proletariat/cli

如果必须使用 Bun,请确保也安装了 Node.js 22(LTS),并将 better-sqlite3 设置为使用其预构建二进制文件:

npm rebuild better-sqlite3
npm EACCES: permission denied

症状:npm install -g @proletariat/cli 在 /opt/homebrew/lib/node_modules 或 /usr/local/lib/node_modules 上因 EACCES: permission denied 而失败。

解决方法:将 npm 配置为使用用户可写目录:

mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH="$HOME/.npm-global/bin:$PATH"
# Add the export line to your ~/.zshrc or ~/.bashrc
npm install -g @proletariat/cli

或者改用 Homebrew(macOS):

brew install chrismcdermut/proletariat/prlt
安装后出现原生模块错误

症状:prlt 可以运行,但会因 better_sqlite3.node 或 ABI 不匹配错误而崩溃。

解决方法:

# Rebuild for the current Node version
npm rebuild better-sqlite3

# Verify it works
node -e "require('better-sqlite3')"

# If still failing, reinstall
npm install -g @proletariat/cli --force

更多详情,请参阅完整故障排除指南。


支持


许可证

Apache 2.0


npm version Downloads License

在 GitHub 上点星 | 从 NPM 安装 | 报告问题

由无产阶级使用 ⚒️ 制作。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。