e43b392a79
## Thinking Path > - Paperclip is the control plane for AI-agent companies. > - Operators need a path to move local company state toward Paperclip Cloud without losing local-first control. > - The Cloud Upstream flow needs API, persistence, CLI, and board UI surfaces that agree on the same manifest/run model. > - The existing branch had the feature work plus UX and error-handling follow-ups. > - This pull request packages the remaining Cloud Upstream sync work into one standalone branch. > - The benefit is an inspectable local-to-cloud sync workflow with preview, conflicts, activation, and captured UX review states. ## What Changed - Added Cloud Upstream shared types, server routes/services, and persisted run schema/migration. - Added Paperclip Cloud CLI sync helpers and local connection storage. - Added the Cloud Upstream board UI, settings entry points, query keys, and UX lab page. - Added preview/activation checklist behavior, redirect handling, manifest-only preview support, friendly errors, in-flight hints, and entity count summaries. ## Verification - `pnpm --filter @paperclipai/plugin-sdk build` - `NODE_ENV=test pnpm exec vitest run cli/src/__tests__/cloud.test.ts server/src/__tests__/instance-settings-routes.test.ts server/src/__tests__/instance-settings-service.test.ts ui/src/pages/CloudUpstream.test.tsx ui/src/components/CompanySettingsSidebar.test.tsx` - `NODE_ENV=test pnpm exec vitest run server/src/__tests__/cloud-upstreams.test.ts` Worktree setup note: the isolated worktree install skipped native sqlite build scripts, so I copied the already-built local sqlite binding from the main checkout before running `server/src/__tests__/cloud-upstreams.test.ts`. The test then passed. ## Risks - Medium: this adds a database migration and a broad feature path across CLI/server/UI. - Merge order: this is the only PR in this split with a DB migration; merge it before any future Cloud Upstream migration follow-up. - Mitigation: the PR is based directly on current `origin/master`, has targeted route/service/UI tests, and keeps the feature behind existing experimental Cloud Sync settings. > For core feature work, check [`ROADMAP.md`](ROADMAP.md) first and discuss it in `#dev` before opening the PR. Feature PRs that overlap with planned core work may need to be redirected — check the roadmap first. See `CONTRIBUTING.md`. ## Model Used - OpenAI GPT-5 Codex via `codex_local`, tool-enabled coding session; exact context window not exposed by this runtime. ## Checklist - [x] I have included a thinking path that traces from project context to this change - [x] I have specified the model used (with version and capability details) - [x] I have checked ROADMAP.md and confirmed this PR does not duplicate planned core work - [x] I have run tests locally and they pass - [x] I have added or updated tests where applicable - [x] If this change affects the UI, screenshot artifacts are intentionally omitted per reviewer request - [x] I have updated relevant documentation to reflect my changes - [x] I have considered and documented any risks above - [x] I will address all Greptile and reviewer comments before requesting merge
322 lines
16 KiB
Markdown
322 lines
16 KiB
Markdown
<p align="center">
|
|
<img src="https://raw.githubusercontent.com/paperclipai/paperclip/master/doc/assets/header.png" alt="Paperclip — runs your business" width="720" />
|
|
</p>
|
|
|
|
<p align="center">
|
|
<a href="#quickstart"><strong>Quickstart</strong></a> ·
|
|
<a href="https://paperclip.ing/docs"><strong>Docs</strong></a> ·
|
|
<a href="https://github.com/paperclipai/paperclip"><strong>GitHub</strong></a> ·
|
|
<a href="https://discord.gg/m4HZY7xNG3"><strong>Discord</strong></a> ·
|
|
<a href="https://x.com/papercliping"><strong>Twitter</strong></a>
|
|
</p>
|
|
|
|
<p align="center">
|
|
<a href="https://github.com/paperclipai/paperclip/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="MIT License" /></a>
|
|
<a href="https://github.com/paperclipai/paperclip/stargazers"><img src="https://img.shields.io/github/stars/paperclipai/paperclip?style=flat" alt="Stars" /></a>
|
|
<a href="https://discord.gg/m4HZY7xNG3"><img src="https://img.shields.io/discord/000000000?label=discord" alt="Discord" /></a>
|
|
</p>
|
|
|
|
<br/>
|
|
|
|
<div align="center">
|
|
<video src="https://github.com/user-attachments/assets/773bdfb2-6d1e-4e30-8c5f-3487d5b70c8f" width="600" controls></video>
|
|
</div>
|
|
|
|
<br/>
|
|
|
|
## What is Paperclip?
|
|
|
|
# Open-source orchestration for zero-human companies
|
|
|
|
**If OpenClaw is an _employee_, Paperclip is the _company_**
|
|
|
|
Paperclip is a Node.js server and React UI that orchestrates a team of AI agents to run a business. Bring your own agents, assign goals, and track your agents' work and costs from one dashboard.
|
|
|
|
It looks like a task manager — but under the hood it has org charts, budgets, governance, goal alignment, and agent coordination.
|
|
|
|
**Manage business goals, not pull requests.**
|
|
|
|
| | Step | Example |
|
|
| ------ | --------------- | ------------------------------------------------------------------ |
|
|
| **01** | Define the goal | _"Build the #1 AI note-taking app to $1M MRR."_ |
|
|
| **02** | Hire the team | CEO, CTO, engineers, designers, marketers — any bot, any provider. |
|
|
| **03** | Approve and run | Review strategy. Set budgets. Hit go. Monitor from the dashboard. |
|
|
|
|
<br/>
|
|
|
|
> **COMING SOON: Clipmart** — Download and run entire companies with one click. Browse pre-built company templates — full org structures, agent configs, and skills — and import them into your Paperclip instance in seconds.
|
|
|
|
<br/>
|
|
|
|
<div align="center">
|
|
<table>
|
|
<tr>
|
|
<td align="center"><strong>Works<br/>with</strong></td>
|
|
<td align="center"><img src="https://raw.githubusercontent.com/paperclipai/paperclip/master/doc/assets/logos/openclaw.svg" width="32" alt="OpenClaw" /><br/><sub>OpenClaw</sub></td>
|
|
<td align="center"><img src="https://raw.githubusercontent.com/paperclipai/paperclip/master/doc/assets/logos/claude.svg" width="32" alt="Claude" /><br/><sub>Claude Code</sub></td>
|
|
<td align="center"><img src="https://raw.githubusercontent.com/paperclipai/paperclip/master/doc/assets/logos/codex.svg" width="32" alt="Codex" /><br/><sub>Codex</sub></td>
|
|
<td align="center"><img src="https://raw.githubusercontent.com/paperclipai/paperclip/master/doc/assets/logos/cursor.svg" width="32" alt="Cursor" /><br/><sub>Cursor</sub></td>
|
|
<td align="center"><img src="https://raw.githubusercontent.com/paperclipai/paperclip/master/doc/assets/logos/bash.svg" width="32" alt="Bash" /><br/><sub>Bash</sub></td>
|
|
<td align="center"><img src="https://raw.githubusercontent.com/paperclipai/paperclip/master/doc/assets/logos/http.svg" width="32" alt="HTTP" /><br/><sub>HTTP</sub></td>
|
|
</tr>
|
|
</table>
|
|
|
|
<em>If it can receive a heartbeat, it's hired.</em>
|
|
|
|
</div>
|
|
|
|
<br/>
|
|
|
|
## Paperclip is right for you if
|
|
|
|
- ✅ You want to build **autonomous AI companies**
|
|
- ✅ You **coordinate many different agents** (OpenClaw, Codex, Claude, Cursor) toward a common goal
|
|
- ✅ You have **20 simultaneous Claude Code terminals** open and lose track of what everyone is doing
|
|
- ✅ You want agents running **autonomously 24/7**, but still want to audit work and chime in when needed
|
|
- ✅ You want to **monitor costs** and enforce budgets
|
|
- ✅ You want a process for managing agents that **feels like using a task manager**
|
|
- ✅ You want to manage your autonomous businesses **from your phone**
|
|
|
|
<br/>
|
|
|
|
## Features
|
|
|
|
<table>
|
|
<tr>
|
|
<td align="center" width="33%">
|
|
<h3>🔌 Bring Your Own Agent</h3>
|
|
Any agent, any runtime, one org chart. If it can receive a heartbeat, it's hired.
|
|
</td>
|
|
<td align="center" width="33%">
|
|
<h3>🎯 Goal Alignment</h3>
|
|
Every task traces back to the company mission. Agents know <em>what</em> to do and <em>why</em>.
|
|
</td>
|
|
<td align="center" width="33%">
|
|
<h3>💓 Heartbeats</h3>
|
|
Agents wake on a schedule, check work, and act. Delegation flows up and down the org chart.
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="center">
|
|
<h3>💰 Cost Control</h3>
|
|
Monthly budgets per agent. When they hit the limit, they stop. No runaway costs.
|
|
</td>
|
|
<td align="center">
|
|
<h3>🏢 Multi-Company</h3>
|
|
One deployment, many companies. Complete data isolation. One control plane for your portfolio.
|
|
</td>
|
|
<td align="center">
|
|
<h3>🎫 Ticket System</h3>
|
|
Every conversation traced. Every decision explained. Full tool-call tracing and immutable audit log.
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="center">
|
|
<h3>🛡️ Governance</h3>
|
|
You're the board. Approve hires, override strategy, pause or terminate any agent — at any time.
|
|
</td>
|
|
<td align="center">
|
|
<h3>📊 Org Chart</h3>
|
|
Hierarchies, roles, reporting lines. Your agents have a boss, a title, and a job description.
|
|
</td>
|
|
<td align="center">
|
|
<h3>📱 Mobile Ready</h3>
|
|
Monitor and manage your autonomous businesses from anywhere.
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br/>
|
|
|
|
## Problems Paperclip solves
|
|
|
|
| Without Paperclip | With Paperclip |
|
|
| ------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
|
|
| ❌ You have 20 Claude Code tabs open and can't track which one does what. On reboot you lose everything. | ✅ Tasks are ticket-based, conversations are threaded, sessions persist across reboots. |
|
|
| ❌ You manually gather context from several places to remind your bot what you're actually doing. | ✅ Context flows from the task up through the project and company goals — your agent always knows what to do and why. |
|
|
| ❌ Folders of agent configs are disorganized and you're re-inventing task management, communication, and coordination between agents. | ✅ Paperclip gives you org charts, ticketing, delegation, and governance out of the box — so you run a company, not a pile of scripts. |
|
|
| ❌ Runaway loops waste hundreds of dollars of tokens and max your quota before you even know what happened. | ✅ Cost tracking surfaces token budgets and throttles agents when they're out. Management prioritizes with budgets. |
|
|
| ❌ You have recurring jobs (customer support, social, reports) and have to remember to manually kick them off. | ✅ Heartbeats handle regular work on a schedule. Management supervises. |
|
|
| ❌ You have an idea, you have to find your repo, fire up Claude Code, keep a tab open, and babysit it. | ✅ Add a task in Paperclip. Your coding agent works on it until it's done. Management reviews their work. |
|
|
|
|
<br/>
|
|
|
|
## Why Paperclip is special
|
|
|
|
Paperclip handles the hard orchestration details correctly.
|
|
|
|
| | |
|
|
| --------------------------------- | ------------------------------------------------------------------------------------------------------------- |
|
|
| **Atomic execution.** | Task checkout and budget enforcement are atomic, so no double-work and no runaway spend. |
|
|
| **Persistent agent state.** | Agents resume the same task context across heartbeats instead of restarting from scratch. |
|
|
| **Runtime skill injection.** | Agents can learn Paperclip workflows and project context at runtime, without retraining. |
|
|
| **Governance with rollback.** | Approval gates are enforced, config changes are revisioned, and bad changes can be rolled back safely. |
|
|
| **Goal-aware execution.** | Tasks carry full goal ancestry so agents consistently see the "why," not just a title. |
|
|
| **Portable company templates.** | Export/import orgs, agents, and skills with secret scrubbing and collision handling. |
|
|
| **True multi-company isolation.** | Every entity is company-scoped, so one deployment can run many companies with separate data and audit trails. |
|
|
|
|
<br/>
|
|
|
|
## What Paperclip is not
|
|
|
|
| | |
|
|
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------- |
|
|
| **Not a chatbot.** | Agents have jobs, not chat windows. |
|
|
| **Not an agent framework.** | We don't tell you how to build agents. We tell you how to run a company made of them. |
|
|
| **Not a workflow builder.** | No drag-and-drop pipelines. Paperclip models companies — with org charts, goals, budgets, and governance. |
|
|
| **Not a prompt manager.** | Agents bring their own prompts, models, and runtimes. Paperclip manages the organization they work in. |
|
|
| **Not a single-agent tool.** | This is for teams. If you have one agent, you probably don't need Paperclip. If you have twenty — you definitely do. |
|
|
| **Not a code review tool.** | Paperclip orchestrates work, not pull requests. Bring your own review process. |
|
|
|
|
<br/>
|
|
|
|
## Quickstart
|
|
|
|
Open source. Self-hosted. No Paperclip account required.
|
|
|
|
```bash
|
|
npx paperclipai onboard --yes
|
|
```
|
|
|
|
That quickstart path now defaults to trusted local loopback mode for the fastest first run. To start in authenticated/private mode instead, choose a bind preset explicitly:
|
|
|
|
```bash
|
|
npx paperclipai onboard --yes --bind lan
|
|
# or:
|
|
npx paperclipai onboard --yes --bind tailnet
|
|
```
|
|
|
|
If you already have Paperclip configured, rerunning `onboard` keeps the existing config in place. Use `paperclipai configure` to edit settings.
|
|
|
|
Or manually:
|
|
|
|
```bash
|
|
git clone https://github.com/paperclipai/paperclip.git
|
|
cd paperclip
|
|
pnpm install
|
|
pnpm dev
|
|
```
|
|
|
|
This starts the API server at `http://localhost:3100`. An embedded PostgreSQL database is created automatically — no setup required.
|
|
|
|
> **Requirements:** Node.js 20+, pnpm 9.15+
|
|
|
|
<br/>
|
|
|
|
## FAQ
|
|
|
|
**What does a typical setup look like?**
|
|
Locally, a single Node.js process manages an embedded Postgres and local file storage. For production, point it at your own Postgres and deploy however you like. Configure projects, agents, and goals — the agents take care of the rest.
|
|
|
|
If you're a solo-entreprenuer you can use Tailscale to access Paperclip on the go. Then later you can deploy to e.g. Vercel when you need it.
|
|
|
|
**Can I run multiple companies?**
|
|
Yes. A single deployment can run an unlimited number of companies with complete data isolation.
|
|
|
|
**How is Paperclip different from agents like OpenClaw or Claude Code?**
|
|
Paperclip _uses_ those agents. It orchestrates them into a company — with org charts, budgets, goals, governance, and accountability.
|
|
|
|
**Why should I use Paperclip instead of just pointing my OpenClaw to Asana or Trello?**
|
|
Agent orchestration has subtleties in how you coordinate who has work checked out, how to maintain sessions, monitoring costs, establishing governance - Paperclip does this for you.
|
|
|
|
(Bring-your-own-ticket-system is on the Roadmap)
|
|
|
|
**Do agents run continuously?**
|
|
By default, agents run on scheduled heartbeats and event-based triggers (task assignment, @-mentions). You can also hook in continuous agents like OpenClaw. You bring your agent and Paperclip coordinates.
|
|
|
|
<br/>
|
|
|
|
## Paperclip Cloud Sync
|
|
|
|
Cloud upstream sync is behind the `Cloud Sync` experimental setting. Enable it in Instance Settings before pushing.
|
|
|
|
```bash
|
|
paperclipai cloud connect https://your-stack.paperclip.app
|
|
paperclipai cloud connect https://your-stack.paperclip.app --no-browser
|
|
paperclipai cloud push --company <local-company-id> --dry-run
|
|
paperclipai cloud push --company <local-company-id>
|
|
```
|
|
|
|
`cloud connect` authorizes the local instance against the target stack and stores the upstream token in the local instance secret store. The default path opens a browser for consent; `--no-browser` uses the device-code flow and prints the verification URL and user code.
|
|
|
|
`cloud push --dry-run` exports the selected local company, sends a preview bundle to the connected Cloud stack, and exits with code `2` when conflicts need user resolution. A schema mismatch exits with code `3`. Running without `--dry-run` stages chunks idempotently, applies the run, and prints the final summary and recent progress events.
|
|
|
|
## Development
|
|
|
|
```bash
|
|
pnpm dev # Full dev (API + UI, watch mode)
|
|
pnpm dev:once # Full dev without file watching
|
|
pnpm dev:server # Server only
|
|
pnpm build # Build all
|
|
pnpm typecheck # Type checking
|
|
pnpm test # Cheap default test run (Vitest only)
|
|
pnpm test:watch # Vitest watch mode
|
|
pnpm test:e2e # Playwright browser suite
|
|
pnpm db:generate # Generate DB migration
|
|
pnpm db:migrate # Apply migrations
|
|
```
|
|
|
|
`pnpm test` does not run Playwright. Browser suites stay separate and are typically run only when working on those flows or in CI.
|
|
|
|
See [doc/DEVELOPING.md](https://github.com/paperclipai/paperclip/blob/master/doc/DEVELOPING.md) for the full development guide.
|
|
|
|
<br/>
|
|
|
|
## Roadmap
|
|
|
|
- ✅ Plugin system (e.g. add a knowledge base, custom tracing, queues, etc)
|
|
- ✅ Get OpenClaw / claw-style agent employees
|
|
- ✅ companies.sh - import and export entire organizations
|
|
- ✅ Easy AGENTS.md configurations
|
|
- ✅ Skills Manager
|
|
- ✅ Scheduled Routines
|
|
- ✅ Better Budgeting
|
|
- ⚪ Artifacts & Deployments
|
|
- ⚪ CEO Chat
|
|
- ⚪ MAXIMIZER MODE
|
|
- ✅ Multiple Human Users
|
|
- ⚪ Cloud / Sandbox agents (e.g. Cursor / e2b agents)
|
|
- ⚪ Cloud deployments
|
|
- ⚪ Desktop App
|
|
|
|
<br/>
|
|
|
|
## Community & Plugins
|
|
|
|
Find Plugins and more at [awesome-paperclip](https://github.com/gsxdsm/awesome-paperclip)
|
|
|
|
## Contributing
|
|
|
|
We welcome contributions. See the [contributing guide](https://github.com/paperclipai/paperclip/blob/master/CONTRIBUTING.md) for details.
|
|
|
|
<br/>
|
|
|
|
## Community
|
|
|
|
- [Discord](https://discord.gg/m4HZY7xNG3) — Join the community
|
|
- [Twitter / X](https://x.com/papercliping) — Follow updates and announcements
|
|
- [GitHub Issues](https://github.com/paperclipai/paperclip/issues) — bugs and feature requests
|
|
- [GitHub Discussions](https://github.com/paperclipai/paperclip/discussions) — ideas and RFC
|
|
|
|
<br/>
|
|
|
|
## License
|
|
|
|
MIT © 2026 Paperclip
|
|
|
|
## Star History
|
|
|
|
[](https://www.star-history.com/?repos=paperclipai%2Fpaperclip&type=date&legend=top-left)
|
|
|
|
<br/>
|
|
|
|
---
|
|
|
|
<p align="center">
|
|
<img src="https://raw.githubusercontent.com/paperclipai/paperclip/master/doc/assets/footer.jpg" alt="" width="720" />
|
|
</p>
|
|
|
|
<p align="center">
|
|
<sub>Open source under MIT. Built for people who want to run companies, not babysit agents.</sub>
|
|
</p>
|