Sompote/tiger_cowork
요약
Sompote/tiger_cowork는 멀티 에이전트 오케스트레이션, 기기 간 연결, 스킬 마켓플레이스를 지원하는 셀프 호스팅 AI 워크스페이스입니다. OpenAI 및 Claude Code 등 다양한 AI 제공업체를 혼합하여 사용할 수 있으며, 자동 기술 생성 및 컨텍스트 압축 기능을 통해 효율적인 협업 환경을 제공합니다.
핵심 포인트
- OpenAI 및 Claude Code CLI 등 다양한 AI 모델을 하나의 에이전트 팀 내에서 혼합 사용 가능
- 성공적인 채팅을 기반으로 재사용 가능한 SKILL.md 워크플로우를 자동 생성하는 기술 합성 기능
- 네트워크상의 서로 다른 기기에 있는 에이전트들을 연결하여 분산된 팀 협업 지원
- 스마트 컨텍스트 압축 및 체크포인트 복구를 통한 장시간 세션 안정성 확보
- 프로젝트별 에이전트 모드 오버라이드 및 AI 결정 기반의 자동 아키텍처 설정 지원
채팅, 코드 실행, 병렬 멀티 에이전트 오케스트레이션 (Parallel multi-agent orchestration), 기기 간 에이전트 연결, 그리고 스킬 마켓플레이스를 갖춘 셀프 호스팅 AI 워크스페이스입니다. OpenAI 호환 API, Claude Code CLI, Codex CLI 등 서로 다른 AI 제공업체를 동일한 에이전트 팀 내에서 혼합하여 사용할 수 있습니다. 네트워크상의 서로 다른 기기에 있는 에이전트들을 연결하여 분산된 팀이 실시간으로 협업할 수 있도록 합니다. 외부 MCP 서버를 연결하여 AI의 도구 상자를 확장할 수 있습니다. 16개의 내장 도구로 구축되었으며, 스마트 컨텍스트 압축 (Context compression) 및 체크포인트 복구 (Checkpoint recovery)를 통해 장시간 세션이 가능하도록 설계되었습니다.
컨텍스트 압축 신뢰성 (Context Compaction Reliability)— 긴 파이프라인 실행 중 Context overflow after 3 compression retries로 나타나는 `
자동 기술 생성 (Automatic Skill Generation)— 성공적인 채팅은 크론 (cron) 작업(또는 Run Now를 통해)에 의해 마이닝되어 재사용 가능한 SKILL.md 워크플로우를 합성합니다. 합성기 (synthesiser)는 새로운 기술을 제안하거나 기존에 자동 생성된 기술을 개선합니다. 업데이트 사항은 실제 적용 전 검토를 위해 SKILL.md.proposed라는 병렬 diff 파일로 제공됩니다. 전체 알고리즘 및 설정에 대해서는 '자동 기술 생성 (Automatic Skill Generation)' 섹션을 참조하십시오. 기술 승인 워크플로우 (Skill Approval Workflow)— 대기 중인 자동 기술은 Skills 페이지에 승인/거절 (Approve/Reject) 컨트롤과 함께 나타납니다. 승인하면 제안된 파일의 이름이 SKILL.md로 변경되며 활성화됩니다. 이후 어떤 채팅에서든 다음 사용자 턴 (user turn)이 시작될 때 이를 자동으로 인식합니다 (시스템 프롬프트는 턴마다 재구축되므로 재시작이 필요하지 않습니다). 메시지별 피드백 루프 (Per-Message Feedback Loop)— 모든 어시스턴트 응답에 대해 선택적으로 👍 / 👎 및 댓글을 남길 수 있습니다. 👍는 합성기에게
프로젝트별 에이전트 모드 오버라이드 (Per-Project Agent Mode Override)— 각 프로젝트는 글로벌 서브 에이전트 모드 (Auto Spawn, Auto Create, Manual, Realtime, Auto Swarm)를 오버라이드(Override)하여 자체적인 YAML 설정, 아키텍처 유형, 에이전트 수 및 연결 프로토콜 (Connection protocols)을 선택할 수 있습니다. 활성화된 오버라이드 설정은 프로젝트 헤더와 채팅 배너에 클릭 가능한 보라색 태그로 표시됩니다.
자동 아키텍처 — AI 결정 설정 (Auto Architecture — AI-Decided Settings)— 아키텍처 유형 및 에이전트 수(기본값 3~8개)를 위한 새로운 "Auto (AI decides)" 옵션이 추가되었습니다. 연결 프로토콜 (Connection protocols)은 이제 단일 드롭다운 대신 다중 선택 토글 버튼으로 제공됩니다.
에이전트 추론이 포함된 전체 채팅 로그 (Full Chat Log with Agent Reasoning)— 모든 채팅 세션은 이제 사용자 메시지, 도구 호출 (Tool calls, 인자 포함), 서브 에이전트 추론 (Sub-agent reasoning) 텍스트 및 최종 응답을 캡처하는 완전한 로그 파일을 기록합니다. Activity 옆에 새로운 Log 버튼이 추가되어 실시간 업데이트 패널을 열 수 있으며, 새로운 Export 버튼을 통해 로그를 .txt 파일로 다운로드할 수 있습니다.
완료된 작업 이력 (Finished Tasks History)— 작업 (Tasks) 페이지에서 이제 상태, 소요 시간, 사용된 에이전트 및 호출된 도구를 포함하여 최근 완료/취소/오류가 발생한 100개의 작업을 보여줍니다. 각 완료된 작업에 있는 Open Chat 버튼을 누르면 해당 세션으로 즉시 이동합니다.
프로젝트 목록 정렬 (Project List Sorting)— 프로젝트를 A–Z 또는 최근 항목 (Recent) (가장 최근에 업데이트된 순)으로 정렬할 수 있습니다. 정렬 설정은 새로고침 후에도 유지됩니다.
채팅 로그 내 서브 에이전트 추론 (Sub-Agent Reasoning in Chat Log)— 오케스트레이터 (Orchestrators)와 워커 에이전트 (Worker agents)가 도구 호출 사이의 중간 사고(Thinking) 텍스트를 채팅 로그로 스트리밍하여, 의사 결정 체인 (Decision-making chain)을 완전히 가시화합니다.
AsyncLocalStorage 설정 오버라이드 (AsyncLocalStorage Settings Override)— 프로젝트 에이전트 오버라이드가 이제 백엔드의 모든 비동기 호출 (Async call)을 통해 올바르게 전파되어, 전체 채팅 라이프사이클 동안 getSettings()가 프로젝트 범위의 구성 (Project-scoped configuration)을 반환하도록 보장합니다.
경고: 이 앱은 AI가 생성한 코드와 셸 명령 (Shell commands)을 실행합니다. Docker 또는 샌드박스 환경 (Sandboxed environment) 내에서 실행하십시오. 보안 및 Docker 설정 (Security & Docker Setup)을 참조하세요.
도구 호출 (Tool-calling) 기능이 포함된 AI 채팅 — 출력 패널에 렌더링되는 React/Recharts 시각화 자료를 생성합니다.
비주얼 에이전트 에디터 (Visual Agent Editor) — 메시 네트워킹 (Mesh networking) 및 YAML 내보내기가 가능한 드래그 앤 드롭 방식의 멀티 에이전트 설계
Minecraft Task Monitor — 말풍선, 걷기 애니메이션, 에이전트 간 상호작용 기능이 포함된 실시간 픽셀 아트 에이전트.
16개의 내장 도구를 활용한 AI 채팅— 웹 검색 (Web search), Python, React, 셸 (Shell), 파일 (Files), 스킬 (Skills), 서브 에이전트 (Sub-agents)에이전트별 모델 혼합 사용— 에이전트마다 서로 다른 AI 제공업체 할당 가능 (API, Claude Code CLI, Codex CLI)병렬 멀티 에이전트 시스템 (Parallel Multi-Agent System)— 7가지 오케스트레이션 토폴로지 (Orchestration topologies), 4가지 통신 프로토콜 (Communication protocols), P2P 스웜 거버넌스 (P2P swarm governance)기기 간 에이전트 연결— 네트워크를 통해 서로 다른 기기에서 실행 중인 에이전트를 연결하여 인프라 전반에 걸친 분산 멀티 에이전트 협업 가능Minecraft Task Monitor— 에이전트의 활동을 보여주는 말풍선과 에이전트 상호작용 시 걷기 애니메이션이 포함된 실시간 픽셀 아트 캐릭터 (Steve, Creeper, Enderman 등)장기 실행 세션 안정성 (Long-Running Session Stability)— 슬라이딩 윈도우 압축 (Sliding window compression), 스마트 도구 결과 처리, 체크포인트 복구 (Checkpoint recovery)MCP 통합— 모든 모델 컨텍스트 프로토콜 (Model Context Protocol, MCP) 서버 연결 (Stdio, SSE, StreamableHTTP)출력 패널 (Output Panel)— React 컴포넌트, 차트, HTML, PDF, Word, Excel, 이미지 및 마크다운 (Markdown) 렌더링스킬 및 ClawHub— 마켓플레이스에서 AI 스킬을 설치하거나 직접 구축 가능자동 스킬 생성— LLM 합성기 (LLM synthesiser), 승인 게이트 (Approval gate), 제안된 차이점 검토 (Proposed-diff review) 과정을 통해 성공적인 채팅 내용을 재사용 가능한 SKILL.md 프로시저 (Procedures)로 추출
프로젝트 (Projects)— 메모리, 스킬 선택 및 파일 브라우저가 포함된 전용 워크스페이스
Mac:
TigerCoWork.zip다운로드- 압축 해제 후
TigerCoWork.app을 우클릭하여 열기 (Open) 선택
Windows:
TigerCoWorkInstaller.zip다운로드- 압축 해제 후
TigerCoWorkInstaller.bat실행
전제 조건: Docker Desktop이 설치되어 있고 실행 중이어야 합니다.
| 구분 | Mac | Windows |
|---|---|---|
| 시작 (Start) | TigerCoWork.app 더블 클릭 | TigerCoWorkStart.bat 더블 클릭 |
| 중지 (Stop) | Docker Desktop → Containers → Stop | TigerCoWorkStop.bat 더블 클릭 |
Mac/Linux:
curl -fsSL https://raw.githubusercontent.com/Sompote/tiger_cowork/main/install.sh | bash
Windows (PowerShell):
irm https://raw.githubusercontent.com/Sompote/tiger_cowork/main/install.ps1 | iex
Linux 서버에 직접 또는 SSH를 통해 로그인하세요:
ssh root@<your-server-ip>
⚠️ 보안 경고 (Security Warning): AI 에이전트(AI agents)는 호스트 시스템의 파일을 수정하거나 삭제할 수 있는 임의의 코드 및 셸 명령(shell commands)을 실행할 수 있습니다. Tiger CoWork를 중요한 데이터가 없는 VPS 또는 전용 머신에서 실행할 것을 강력히 권장합니다. 민감하거나 대체 불가능한 정보가 있는 머신에서는 실행하지 마십시오.
사전 요구 사항 (Prerequisites): Node.js >= 18, npm, Python 3 (선택 사항)
git clone https://github.com/Sompote/tiger_cowork.git
cd tiger_cowork
bash setup.sh # 의존성(deps)을 설치하고 ClawHub 토큰 입력을 요청합니다
...
백그라운드 실행 (권장): 터미널을 닫은 후에도 Tiger CoWork가 계속 실행되도록 PM2를 사용하세요.
npm install -g pm2 # PM2를 전역(globally)으로 설치
npm run build # 프로덕션 번들(production bundle) 빌드
pm2 start npm --name "tiger-cowork" -- start # 백그라운드에서 시작
pm2 save # 자동 재시작을 위해 프로세스 목록 저장
pm2 startup # 시스템 부팅 시 자동 시작 활성화
유용한 PM2 명령어:
pm2 status # 실행 중인 프로세스 확인
pm2 logs tiger-cowork # 로그 보기
pm2 restart tiger-cowork # 재시작
pm2 stop tiger-cowork # 중지
첫 실행 토큰:
UI의 기본 토큰은 your-secret-token-here 입니다. 보안을 위해 나중에 .env 파일에서 변경해 주세요.
http://localhost:3001접속- Settings (설정) 이동
- API Key, API URL, Model 입력
- **Test Connection (연결 테스트)**를 클릭하여 확인
- 채팅 시작 — AI는 웹 검색, 코드 실행, 차트 생성 등을 수행할 수 있습니다.
Tiger CoWork는 과거의 채팅 세션으로부터 재사용 가능한 SKILL.md 워크플로(workflows)를 자동으로 합성할 수 있습니다. 채팅이 종료되면 LLM 기반 파이프라인(LLM-driven pipeline)이 최근 대화를 검토하여, 완전히 새로운 스킬을 제안하거나, 기존에 자동 생성된 스킬을 개선하거나, 또는 👎 피드백이 남겨진 경우 원인이 되었을 가능성이 가장 높은 자동 스킬을 정밀하게 재작성합니다. 이후의 채팅에서는 처음부터 다시 즉흥적으로 수행하는 대신 저장된 프로시저(stored procedure)를 매칭하여 실행합니다.
일정 (Schedule). 크론 잡 (cron job, 기본 60분, 설정 가능)이 파이프라인을 깨웁니다. 또한 Skills 페이지에서 수동으로 실행할 수도 있습니다 (Run Auto-Update Now). 수동 실행은 커서 (cursor)를 무시하고 현재 스킬 (skills)을 기준으로 최신 세션들을 다시 평가합니다.
대상 선택 (Candidate selection). updatedAt이 저장된 커서보다 최신인 세션들을 요약합니다: 처음 6개의 사용자 프롬프트 (각 ≤600자), 마지막 어시스턴트 (assistant) 답변 (≤3000자), 댓글이 포함된 메시지별 👍 / 👎 피드백, 그리고 data/chat_logs/<sessionId>.log에서 파싱된 서브 에이전트 워크플로 추적 (sub-agent workflow trace) (에이전트별 작업, 사용된 도구 (tools), load_skill을 통해 로드된 스킬, 완료/에러 상태)을 포함합니다. 멀티 에이전트 (multi-agent) 모드에서는 오케스트레이터 (orchestrator)의 병합된 최종 답변만이 session.messages에 남기 때문에, 어떤 서브 에이전트가 무엇을 수행했는지 알 수 있는 유일한 곳은 채팅 로그뿐이므로 이 추적 데이터가 반드시 필요합니다. 최종 답변이 에러(요청 제한 (rate limit), API 키 누락, 연결 에러)처럼 보이는 세션이나, 아직 사용자 또는 어시스턴트의 턴 (turn)이 없는 세션은 조용히 제외됩니다.
1단계 — 교정 (Remediation) (댓글이 포함된 👎). 비어 있지 않은 댓글과 함께 👎로 표시된 어시스턴트 메시지가 포함된 각 세션에 대해, 파이프라인은 다음 우선순위에 따라 대상 자동 스킬 (auto-skill)을 선택합니다: (a) chat-log-unique — 세션 동안 정확히 하나의 자동 스킬이 로드됨 → 이를 직접 사용; (b) chat-log-subset — 여러 개의 자동 스킬이 로드됨 → 토큰 중첩 휴리스틱 (token-overlap heuristic)을 해당 서브셋으로 제한; (c) token-overlap fallback — load_skill 이벤트가 발견되지 않음 → 불만족스러운 발췌문과 댓글을 사용하여 모든 자동 스킬과 매칭 (최소 점수 = 2개의 서로 다른 콘텐츠 토큰). 그 후 모델에게 해당 불만을 해결하도록 그 하나의 스킬을 재작성하도록 요청하거나, {"skip": true}를 반환하도록 합니다.
잘못된 대상이 선택되었다고 판단하는 경우입니다. 교정 프롬프트(remediation prompt)에는 파싱된 서브 에이전트 워크플로우(sub-agent workflow)도 포함되어 있어, 모델이 오케스트레이션 계층의 실패(잘못된 서브 에이전트, 잘못된 순서, 누락된 전제 조건)를 수정할 수 있도록 합니다. 교정은 실행당 최대 5회로 제한되며, 나머지는 다음 틱(tick)으로 미뤄집니다. 성공적인 교정은 세션을 소비하므로, Pass 2는 해당 세션으로부터 다시 증류(distil)하지 않습니다. 실행 요약(run summary)에는 디버깅 가능성을 위해 어떤 전략이 대상을 선택했는지(예: target picked via chatlog-unique) 기록됩니다.
Pass 2 — 합성 (Synthesis).
남은 후보들은 현재 스킬 목록 및 세션별 서브 에이전트 워크플로우 블록과 함께 TigerBot 모델로 전송됩니다. 합성기(synthesiser)는 엄격한 JSON 제안을 반환하며, 각 제안은 다음 중 하나입니다:
create — 새로운 스킬 (모든 소스에 걸쳐 기존 이름과 충돌해서는 안 됨),
또는 update — 기존 스킬을 개선하되, 해당 스킬의 source: "auto"인 경우에만 가능합니다. 사람이 큐레이션한 스킬(custom, clawhub, claude, openclaw)은 쓰기 방지(write-protected) 처리됩니다. 합성기에는 일반화할 수 없는 일상적인 채팅이나 일회성 Q&A를 건너뛰도록 지시됩니다 — 즉, 양보다 질(quality > quantity)을 우선합니다. 👍는 "이것을 캡처하라"는 것을 강화하고, 👎는 증류를 명시적으로 억제합니다. subagent_workflow가 비어 있지 않은 경우, 프롬프트는 합성기에게 단순히 결과뿐만 아니라 에이전트 토폴로지(어떤 역할을 생성할지, 어떤 순서로, 어떤 스킬을 로드할지)를 SKILL.md 본문에 캡처하도록 지시합니다.
검증 (Validation).
각 제안은 정규 표현식으로 정제된 이름([a-zA-Z0-9_-]+)을 통과해야 합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Codex tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기