OpenSource-Hub

paperclip

애플리케이션

paperclipai/paperclip

오픈 소스 AI Agent 관리 및 오케스트레이션 플랫폼.

개요

Paperclip은 셀프 호스팅 오케스트레이션 플랫폼으로, 여러 AI 에이전트를 조율하여 비즈니스 목표를 달성하며, 조직 구조, 예산, 거버넌스, 작업 추적 및 비용 관리 기능을 제공하고 OpenClaw, Claude Code, Codex 등의 에이전트 연결을 지원합니다.

README 미리보기

\n  \n\n\n\n  Quickstart ·\n  Docs ·\n  GitHub ·\n  Discord ·\n  Twitter ·\n  Website\n\n\n\n  \n  \n  \n  \n\n\n\n\n\n  \n\n\n\n\n# Paperclip is the app people use to manage AI agents for work.\n\nOpen-source orchestration for teams of AI agents.\n\n**If OpenClaw is an _employee_, Paperclip is the _company_.**\n\nPaperclip 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 work and costs from one dashboard.\n\nIt looks like a task manager. Under the hood: org charts, budgets, governance, goal alignment, and agent coordination.\n\n**Manage business goals, not pull requests.**\n\n|        | Step            | Example                                                            |\n| ------ | --------------- | ------------------------------------------------------------------ |\n| **01** | Define the goal | _"Build the #1 AI note-taking app to $1M MRR."_                    |\n| **02** | Hire the team   | CEO, CTO, engineers, designers, marketers — any bot, any provider. |\n| **03** | Approve and run | Review strategy. Set budgets. Hit go. Monitor from the dashboard.  |\n\n\n\n\n\n  \n    Workswith\n    OpenClaw\n    Claude Code\n    Codex\n    Cursor\n    Bash\n    HTTP\n  \n\n\nIf it can receive a heartbeat, it's hired.\n\n\n\n\n\n## Paperclip is right for you if\n\n- ✅ You want to build **autonomous AI companies**\n- ✅ You **coordinate many different agents** (OpenClaw, Codex, Claude, Cursor) toward a common goal\n- ✅ You have **20 simultaneous Claude Code terminals** open and lose track of what everyone is doing\n- ✅ You want agents running **autonomously 24/7**, but still want to audit work and chime in when needed\n- ✅ You want to **monitor costs** and enforce budgets\n- ✅ You want a process for managing agents that **feels like using a task manager**\n- ✅ You want to manage your autonomous businesses **from your phone**\n\n\n\n## The four pillars\

FAQ (5)

문제 해결
Paperclip을 v2026.1005.0으로 업그레이드한 후 Claude CLI 세션이 재개되지 않는 문제를 어떻게 해결하나요?

이 회귀는 실행별 에이전트 작업 복사본 경로(file-sync/runs/<runId>/live/AGENTS.md)가 Claude 프롬프트 텍스트에 포함되기 때문에 발생합니다. <runId>는 실행할 때마다 변경되므로 buildClaudePromptBundleKey가 매번 다른 해시를 생성하고, 그 결과 hasMatchingPromptBundle이 저장된 세션을 거부하고 새 세션을 시작합니다.

수정: PR #15437이 포함된 Paperclip 릴리스로 업그레이드하세요. 이 수정은 지침과 스킬이 변경되지 않은 경우 프롬프트 번들을 안정적으로 유지하면서 현재 작업 복사본 위치를 각 실행에 별도로 제공합니다.

임시 해결 방법: 세션 재개가 정상적으로 작동하는 v2026.1001.0으로 다운그레이드하세요. 이 회귀의 영향을 받는 버전에는 v2026.1005.0 및 v2026.1006.0-canary.19가 포함됩니다.

원본 Issue #15373
문제 해결
Paperclip 어댑터 업데이트 후 끊어진 skill 심볼릭 링크로 인해 발생하는 Codex 'failed to stat skills entry … No such file or directory' 오류를 어떻게 해결하나요?

이러한 오류는 어댑터 업데이트가 스킬을 제거하면서 이전 심볼릭 링크를 ~/.codex/skills 또는 ~/.claude/skills에 남겨 둘 때 발생합니다. 먼저 끊어진 심볼릭 링크를 미리 확인합니다:

find "${CODEX_HOME:-$HOME/.codex}/skills" -maxdepth 1 -type l -xtype l -print
find "$HOME/.claude/skills" -maxdepth 1 -type l -xtype l -print

나열된 경로가 오래된 어댑터 심볼릭 링크라면 삭제합니다:

find "${CODEX_HOME:-$HOME/.codex}/skills" -maxdepth 1 -type l -xtype l -delete
find "$HOME/.claude/skills" -maxdepth 1 -type l -xtype l -delete

그런 다음 Codex를 다시 실행합니다. 로더가 어댑터 패키지에서 제거된 파일을 가리키는 심볼릭 링크를 더 이상 만나지 않으므로 오류가 사라질 것입니다. 영구적인 정리 패스가 PR #1711에서 제안되었지만 병합되지 않고 닫혔으므로, 수동으로 제거하거나 향후 메인테이너의 수정이 필요합니다.

원본 Issue #1618
문제 해결
에이전트의 작업 디렉토리에서 `scripts/paperclip-issue-update.sh`가 누락되거나 실패하여 Paperclip 에이전트가 파일시스템 전체를 대상으로 `find /`를 실행하는 문제를 어떻게 해결하나요?

이 문제는 server/skills/paperclip/SKILL.md의 Step 8이 헬퍼를 단순 상대 경로로 호출하기 때문에 발생하며, 이는 셸의 현재 디렉터리가 스킬 디렉터리일 때만 작동합니다. v2026.916.1 및 2026.1001.0과 같은 npm 설치에서는 scripts/release.sh가 skills/만 복사하고 paperclip-issue-update.sh는 저장소 루트의 scripts/ 디렉터리에 있기 때문에 헬퍼가 아예 없을 수도 있습니다.

즉시 해결 방법: 헬퍼가 없을 때 에이전트가 파일 시스템을 검색하지 않도록 SKILL.md를 패치하세요. 대신 문서에 설명된 raw API 요청을 사용하도록 지시하세요:

curl -X PATCH "https://<paperclip-host>/api/issues/$PAPERCLIP_TASK_ID" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  --data '{"status":"done"}'

Step 8에 이미 문서화된 인증 및 요청 본문 필드를 사용하고, 필요한 경우 comment/markdown 페이로드를 거기에 포함하세요.

패키징 수정: scripts/release.sh를 업데이트하여 @paperclipai/server, @paperclipai/adapter-claude-local, @paperclipai/adapter-codex-local에 대해 scripts/paperclip-issue-update.sh를 skills/paperclip/scripts/로 복사한 후 다음을 확인하세요:

ls -l skills/paperclip/scripts/paperclip-issue-update.sh

영구적인 경로 수정: 어댑터가 절대 스킬 디렉터리 변수(예: PAPERCLIP_SKILL_ROOT)를 내보내도록 하고, Step 8이 다음을 호출하도록 변경하세요:

"$PAPERCLIP_SKILL_ROOT/scripts/paperclip-issue-update.sh" \
  --issue-id "$PAPERCLIP_TASK_ID" \
  --status done

해당 변수를 사용할 수 있을 때까지 신뢰할 수 있는 규칙은 다음과 같습니다. 헬퍼가 문서화된 절대 위치에 없으면 PATCH /api/issues/{issueId}를 직접 호출하고, find / -iname paperclip-issue-update.sh는 절대 실행하지 마세요.

원본 Issue #9527
문제 해결
반복되는 'Bounded retry exhausted' 이벤트로 attention feed를 빌드하는 동안 'JavaScript heap out of memory' 오류로 인해 Paperclip 시작이 크래시되는 문제를 어떻게 해결하나요?

Paperclip을 upstream 수정 #13451(커밋 667c79ded21e49b2a56b302093591c63a6f4e971)이 포함된 릴리스로 업그레이드하세요. 이 수정은 반복된 retry-exhaustion 라이프사이클 이벤트가 attention-feed 쿼리에서 각 실행의 전체 context_snapshot을 중복으로 증가시키는 문제를 방지합니다. 문제가 발생한 커밋은 9a5a364170cb68a939ef972fab60f389f6664fd2이며, 해당 수정은 master의 1477d1ecea0d4fce0a906ac47ad1fc4eea9d3428에 존재함이 확인되었습니다.

배포 단계:

cd paperclip
git fetch origin
git checkout 667c79ded21e49b2a56b302093591c63a6f4e971   # 또는 이 수정이 포함된 더 최신 릴리스
pnpm install
pnpm build
systemctl restart paperclip

즉시 업그레이드할 수 없는 경우, 임시 해결 방법으로 V8 힙 한도를 높일 수 있습니다. 예를 들어 systemd 서비스에 Environment=NODE_OPTIONS=--max-old-space-size=24576을 추가한 다음 systemctl daemon-reload를 실행하고 재시작하면 됩니다. 결함이 있는 쿼리가 약 20GB의 중복된 컨텍스트 데이터를 반환할 수 있으므로 24GB 이상이 필요할 수 있습니다. 업그레이드하거나 중복된 라이프사이클 이벤트를 아카이브하는 것이 근본적인 해결 방법입니다.

원본 Issue #15308
문제 해결
Paperclip hermes_local이 재개된 하트비트마다 managed instructions를 반복하지 않게 하려면 어떻게 해야 하나요?

PR #15439가 포함된 빌드로 Paperclip을 업그레이드하세요(master에서 수정되었습니다). 이 수정은 재개된 각 -q 사용자 메시지 앞에 전체 instruction bundle을 덧붙이는 대신 Hermes의 네이티브 시스템 오버레이를 통해 managed instructions를 전달합니다. 또한 신규 실행, 재개된 실행, instruction 변경, 세션 리셋에 대한 회귀 테스트도 포함되어 있습니다. @paperclipai/hermes-paperclip-adapter 2026.1001.0 부근의 버전과 커밋 582911ba가 영향을 받습니다. quiet: true/-Q 또는 커스텀 promptTemplate을 사용해도 중복된 접두사는 제거되지 않습니다. 임시 해결 방법으로 persistSession을 비활성화하면 각 실행이 새 세션으로 시작되지만, 이 경우 세션 연속성이 손실됩니다.

원본 Issue #15385