Skip to main content

什么是 Paperclip

Paperclip 是一个开源的多智能体公司级编排控制平面,项目口号是「Open-source orchestration for zero-human companies」(零人力公司的开源编排)。其使命是成为自主经济的底层基础设施——让一组AI智能体像真实公司员工一样被组织、调度、考核和管理,从而将AI劳动力规模化地应用于商业场景。

项目地址:https://github.com/paperclipai/paperclip

如果说OpenClaw是一个「员工」,那么Paperclip就是那家「公司」。

Paperclip从技术形态上看是一个Node.js服务器加React看板UI,但其核心价值在于引入了一套企业级的组织模型:组织架构图(Org Chart)、分级目标(Goal Hierarchy)、心跳调度(Heartbeat)、预算控制(Budget)、治理审批(Governance)和多公司数据隔离(Multi-Company Isolation)。

与目前流行的LangChainCrewAIAutoGenAI编排框架相比,Paperclip并不告诉你如何构建智能体,而是告诉你如何运营一家由智能体组成的公司

核心问题与解决方案

Paperclip 解决的核心痛点

当工程师同时使用多个AI编码智能体时,会遭遇一系列系统性问题:

痛点描述
失控的并发会话同时打开 20Claude Code终端,重启即丢失所有上下文,无从追踪谁在做什么
手动汇总上下文每次启动新任务都要手动把多处分散的信息整理给智能体
碎片化配置管理各种智能体配置文件散落各处,任务管理、通信和协调机制各自为政
不受控的成本智能体循环失控时,可能在发现前就耗尽数百美元的Token额度
定时任务缺失客服、报告、社媒发布等周期性工作,依赖人工手动触发

Paperclip用一套统一的控制平面解决上述问题:任务基于工单(Ticket)管理,对话上下文跨会话持久化,目标由任务向上溯源至公司使命,预算硬上限自动暂停失控的智能体,心跳机制驱动定时执行。

核心设计理念

Paperclip的设计哲学可以概括为以下几点:

公司即产品,不是工具集。 Paperclip将组织结构、目标、预算、治理视为一等公民,而不是可选的插件。

控制平面与执行运行时分离。 Paperclip不运行智能体,只编排它们。智能体在自己的运行时中独立执行,通过Heartbeat机制和REST API与控制平面通信。

原子执行保证。 任务的认领(Checkout)与预算扣减操作是原子的,杜绝双重执行和超额消费。

最小接入门槛。 任何能够接收调用的程序都可以成为Paperclip的智能体,不要求特定框架,不要求上报回调。

系统架构

整体架构概览

Paperclip采用两层架构:控制平面Control Plane)负责编排调度,执行适配器Execution Adapters)负责驱动各类外部智能体运行。

核心服务模块

Paperclip服务端按职责划分为以下核心模块:

服务模块文件职责
heartbeatheartbeat.ts心跳调度:按计划触发适配器、管理运行会话、聚合运行日志
issuesissues.ts任务生命周期:创建、分配、状态流转、评论、子任务
agentsagents.ts智能体注册:身份、组织位置、配置版本管理、API Key
budgetsbudgets.ts预算管理:按周期/总量设置硬上限,触发时暂停智能体
goalsgoals.ts目标层级:公司使命→项目→里程碑→任务的上下文链
costscosts.ts成本追踪:按智能体、任务、项目、公司汇总Token消耗
execution-workspaceexecution-workspaces.ts执行工作区:Git Worktree和隔离目录管理
plugin-runtime-sandboxplugin-runtime-sandbox.ts插件沙箱:VM隔离执行插件工作进程
company-skillscompany-skills.tsSkills 系统:可复用的技能包在公司范围内分发给智能体
live-eventslive-events.ts实时推送:SSE事件流将控制平面状态变更推送到UI
secretssecrets.ts密钥管理:加密存储、导出时脱敏处理
approvalsapprovals.ts审批网关:为高影响决策(雇用、策略变更)设置人工审批门

数据库层

Paperclip使用嵌入式PostgreSQL(由@electric-sql/pglite提供),启动时无需用户自行安装和配置数据库实例。数据访问层通过Drizzle ORM实现,Schema定义在packages/db包中,包含agentsissuesgoalsheartbeatRunscostEventsbudgetPolicies等核心表。

UI 层

前端是基于React 18 + Vite构建的单页应用,采用组件化看板设计,提供:

  • 组织架构图(Org Chart SVG)可视化
  • 任务看板(Kanban)与评论线程
  • 实时心跳运行日志流
  • 成本与预算仪表盘
  • 智能体配置与Skills管理
  • 插件管理界面

UI 通过SSEServer-Sent Events)订阅控制平面的实时事件,实现零刷新的动态更新。

多智能体协作机制

这是Paperclip区别于其他项目的核心设计,值得重点展开。

心跳协议(Heartbeat Protocol)

Paperclip的多智能体协作不是通过消息总线或RPC调用实现的,而是通过一套心跳驱动的调度协议

心跳调度器在触发每一次运行前都会原子性地完成预算校验和任务认领,确保:

  • 不会因并发调度出现同一任务被两个智能体同时执行的情况
  • 预算耗尽时不会再启动新的运行,且当前运行会收到优雅终止信号

每次心跳运行的全量日志、Token消耗、任务更新都被持久化为HeartbeatRun记录,提供完整的审计轨迹。

组织架构与委托机制

Paperclip的多智能体协作以层级组织架构图为骨架,CEO智能体位于顶层,下设CTOCMO等管理层,再往下是工程师、设计师、营销等执行层智能体。

组织架构图不是访问控制,而是委托与汇报线。 任何智能体都可以查看整个组织架构、所有任务和所有智能体的信息,组织架构定义的是任务的委托路径和成本归因路径。

跨团队任务委托

智能体可以在汇报线之外向其他团队的智能体分配任务,这是跨团队协作的核心机制。Paperclip制定了明确的任务接收规则:

场景处理方式
同意执行任务且有能力完成直接完成任务
同意执行任务但无力完成将任务标记为blocked
质疑任务是否值得做不得自行取消,必须转交给自己的经理决定

跨团队请求会携带委托深度depth)整数字段,记录任务经历了多少跳才到达当前执行者,方便管理者理解工作是如何在组织中流动的。

成本归因(Billing Code)

每个任务都携带billing code,智能体B执行智能体A发起的任务时,B产生的Token成本会归因到A的请求。这使整个组织的成本可以按发起方追溯,管理者可以精确知道哪条任务链消耗了多少资源。

目标对齐(Goal Alignment)

Paperclip维护一个目标层级链

公司使命(Company Mission)
└─ 目标(Goal / Initiative)
└─ 项目(Project)
└─ 里程碑(Milestone)
└─ 任务(Issue)
└─ 子任务(Sub-Issue)

每个任务在执行时都携带完整的目标祖先链,智能体在运行时始终能知道「为什么要做这件事」,而不仅仅是看到一个孤立的任务标题。这种上下文传递方式(称为「Goal-Aware Execution」)显著提升了智能体决策的一致性。

任务状态机

Paperclip的任务状态不是单纯的UI标签,而是附带了明确的执行语义:

状态语义
backlog不可操作,安全休眠
todo可执行但未认领,可以有分配者
in_progress必须有认领者;对智能体任务,控制平面会保持执行心跳
blocked等待外部条件,智能体暂停执行
in_review执行暂停,等待评审者或人工审批
done终态,工作完成

in_progress是严格的执行状态,系统会主动避免其成为无人跟进的「沉默死状态」(silent dead state)。

持久化会话与跨重启恢复

区别于无状态的调用模型,Paperclip通过agentTaskSessions表维护每个智能体的任务会话状态。对于claude_localcodex_localcursor等本地会话型适配器,重启后可以恢复到上次的会话上下文,而不是从头重新开始,极大降低了因宕机或重启导致的上下文丢失。

Skills 技能系统

Paperclip提供一个公司级的Skills系统:技能包(Skill)是可复用的指令集或工具集,可以在控制平面中统一管理,并在心跳触发时注入到智能体的运行时上下文中。这个机制实现了:

  • 运行时技能注入:智能体无需重新训练即可学会新的Paperclip工作流
  • 最佳实践沉淀:团队的Prompt经验封装为技能包,自动分发给所有相关智能体
  • 公司级统一策略:管理层可以为整个组织的智能体下发统一的行为规范

公司模板(Company Templates)

整个公司的组织配置(智能体定义、组织架构、适配器配置、角色描述、密钥脱敏后的外壳)可以导出为可移植的公司模板。导入时支持碰撞检测(Collision Handling)。模板分两种形式:

模式内容用途
Template Export组织结构 + 配置骨架 + 少量种子任务复制公司蓝图,快速启动新公司
Snapshot Export完整状态(结构 + 当前任务 + 智能体状态)完整快照,可用于恢复或 Fork

底层沙箱技术

插件运行时沙箱

Paperclip的插件系统(Plugin Runtime)使用Node.js内置的vm模块构建沙箱,在隔离的VM Context中加载插件的工作进程(Plugin Worker)。沙箱具备以下安全特性:

  • 全局变量白名单。 沙箱Context中仅注入显式许可的全局对象(consolesetTimeoutURLTextEncoder等),不暴露processfs等危险对象。

  • 模块导入白名单。 裸模块(Bare Module Specifier)需要在allowedModuleSpecifiers中显式列出,未在允许列表中的模块一律拒绝导入,防止插件意外访问主机敏感资源。

  • 路径逃逸防护。 相对导入路径经过realpathSync解析后,会严格检查是否落在插件根目录(pluginRoot)之内,防止通过../路径逃逸访问插件目录以外的文件。

  • 执行超时。 使用vm.Script.runInContexttimeout参数限制脚本执行时间(默认2000ms),防止插件中的无限循环挂起服务器进程。

  • 能力门控(Capability Gating)。 每个插件需要在manifest中声明自己的能力列表(capabilities),通过CapabilityScopedInvoker包装的主机RPC调用在执行前都会经过CapabilityValidator校验,不在声明范围内的操作一律拒绝。

  • 仅支持CommonJS 沙箱加载器只支持CommonJS格式,ESM模块会被检测并拒绝(通过looksLikeEsm函数判断),以确保沙箱的初始化时序和超时机制能够正确覆盖模块体执行。

执行工作区隔离

对于需要文件系统访问的智能体(如Claude CodeCodex),Paperclip提供三种执行工作区策略:

策略机制适用场景
project_primary所有任务共享同一项目主目录单任务串行执行
git_worktree为每个任务创建独立的Git Worktree分支多任务并发隔离执行
adapter_managed适配器自行管理工作区(如云沙箱)云端或容器化执行

git_worktree策略是多任务并发场景下的推荐方案:每个任务在独立的Worktree分支上工作,互不干扰,任务完成后可以自动创建Pull Request

使用方法与配置示例

快速启动

最简单的启动方式(本地受信模式,无需登录):

npx paperclipai onboard --yes

局域网访问模式(需要登录认证):

npx paperclipai onboard --yes --bind lan

Tailscale专网模式:

npx paperclipai onboard --yes --bind tailnet

从源码启动:

git clone https://github.com/paperclipai/paperclip.git
cd paperclip
pnpm install
pnpm dev

启动后,API服务默认监听http://localhost:3100,嵌入式PostgreSQL数据库自动初始化,无需额外安装。

部署模式配置

Paperclip支持三种运行时模式,通过配置文件或命令行参数选择:

模式人工认证适用场景
local_trusted不需要单人本地机器,最快启动
authenticated + private需要登录局域网 / VPN / Tailscale 私有访问
authenticated + public需要登录互联网公开部署,需配置显式公网 URL

创建第一家 AI 公司

以下是通过Paperclip创建一家软件公司的典型流程:

第一步:定义公司使命

UI中创建公司,填写使命(Mission),例如:

Build the #1 AI note-taking app to $1M MRR.

第二步:雇用 CEO 智能体

在「Agents」页面创建CEO智能体,选择适配器类型(以claude_local为例)并配置:

{
"adapterType": "claude_local",
"name": "Alice CEO",
"role": "ceo",
"title": "Chief Executive Officer",
"budgetMonthlyCents": 5000,
"adapterConfig": {
"model": "claude-opus-4-5",
"workingDirectory": "~/projects/my-app"
}
}

第三步:批准战略计划

CEO的首次心跳会审查公司使命,提出组织架构拆解和战略计划,控制平面会触发人工审批网关(Board Approval Gate),在你批准后CEO才开始分配任务。

第四步:智能体自动接管

CEOCTO委托技术任务,CTO进一步拆分给各工程师智能体,整个执行过程可在看板中实时追踪,每一条评论、每一次工具调用都有完整记录。

配置 Codex 适配器示例

{
"adapterType": "codex_local",
"name": "Bob Engineer",
"role": "engineer",
"title": "Software Engineer",
"reportsTo": "alice-cto-agent-id",
"budgetMonthlyCents": 2000,
"adapterConfig": {
"model": "o4-mini",
"workingDirectory": "~/projects/my-app",
"approvalMode": "auto-edit"
}
}

配置执行工作区(Git Worktree 隔离)

在项目设置中启用Git Worktree隔离策略:

{
"executionWorkspacePolicy": {
"enabled": true,
"defaultMode": "isolated_workspace",
"workspaceStrategy": {
"type": "git_worktree",
"baseRef": "main",
"branchTemplate": "agent/{agentSlug}/{issueId}"
},
"pullRequestPolicy": {
"autoCreate": true,
"targetBranch": "main"
}
}
}

配置预算策略

为公司设置月度Token预算硬上限:

{
"budgetPolicy": {
"scopeType": "company",
"windowKind": "monthly",
"hardLimitCents": 50000,
"softAlertThreshold": 0.8
}
}

触达软警报阈值(80%)时发出通知,触达硬上限时自动暂停所有智能体,控制平面通知人工介入。

设置定时例行任务(Routine)

配置一个每日定时触发的SEO内容智能体:

{
"routine": {
"name": "Daily Content Generation",
"agentId": "content-agent-id",
"schedule": "0 9 * * *",
"goalId": "traffic-growth-goal-id"
}
}

安装 Skills 技能包

通过Skills管理界面从GitHub安装公共技能包,或在公司内创建私有技能:

# 从 GitHub 安装官方 Paperclip Skills
paperclipai skills install https://github.com/paperclipai/skills/paperclip-workflow

安装后,在智能体配置中引用该技能,心跳触发时技能内容会被自动注入到运行时上下文。

与同类开源项目的对比

下表从多个维度对Paperclip与主流同类开源项目进行横向比较:

对比维度PaperclipMulticaCrewAIAutoGenLangGraphOpenClaw
定位公司级多智能体编排控制平面多智能体任务管理平台角色扮演多智能体框架对话式多智能体框架状态机工作流编排单体 AI 编码智能体
组织架构完整Org Chart,层级管理汇报扁平任务分配角色列表对话组
目标对齐使命→目标→项目→任务完整链项目→任务
心跳调度内置,按 Cron 定时唤醒内置
预算控制按智能体/项目/公司分级预算基础成本追踪
治理审批内置审批网关,可回滚
沙箱隔离VM 沙箱(插件)+ Git Worktree(工作区)Git Worktree
智能体来源任意(BYOAClaude/Codex/OpenClaw框架内 Agent框架内 Agent框架内 Node自身
持久会话跨重启恢复任务上下文支持部分
多公司隔离完整数据隔离,单实例多公司单项目
公司模板导入/导出整套公司配置
插件系统内置,VM 沙箱隔离工具插件工具插件工具插件
移动端可通过浏览器访问

Paperclip vs Multica

MulticaPaperclip是目前设计理念最接近的两个项目,都致力于将多个AI编码智能体统一管理到单一平台。主要差异在于:

  • 目标层次Paperclip引入了公司使命→目标→项目的完整层级链,Multica以项目和任务为顶层概念。
  • 组织模型Paperclip有完整的Org Chart、汇报层级和跨团队委托协议,Multica是扁平分配模型。
  • 治理机制Paperclip内置人工审批网关和配置回滚,Multica无对应设计。
  • 技术栈Paperclip使用Node.js + 嵌入式PostgreSQLMultica使用Go + PostgreSQL(含pgvector)。

Paperclip vs CrewAI / AutoGen

CrewAIAutoGen代码优先的多智能体框架,需要用Python代码定义智能体的角色、工具和协作流程,适合开发者构建特定用途的AI应用。Paperclip则是平台优先的编排系统,通过UI和配置管理整个「公司」,不需要编写框架代码,适合需要长期运营多个异构智能体的场景。

Paperclip vs LangGraph

LangGraph是基于有向图的工作流编排引擎,擅长定义精确的状态机流程,适合确定性的、有固定拓扑结构的AI流水线。Paperclip解决的是更宏观的组织协调问题,不限定智能体的内部执行逻辑,只管理它们之间的任务分发、通信和治理。

显著优势总结

与同类项目相比,Paperclip有以下几点最为突出的优势:

  • 真正的「带你自己的智能体」(BYOA)。 任何能接收调用的程序都是合法的Paperclip智能体,无需特定SDK或框架,Claude CodeCodex、自定义Python脚本、HTTP Webhook都可以无缝接入。

  • 企业级组织建模。 Org ChartGoal HierarchyBudgetGovernance等这些在企业软件中司空见惯的概念,被首次系统性地引入到AI多智能体协作领域。

  • 原子化执行保证。 任务认领和预算扣减的原子性处理是大多数开源项目忽略的工程细节,Paperclip在架构层面解决了多智能体并发调度的经典双重执行问题。

  • 跨重启持久会话。 对本地会话型适配器(Claude CodeCodex等)提供任务上下文的持久化,使智能体的工作状态能够在服务器重启后无缝恢复。

  • 可移植的公司模板。 整个公司的组织配置可以被打包、分享和复用,这让「一键复制一家AI公司」变成了现实,也是向「Clipmart」(公司模板市场)生态演进的基础。

项目现状与展望

截至20264月,Paperclip已完成以下里程碑:

  • 插件系统(VM沙箱隔离)
  • OpenClaw和多类本地编码智能体的适配器
  • 公司导入/导出与组织模板
  • Skills技能管理系统
  • 定时例行任务(Routines
  • 改进的预算管理
  • 智能体评审与审批流程

正在规划中的重要方向包括:

  • 多人类用户:多名人类运营者共同监管同一家AI公司
  • 云/沙箱智能体:支持e2b等云端沙箱执行环境
  • 工作成果(Artifacts:将智能体的输出(代码、文档、部署产物)作为一等公民管理
  • 记忆与知识库:为公司和智能体提供持久记忆和知识检索能力
  • MAXIMIZER MODE:更高自主度的执行模式,智能体主动分解和规划,减少人工介入
  • Clipmart:一键下载和部署完整公司模板的市场生态

Paperclip代表了AI多智能体系统从「工具集」向「组织系统」演进的重要方向,是目前开源社区中为数不多真正将「智能体即员工」落地为完整产品的项目。对于希望构建长期运行的自主AI业务的团队来说,Paperclip提供了一个值得深入研究和实践的参考实现。