한 줄 요약

Skales는 파일·브라우저·캘린더·이메일에 접근해 다단계 작업을 수행하는 로컬 우선 AI 에이전트 제품이다. Windows·macOS·Linux 데스크톱과 Android·iOS 모바일 표면, BYOK·15개 이상 AI provider·Ollama 오프라인 실행·Telegram/WhatsApp 접근을 하나의 제품 경험으로 묶는다. 다만 이 저장소는 최신 제품의 전체 소스가 아니다. README와 SECURITY.md에 따르면 저장소는 배포·릴리스·문서·이슈 채널이고, 체크인된 코드는 유지보수되지 않는 역사적 v7 스냅샷이다.

가장 중요한 판독: 제품과 저장소를 분리해야 한다

구분확인된 내용해석상의 주의
현재 제품 문서README 버전 12.6.1, 최신 release v12.6.1다운로드 가능한 signed 앱과 모바일 앱의 기능 설명
체크인 소스루트 package.json 버전 7.1.0, Electron + Next.js 앱SECURITY.md가 historical v7 snapshot이라고 명시
저장소 역할releases, changelog, install guides, issue tracker의 distribution channel최신 제품의 보안 모델·코드 전체를 대표하지 않음
라이선스README: BSL 1.1, 2030-04-19 Apache 2.0 전환; GitHub API: NOASSERTIONAPI license field보다 README/LICENSE를 우선해 기록

따라서 아래에서는 README/release가 설명하는 현재 제품 표면, v7 소스에서 실제로 확인한 구현, 이번 캡처에서 실행하지 않은 범위를 분리한다.

현재 제품 표면 — README와 v12.6.1 release 기준

장기 실행 에이전트

  • /goal로 목표를 넘기면 백그라운드에서 여러 단계를 실행하고, 앱을 닫아도 재개하는 장기 작업 모델을 표방한다.
  • /code는 폴더를 대화에 바인딩하고 Plan·Code·Edits·Auto 모드로 파일 탐색, diff, 테스트, commit/push/deploy 작업을 수행하는 제품 표면이다.
  • Workflows는 직접 그린 단계·성공 조건·입력을 재사용 가능한 trigger로 만들고, 녹화된 화면 조작을 재생하는 경로를 제공한다고 설명한다.
  • Agent Skills 표준을 통해 Claude Code·Codex·GitHub Copilot·Cursor 계열의 SKILL.md를 URL·로컬 폴더·본문으로 가져올 수 있다고 README가 설명한다.

멀티에이전트·연결

  • Organization: 부서·전문 에이전트·팀 리더·CEO 라우팅으로 AI 조직을 구성한다는 제품 개념.
  • Teams: 두 Skales 데스크톱을 페어링해 인간·에이전트가 암호화된 대화에서 협업한다는 기능.
  • /swarm: 네트워크의 페어링된 장치에 작업을 위임하고 code:·plan:·auto: 모드로 실행한다는 기능.
  • A2A: 다른 에이전트가 Skales 인스턴스를 발견하고 작업을 위임하는 Agent2Agent 표준 지원을 표방한다.
  • Mobile: QR 페어링으로 데스크톱의 도구를 모바일에서 사용하거나, 모바일 단독 도구로 실행하는 Android/iOS 앱을 설명한다.

브라우저·컴퓨터·창작 표면

  • Built-in Browser Agent: 웹 탐색, 클릭, 폼 입력, 쿠키 배너 처리, Markdown 추출, workspace·session·playbook을 제공한다고 설명한다.
  • Computer Use: 스크린샷·마우스·키보드·스크롤 제어를 Safety Mode 승인과 함께 제공한다고 설명한다.
  • Studio/Flow: HTML·CSS·이미지·영상·오디오·슬라이드·프로토타입·모션 그래픽을 대화로 생성하고, 결과물을 파일·갤러리·실제 MP4로 다룬다고 설명한다.
  • Lio AI: 설계자·리뷰어·빌더로 역할을 나누어 코드를 생성하고 sandbox preview에서 검토·배포하는 제품 표면이다.

v12.6.1 release가 추가한 내용

최신 release notes는 provider grid와 capability badge, Tencent Hunyuan, 로컬 모델의 sequential agent team 실행, MCP API-token headers, skales:// 링크 확인 카드, Qdrant/ChromaDB retrieval backend, 여러 Telegram chat pairing, sleep 이후 scheduler catch-up, headless start, tiny-model preset, multi-agent mode guide, crash-context line을 추가·수정 사항으로 열거한다. 이는 release notes의 내용이며 이번 캡처에서 실행·검증한 기능 목록이 아니다.

v7 소스에서 확인한 에이전트 실행 구조

ReAct tool loop

apps/web/src/actions/orchestrator.tsprocessMessageWithTools는 다음 흐름을 구현한다.

  1. OpenAI-compatible function-calling 형식의 tool 정의를 모델에 제공한다.
  2. 모델이 Reason 단계에서 응답 또는 tool call을 결정한다.
  3. agentExecute가 선택된 도구를 실행한다.
  4. 결과를 Observe 메시지로 대화 컨텍스트에 다시 붙인다.
  5. 최대 8회 반복하며, 같은 tool과 같은 인자를 연속으로 반복하는 stall을 감지하면 중단한다.
  6. 최대 반복에 도달하면 최종 synthesis call을 요청하고 short-term memory를 기록한다.

도구에는 파일·웹·작업·메일·캘린더·Telegram/WhatsApp·이미지/영상·브라우저·스크린샷·skill toggle 등이 포함되며, TOOL_SAFETYauto, confirm, manual 수준으로 side effect를 구분한다. 예를 들어 read_file·웹 검색은 auto, write_file·delete_file·shell command·메일 전송·일정 생성·browser open은 confirm으로 지정되어 있다. 이는 v7 스냅샷의 코드 판독이다.

Autopilot heartbeat

apps/web/src/lib/autonomous-runner.ts는 싱글턴 background runner를 구현한다. 소스에서 확인되는 운영 장치는 다음과 같다.

  • 5분 간격 heartbeat와 즉시 첫 tick
  • cron task due-check 및 중복 실행 방지
  • pending task를 in_progress로 옮긴 뒤 ReAct tool 실행
  • 실패 시 retry/requeue, 최대 재시도 후 blocked 상태 전환
  • Safe Mode에서 system/scheduled/critical task를 requiresApproval로 멈추고 dashboard·Telegram 승인 알림
  • 기본 시간당 20회 LLM call 제한과 task 수 pause 설정
  • stale in_progress task 복구 및 autopilot_logs.json 기록
  • OODA식으로 task 계획을 다시 쓸 수 있는 자가수정 경로

이 구조는 사용자의 지시를 기다리는 단발성 챗봇보다 장기 작업 큐에 가깝지만, 실제 heartbeat·cron·provider 연결은 이번 저장 과정에서 실행하지 않았다.

브라우저·컴퓨터 사용 구현의 경계

browser-control.ts는 optional Playwright 설치 후 headless Chromium 세션을 열고, 페이지 screenshot을 .skales-data/workspace/browser-screenshots에 저장하며, 설정된 vision provider로 페이지를 설명한다. 기본 설정은 navigation 자동승인을 끄고 login·form·purchase·download 승인을 요구한다. browserClick은 vision 모델이 screenshot에서 설명된 요소를 찾도록 설계되어 있다.

computer-use.ts의 v7 snapshot에는 workspace/full 파일 접근 모드, Unix/Windows system·credential 경로 blocklist, 위험 command blacklist, 30초 shell timeout, HTTP/HTTPS fetch, 1MiB read limit이 있다. 그러나 SECURITY.md가 강조하듯 현재 release에는 이 snapshot에 없는 request-token gate, path guard, shell guard, per-agent confinement이 추가되었다고 설명하므로, v7 코드를 최신 앱 보안 보장으로 읽으면 안 된다.

Skills·capabilities·통합

  • capabilities.ts는 secrets와 integration config를 점검해 어떤 기능과 tool이 현재 설정되었는지 JSON capability state로 재구성하고 orchestrator prompt에 주입한다.
  • v7 custom-skills.ts는 data directory의 .js skill 파일과 JSON manifest를 저장·활성화·비활성화하고, 백업 코드로 누락 파일을 복구한다.
  • README의 최신 제품 표면은 SKILL.md Agent Skills, MCP server, DevKit API, 15개 이상 AI provider, Ollama/LM Studio/KoboldCpp/vLLM/text-generation-webui와 OpenAI-compatible endpoint를 내세운다. 이 목록 중 실제 provider·서비스 연결은 이 캡처에서 테스트하지 않았다.
  • README가 열거한 외부 통합은 WordPress, Google/Apple/Outlook calendar, Notion, Todoist, Drive, Docs, GitHub, Home Assistant, Spotify, Gmail/IMAP, Telegram, Discord, WhatsApp, Slack, Signal 등이다. 제품 문서의 기능 목록이지 모든 계정 연동 성공의 증거는 아니다.

아키텍처 스냅샷

계층확인 내용
Desktop shellElectron; electron/main.js에서 single-instance lock, tray/updater, local port 3000–3009 탐색
FrontendNext.js 14 App Router, React 18, Tailwind CSS
LanguageTypeScript + JavaScript Electron layer
StorageREADME: ~/.skales-data의 JSON + SQLite
AgentREADME: ReAct loop, 180+ tools, multi-agent delegation, context-aware filtering; v7 소스에는 tool registry와 ReAct loop가 확인됨
Browseroptional Playwright + headless Chromium + vision provider
Current productv12.6.1 release; 저장소 체크인 소스와 동일시하지 않음

GitHub 캡처 스냅샷

항목
저장소skalesapp/skales
확인 커밋512f47aThe crash-context line says what it does
최신 releasev12.6.1
README 제품 버전12.6.1
체크인 package version7.1.0
언어TypeScript
API license fieldOther / NOASSERTION
README 라이선스BSL 1.1; 2030-04-19 Apache 2.0 전환 표기
Stars / forks1,475 / 210
Open issues4
생성 / 최근 갱신 / push2026-03-08 / 2026-08-05 / 2026-08-05
캡처 시각2026-08-05 20:28 KST

보안·라이선스 주의

  • SECURITY.md는 취약점 제보 범위를 현재 released signed desktop/mobile 앱, skales.app/update feed, DevKit으로 제한하고, v7 source snapshot은 out of scope로 둔다.
  • 제품 BSL 1.1은 개인·교육·비상업 사용은 허용하지만 상업 SaaS 또는 경쟁 제품은 서면 허가가 필요하다고 README가 설명한다. 2030-04-19 Apache 2.0 전환 표기도 README/LICENSE의 upstream 주장으로 기록한다.
  • WordPress connector plugin은 README에서 MIT로 별도 표기된다.
  • 사용자가 직접 권한을 주는 로컬 앱이라는 성격상 파일·shell·브라우저·메일·메신저 도구는 강력한 side effect를 가진다. Safe Mode approval, path/command guard, provider key 보호를 확인해야 한다.

이 캡처에서 하지 않은 것

  • Skales v12.6.1 Desktop/Mobile binary 설치·실행
  • 실제 provider API key 연결, Ollama/LM Studio 연결, 모델 호출
  • /goal, /code, /swarm, browser, computer-use, cron, Telegram/WhatsApp 연동 실행
  • npm install, Next.js build, Electron packaging, E2E test, benchmark 재현
  • README의 RAM·tool count·지원 OS·성능 및 release note 기능에 대한 독립 검증

관련 노트

출처 및 검증

  • canonical source: https://github.com/skalesapp/skales
  • raw capture: raw source: github-skalesapp-skales
  • pinned branch: main at 512f47ad5dc658abb5607b7dbc98dfa8dc87176c
  • README byte SHA-256: 7306936eb5ac18f694d97d0a98768d28941d33dd54f5f30b9d10ffa1c7fe7feb
  • raw body SHA-256: 58593eb368327fbc96106f8030be346b229e34edf013ff5ebc5d5070696a50e
  • selected files: apps/web/src/actions/orchestrator.ts, apps/web/src/lib/autonomous-runner.ts, apps/web/src/actions/browser-control.ts, apps/web/src/actions/computer-use.ts, apps/web/src/actions/custom-skills.ts, apps/web/src/actions/capabilities.ts, electron/main.js, SECURITY.md, package.json, apps/web/package.json
  • 검증 범위: GitHub REST API metadata, pinned README, latest release notes, security policy, package manifests, selected source inspection, wiki frontmatter/link/table/index checks.
  • 실제 제품 실행·build·모델 호출·benchmark는 이 저장 세션에서 수행하지 않았다.