<div align="center">
SparkWork
전문적인 개발과 복잡한 업무를 위한 로컬 우선 데스크톱 Agent 워크벤치: 워크플로우 오케스트레이션, 여러 Agent 세션 협업, 지능형 라우팅 모델을 통해 실행 능력을 커스텀 도구와 앱으로 확장합니다. 모든 실행은 검토 가능하고, 제어 가능하며, 되돌릴 수 있습니다.
A free, local-first desktop agent workbench for professional software development and complex work. Orchestrate workflows, collaborate across agent sessions, route tasks to the right models, and extend the workspace with custom tools and apps — with reviewable, steerable, reversible runs on macOS, Windows and Linux.
공식 웹사이트 · 다운로드 · 기능 다이어그램 · 기능 특성 · 빠른 시작 · 소스 코드에서 빌드 · 엔지니어링 매뉴얼 · 기여 가이드 · 업데이트 로그
License: MIT
Electron
React
TypeScript
pnpm
Platform
</div>
✨ 프로젝트 소개
SparkWork은 macOS, Windows 및 Linux에서 실행되는 전문 개발자 및 고도의 지식을 활용하는 작업자를 위한 데스크톱 Agent 워크벤치입니다. 이 플랫폼은 작업 오케스트레이션, Agent 세션 협업, 모델 지능형 라우팅, 코드 및 파일 도구, 커스텀 애플리케이션, 그리고 실행 검토 및 롤백 기능을 로컬 우선의 작업 공간에 통합했습니다.
핵심 하이라이트:
- 워크플로우 오케스트레이션: 계획(plan), Agent, 도구(tool), 승인(approval), 검증(validation)을 복구 가능한 실행 프로세스로 구성합니다.
- Agent 세션 협업: Host Agent가 여러 멤버 Agent를 스케줄링하여 분담 작업을 수행하게 하며, 인수인계 및 요약 내용을 추적할 수 있습니다.
- 지능형 라우팅: 작업 강도에 따라 적절한 모델과 채널로 할당하고, 실패 시 자동으로 다운그레이드합니다.
- 커스텀 도구와 애플리케이션: API, 스크립트 및 팀 프로세스를 Agent가 호출할 수 있는 도구나 데스크톱 애플리케이션으로 확장합니다.
- 검토 가능한 실행: 도구 호출, 권한 승인, 코드 변경 사항을 검토하고 필요에 따라 제어하거나 롤백할 수 있습니다.
프로젝트는 빠르게 반복 개발 중이며, 일부 기능과 인터페이스는 계속 조정될 수 있습니다.
📷 인터페이스 미리보기
SparkWork 工作台:项目、会话与使用足迹集中在同一界面
기능 다이어그램
아래 여덟 개의 이미지는 여덟 가지 능력 라인의 주 경로에 해당하며, 세부 사항은 공식 웹사이트 문서 센터와 엔지니어링 매뉴얼에서 확인할 수 있습니다.
<table>
<tr
><td width="50%" valign="top">
장기 기억(Long-term Memory): 한 라운드 대화의 쓰기 및 읽기 폐쇄 루프
매 라운드 종료 시 비동기로 추출하여 쓰기, 매 라운드 시작 시 혼합 검색 주입(mixed retrieval injection)을 수행합니다. 다섯 개의 게이트를 거쳐 저장된 내용은 FTS5와 벡터(vector)의 이중 경로 및 RRF 융합 후 토큰 예산에 따라 자름 처리됩니다.
长期记忆一轮对话的写入与读取闭环
</td>
<td width="50%" valign="top">
지식 기반(Knowledge Base): 생성에서 읽기로의 아키텍처
세 가지 생성 파이프라인(대화 침전 / 스킬 제안 / Repo Wiki) 모두 초안을 먼저 작성하고 수동 확인을 거쳐 동일한 원시어(primitive)로 수렴하여 저장됩니다. 읽기 시에는 사전 주입(pre-injection) 없이, 사람과 기계가 같은 출처를 가지며, 검색 후 필요에 따라 본문을 가져옵니다.
知识库从生成到读取的架构:三条生成管道经统一写入原语落到 markdown 与 SQLite,读取侧零预注入
</td>
</tr>
<tr
><td width="50%" valign="top">
워크플로우(Workflow): 한 그림의 실제 실행
13가지 노드 유형이 토폴로지 스케줄링을 거쳐 개별적으로 실제로 배포됩니다. Agent 노드는 동일 세션 내 멤버 턴이며, 도구 노드는 LLM을 거치지 않는 결정론적 직접 호출(deterministic direct call)으로 구성할 수 있습니다. 스냅샷 저장소는 중단점 재개 실행(breakpoint continuation run)을 지원합니다.
工作流执行主链路
</td>
<td width="50%" valign="top">
커스텀 도구(Custom Tool): 엔지니어링에서 Agent 도구면으로
다중 파일 프로젝트는 불변 버전으로 설치되며, 키는 시스템 자격 증명 저장소에만 들어갑니다. 모든 게이트를 통과하여 활성화되면 세션 도구면에 연결되고, 패키지 변경은 다음 라운드에 열(hot)로 적용됩니다.
自定义工具生命周期
</td>
</tr>
<tr
><td width="50%" valign="top">
자동 라우팅(Automatic Routing): 라운드별 분산 및 하향식 계단
분산기(Router)는 라운드마다 강도를 판단하며, 호스트는 라운드가 시작되기 전에 제공자(provider)와 모델을 교체합니다. 분산에 실패하더라도 무조건 하향 조정되며, 이번 라운드의 실행이 중단되지 않습니다.
自动路由一轮分流与降级阶梯
</td>
<td width="50%" valign="top">
성능 보호(Performance Protection): 샘플링, 등급 지정 및 4단계 이력 유지
2초 동안 6가지 지표를 샘플링하고 항목별로 등급을 지정한 후 가장 높은 등급을 채택합니다. 상향은 빠르고 하향은 느리며, 위기 등급일 때만 팝업 알림이 뜨고, 앞의 두 단계는 성능 페이지에서만 볼 수 있습니다.
性能监控:采样、定级与四档滞回
</td>
</tr>
<tr>
<td width="50%" valign="top">
보안 및 키(Security & Keys): 하나의 키가 거치는 통제된 여정
키의 평문은 직접적으로 거부되며, 보호된 양식(form)을 통해서만 시스템 자격 증명 저장소로 들어갑니다. 환경 변수는 6단계 범위로 병합되어 자식 프로세스에 주입되고, hooks는 관찰 및 가로채기 가능한 이중 트랙으로 작동하며, 전 과정의 로그는 비식별화됩니다.
安全与密钥边界
</td>
<td width="50%" valign="top">
컨텍스트 엔지니어링(Context Engineering): 장문 컨텍스트의 흐름 제어 및 신뢰성 확보
스킬 디렉토리는 메타데이터만 주입하고, 전체 텍스트는 필요할 때 로드합니다. 초장문의 도구 출력은 콘텐츠 주소 지정 상품(content-addressable artifact)으로 보관되며, 필요할 때 다시 읽어옵니다. 압축은 이벤트 추가에만 사용되고, 아카이브는 손실 없이 검사 가능하며, 크로스 세션 참조는 명시적인 승인이 있어야 합니다.
上下文工程主链路
</td>
</tr>
</table>
기억 생명 주기(Memory Lifecycle), 지식 기반 침전 파이프라인(Knowledge Base Sedimentation Pipeline), 라우터 구성 및 이중 풀 게이트(Router Composition & Dual-Pool Gate)에 대한 네 가지 다이어그램은 엔지니어링 매뉴얼 · 기능 아키텍처에서 확인할 수 있습니다.
기능 특성
🤖 Agent, 워크플로우 및 팀
- 👤 사용자 정의 Agent: 다양한 역할에 맞춰 모델, 프롬프트, 권한, 스킬(Skills), 규칙(Rules), hooks 및 도구를 구성합니다.
- 🔀 시각적 워크플로우: 노드와 연결선을 통해 입력, 계획, Agent, 도구, 승인, 검증 및 배포를 오케스트레이션합니다.
- 🧷 세션 내 워크플로우 부착: 현재 세션의 입력 영역에서 워크플로우를 선택, 덮어쓰거나 비활성화할 수 있으며, 이는 본 세션에만 적용되고 Agent 자체 설정은 변경하지 않습니다.
- 👥 팀 Agent: Host가 여러 멤버 Agent에게 업무 분담을 지시하며 실행하고, 멤버 간 상호 통신 및 협업이 가능합니다.
- 🧠 장기 기억(Long-Term Memory): 사용자, 프로젝트, Agent 세 단계로 격리되며, 대화 라운드가 끝날 때마다 백그라운드에서 추출되어 다음 라운드의 혼합 검색에 주입됩니다. 메모리 유효 기간, 후보 확인 영역 및 의미 통합을 지원하며, 오래된 기억은 삭제되지 않고 만료 처리만 됩니다.
- 📖 지식 기반(Wiki): 솔루션, 튜토리얼 및 실패 기록을 검색 가능하고, 양방향 연결이 가능하며, 다시 볼 수 있는 버전의 지식 페이지로 작성합니다. 콘텐츠는 사전 주입되지 않으며, 읽기는 4단계 토큰 예산 제약 하에 이루어지고, Agent가 쓰기할 때는 승인 절차를 거칩니다.
- 🗂 칸반 작업 패널: 할 일(To Do), 진행 중(In Progress), 수정(Fix), 완료(Done) 및 검수 상태를 한 곳에서 관리합니다.
- ⏱ 전역 타이머 태스크: 세션 간의 계획된 작업 스케줄링을 담당합니다.
SparkWork 可视化工作流编排
🧩 확장 생태계 및 모델 연결
- 🔧 사용자 정의 도구(Custom Tool): API, 스크립트 또는 비즈니스 기능을 Agent가 자율적으로 호출할 수 있는 도구로 포장합니다. 빈 상태, cURL, 템플릿에서 가져오기를 지원하며, 입력 스키마를 정의하고, 초안과 배포 버전을 격리하여 테스트, 배포, 중지 및 롤백이 가능하며, 키는 암호화된 자격 증명 저장소에 보관됩니다.
- 📦 도구 패키지(Tool Package): 다중 파일 도구 패키지를 통해 실행 환경, 구성, 권한 및 버전을 통합 관리합니다.
- 🧩 사용자 정의 애플리케이션 (서브 앱): 대화 중에 Agent가 작은 애플리케이션을 개발하도록 하여, 코드와 데이터가 독립적으로 저장됩니다. 배포, 롤백 및 아카이빙을 지원하며, 콘텐츠 영역, 사이드 패널, 플로팅 창, 독립 창 또는 데스크톱 애완동물 형태로 실행될 수 있습니다.
- 🔌 플러그인 시스템: 플랫폼 플러그인을 설치하여 Agent의 능력을 확장합니다.
- 📡 원격 연결: Telegram, Feishu(飞书), QQ, WeChat 메시지를 세션에 브릿지하여 외부 채팅에서도 Agent를 구동할 수 있습니다.
- ☁️ 다중 Provider 관리: OpenAI 호환 / Anthropic 프로토콜, 사용자 정의 채널 및 멀티미디어 모델 채널을 통합 관리합니다.
- 🧭 자동 라우팅(Automatic Routing): '분산기 + 3단계 실행 모델'을 구성하면, 라운드마다 작업 강도를 판단하여 해당 단계에 분배됩니다. 강도 점착성(strength stickiness)이 있어 인접한 라운드에서 갑작스러운 이동을 방지하며, 분산 실패 시 본 라운드를 중단하는 대신 규칙 기반의 폴백(fallback)으로 처리합니다.
SparkWork 模型渠道管理
⚙️ 성능 및 리소스 보호
- 📊 성능 패널: 설정 → 시스템 → 성능 페이지에서 전체 리소스 개요, 히스토리 추세, 활동 관리, 최근 하향/복구 이벤트를 한눈에 볼 수 있으며, 각 보호 설정을 확인할 수 있습니다.
- 🚦 이중 풀 분배 게이트(Dual-Pool Dispatch Gate): 백그라운드 자식 프로세스는 형태별로 '메인 풀 + 중첩 데드락 방지 풀'에 배분됩니다. 전역 동시성 예산과 멤버 동시성 하드 제한 두 개의 노브가 수렴하며, 초과된 부분은 동시에 시작되는 대신 대기열에서 기다립니다.
- 🛡 4단계 압력 등급(Four-Tier Pressure Grading): 6가지 지표를 항목별로 등급 지정한 후 가장 높은 등급을 채택합니다 (정상 / 경고 / 심각 / 위기). 임계값은 백분율만 저장하고, 로컬 메모리 및 CPU 코어 수에 따라 환산됩니다. 상향은 빠르고 하향은 느리며, 오직 위기 단계에서만 사용자에게 알림이 전송됩니다.
SparkWork 性能页:资源指标卡、历史趋势、活动治理与降级恢复事件
💬 워크스테이션 대화
Agent와 협업하는 완전한 폐쇄 루프(closed loop): 입력부터 대기열, 승인에 이르기까지, 그리고 추적 질문, 분기, 타이머 알람까지 장기 작업에서 단서를 놓치지 않습니다.
- 📎 풍부한 입력: 파일 / 이미지 / 디렉토리 참조를 한 번에 최대 20개까지 첨부 가능; 드래그 앤 드롭 투입, 이미지 붙여넣기, 긴 텍스트 붙여넣기를 자동 첨부(입력창 폭발 방지); 각 세션별 초안 독립 저장
- 🗣 음성 입력: Ctrl+Shift+D를 통해 언제든지 음성으로 말하고 실시간 전사본을 입력 초안에 추가
- 🔗 세 가지 컨텍스트 참조: 읽기 전용 참고 자료로 이전 대화 세션 첨부, 내장 브라우저의 '요소 선택' 기능을 활용하여 웹 페이지 조각을 컨텍스트로 변환, 코드 뷰어에서 선택한 코드를 한 번에 삽입하여 참조
- ⌨️ 명령: 내장 명령 + 사용자 정의 명령(추가/삭제 가능, 가져오기/내보내기 지원),
/ 입력 시 바로 접근
- 🔄 메시지 대기열: Agent가 바쁠 때 계속 입력하면 자동으로 대기열에 추가; 대기열은 드래그하여 정렬, 편집, 개별 즉시 실행 및 제거 가능; 응답 오류 발생 시 자동 일시 중지되며 메시지가 유실되지 않아, 모델 전환 후 재시도하거나 건너뛰어 진행할 수 있음
- ✏️ 메시지 단위 작업: 임의의 사용자 메시지를 다시 보내기(원본과 첨부파일이 입력 영역에 채워짐), 여기서 분기하기, 특정 메시지에 답장하거나 삭제 가능
- 💬 구조화된 질문 및 빠른 답변: Agent가 객관식 / 복수 선택 / 빈칸 채우기 형태의 질문 가이드 시작 가능하며, 진행/뒤로 가기 및 건너뛰기 지원; 입력창 상단에 즉시 전송 가능한 빠른 답변 제공
- 📋 계획 승인: 계획 모드에서 Agent가 먼저 계획을 제출한 후 실행하므로, 승인, 편집 후 승인 또는 거절이 가능하며 제안 이력이 전체적으로 기록됨
- 🛡 단계별 권한 승인: 도구 호출 내장 승인 카드 제공으로, 한 번 / 세션 내 허용 / 거부 / 세션 내 거부 네 단계의 제어 가능
- 🎯 목표 검수 계약: 검수 표준, 제약 조건 및 검증 명령을 사용하여 목표를 확정하고, Agent가 다중 라운드 자체 점검을 수행하며, 라운드 간 자동 요약과 최종 상태 판정을 제공
- 🌿 세션 분기: 임의의 라운드에서 새로운 세션을 파생시켜 이미 완료된 이력을 가져오며, 원본과는 영향을 주지 않음
- ⏰ 세션 예약 알림: 단일 실행 / 고정 간격 / Cron 세 가지 트리거 지원. 지정 시간에 자동으로 현재 세션에서 작업을 계속하며, 폴링(polling) 및 추후 후속 조치에 적합함
- 📜 이력 가져오기: Codex, Claude Code, ZCode의 기존 로컬 세션 기록을 병렬로 스캔하고 가져옴
- 🛰 장기 작업 안정성: 스트리밍 연결 끊김 시 자동 재연결, 실패 상세 내역 및 원클릭 재시도, Codex 실행 중 누락된 부분에 대한 자동 안내 복구; 실행 중 라운드별 소요 시간 실시간 표시
- 🐞 대화형 디버깅: 어려운 버그는 '가설 설정 → 임시 삽입(instrumentation) → 재현 → 검증 → 삽입 제거'의 인간 루프 폐쇄 순환 과정을 거침
- 🎁 풍부한 출력: Markdown 및 코드 하이라이팅, HTML 상호작용 사상자(sandbox), Mermaid / Markmap 차트(전체 화면 가능), docx / xlsx / pptx / pdf 문서 카드, 이미지/오디오/비디오 인라인 재생, diff 색상 지정, 매개변수 및 소요 시간이 표시된 도구 호출 카드, 접을 수 있는 사고 과정, 컨텍스트 압축 요약, Computer Use 작업 시간선
🖥️ 통합 사이드 패널
대화 오른쪽에는 여러 개를 열고 전환할 수 있는 패널 시스템이 존재하며, 작업의 모든 측면을 보면서 대화할 수 있습니다.
- 🖥 터미널: 다중 탭 지원(생성/이름 변경/닫기), 읽지 않은 출력에 빨간 점 알림, 탭 전환 시 프로세스 중단 없음
- 📝 코드: Monaco 에디터 + 파일 트리 + 파일 검색 + 전체 텍스트 검색 + Git diff 보기, 선택된 코드는 대화 참조로 직접 삽입 가능
- 🌐 브라우저: 다중 탭 및 주소 표시줄, 뷰포트 크기 사전 설정, 페이지 요소가 세션으로 가져와지며, 패널과 독립 창 사이에서 전환 가능
- 🔍 코드 검토: 파일별, Hunk(코드 블록)별 작업 영역 변경 사항 확인, 대화에 코드 또는 파일 추가
- 📋 계획: 승인 진행 중인 계획, 제안 이력 조회
- 💬 사이드 채팅: 메인 흐름을 방해하지 않는 보조 소규모 대화, 언제든지 전환하거나 새로 생성 가능
- 🧩 서브 애플리케이션: 패널 형태의 사용자 정의 앱이 사이드 패널에 자동으로 배치됨
- 📊 세션 검사기: 언제든지 펼칠 수 있는 실행 백박스 — 토큰 사용량 및 캐시 적중률, TTFT / 평균 처리량 / 생성 시간 비율 및 느린 라운드 표시, 라운드별 토큰 그래프, 컨텍스트 창 소프트/하드 이중 수위, 서브 Agent 상태, Worktree 정보, 프로젝트 컨텍스트 예산, 2단계 환경 변수 및 프롬프트 스냅샷
对话与代码面板并排的 SparkWork 工作区
🗂 세션 및 작업 관리
- 📚 프로젝트 그룹 사이드바: 프로젝트와 세션을 드래그하여 정렬, 고정, 시간 필터링 및 검색, 세션 제목은 첫 라운드 내용에서 자동 생성
- ✅ 작업 패널: 세션 내 TodoList가 실시간으로 완료도와 각종 상태를 표시
- 🗄 복원 지점 타임라인: 매 라운드 영향을 받은 파일을 자동으로 기록하며, 목록을 펼쳐 원클릭 복원 가능(복원 전 자동 백업)
- 🔔 알림 센터: 작업 완료 및 예외 사항 집중 알림
- 🧭 전역 탐색: 명령 패널, 세션 검색, Cmd+B 전체 단축 작업(언제든지 작업을 Agent에게 던져 즉시 실행), 단축키는 설정에서 변경 가능
- 🔥 사용량 히트맵: 빈 세션 홈 화면에서 사용 리듬을 직관적으로 검토
💻 개발 및 자동화
- 🌳 독립 작업 공간 (Worktree): 세션이 별도의 분기 디렉토리에서 실행되어 다중 작업 간 상호 간섭 없음
- 🖱️ Computer Use: 단일 작업 단위로 로컬 애플리케이션을 제어하며, 상태 확인, 가로채기(takeover) 및 중지 지원
- 🔧 환경 변수: 프로젝트 레벨 및 세션 레벨 설정, JSON 원클릭 가져오기/내보내기 지원
SparkWork 代码开发与 Git 审查面板
🎨 무한 캔버스와 멀티미디어 창작
- 🖼 무한 캔버스: 텍스트, 이미지, 비디오, 오디오 및 그룹화된 노드를 확대/축소하며 이동 가능한 캔버스에 배치하고, 출처 관계를 유지합니다.
- 🤖 캔버스 Agent: 현재 선택 항목과 프로젝트 구조를 읽어와 노드를 생성, 연결, 정리하고 워크플로우 실행을 계속 진행합니다.
- 🎬 멀티미디어 생성: 문장으로 이미지 생성 (Text-to-Image), 이미지로 이미지 생성 (Image-to-Image), 이미지 편집 및 합성, 문장으로 비디오 생성 (Text-to-Video), 이미지로 비디오 생성 (Image-to-Video), 비디오 편집, 더빙 및 음성 전사(Speech Transcription)
- ⚡ 빠른 창작: 캔버스 내에서 직접 이미지/비디오 창작을 시작하고 프롬프트 역추론이 가능하며, 페이지 상단에서 독립된 창으로 전환하여 실행할 수 있습니다. 메인 인터페이스와 동일한 작업 흐름 및 백그라운드 작업을 공유합니다.
- 🗃 자산 센터: 캐릭터, 장면, 소품(Props), 스토리보드, 생성 결과물을 관리하며 지속적으로 반복되는 콘텐츠 프로젝트에 적합합니다.
- 🎞 영상 도구 체인: 스토리보드, 키프레임, 비디오 작업대 (Video Workbench), 3D 감독대 (Director's Desk), 360° 전경
- 📄 문서 및 발표 자료 생성: 강의 자료(Slideshow), 조사 보고서, 데이터 분석 보고서를 출력하며 HTML / PPTX / DOCX / Markdown 형식으로 지원합니다.
SparkWork 无限画布与画布 Agent
🔒 로컬 우선 및 보안
- 🗄 구조화된 데이터는 로컬 SQLite에 저장되며, 프로젝트 파일과 생성 산출물은 로컬 작업 공간에 보관됩니다.
- 🔐 민감한 자격 증명(Credentials)은 시스템 자격 증명 기능 및 암호화된 자격 증명 라이브러리를 통해 관리되어 일반 프로젝트 설정에 기록되지 않습니다.
- 🛡 파일, 명령어, 네트워크, 데스크톱 작업 및 외부 도구는 권한 모드와 도구 전략으로 제어됩니다.
- 🎨 다크/라이트 테마, 멀티 창(캔버스 / 브라우저 독립 창) 등 데스크탑급 경험을 제공합니다.
다운로드 및 설치
GitHub Releases에서 최신 설치 패키지를 받으세요:
데스크톱 애플리케이션에는 spark-engine이 내장되어 있습니다 (SDK 프로세스 내에서 실행). 일상적인 사용 시 별도의 CLI 설치가 필요하지 않습니다.
Spark CLI (선택 사항)
터미널에서 spark 명령 또는 TUI(Text User Interface)를 사용할 때만 개별적으로 설치합니다. CLI는 데스크톱 애플리케이션과 동일한 ~/.spark 데이터 루트를 공유하므로, 데스크톱 버전에서 설정된 채널 자격 증명을 재사용할 수 있습니다.
macOS / Linux (Node.js >=22.14 <23 요구):
curl -fsSL https://raw.githubusercontent.com/alexanderizh/spark-agent/spark-cli-releases/install.sh | sh
Windows (PowerShell):
irm https://raw.githubusercontent.com/alexanderizh/spark-agent/spark-cli-releases/install.ps1 | iex
설치 스크립트는 해당 버전의 npm tarball을 다운로드하고 latest.json과 비교하여 sha256을 검증하며, 지정된 버전 및 오프라인 설치를 지원합니다:
sh install.sh --version 0.4.0
sh install.sh --tarball ./spark-agent-0.4.0.tgz
업데이트(트랜잭션식 자동 업데이트, 실패 시 자동 롤백):
spark update
spark update --check
spark update --target 0.4.0
...
설치 또는 업데이트 후 spark --version 및 spark doctor를 실행하여 환경을 검증하세요.
최초 시작 시 선택기에서 모델을 한 번 선택하면, 이후의 선택은 ~/.spark/config.toml ([agent].model)에 기록되어 자동으로 재사용되며, 매번 질문하지 않습니다. 전환할 때는 /model 또는 spark --model <route-id>를 사용합니다 (현재 세션에만 적용).
세션 관리: 세션은 디렉터리별로 ~/.spark/projects/ 아래에 영구 저장되며, 언제든지 복원할 수 있습니다:
spark --continue
spark --resume
spark --resume <session-id>
...
빠른 시작
- 애플리케이션을 설치하고 Provider(OpenAI 호환 / Anthropic 프로토콜)를 구성하거나 로컬 Claude / Codex CLI를 활성화합니다.
- 임시 세션을 새로 만들거나 로컬 프로젝트를 엽니다.
- 목표를 설명하고, 필요에 따라 파일을 첨부하거나 디렉터리, 이미지를 추가하거나 다른 세션을 참조합니다. Agent가 계획을 제출하면 실행 여부를 확인합니다.
- 대화 오른쪽에서 터미널, 코드, 브라우저 또는 검토 패널을 열어 보면서 이야기하며, 계속해서 질문하고 메시지 큐를 조정하거나 복원 지점에서 되돌아갈 수 있습니다.
소스코드로부터 구축하기
환경 요구 사항
- Node.js
>=22.14.0 <23
- pnpm
>=11.13.0 <12
- Git
Windows에서 소스코드 설치 시 better-sqlite3, keytar 등 네이티브 종속성을 구축하려면 Visual Studio Build Tools를 준비하는 것이 좋습니다.
git clone https://github.com/alexanderizh/spark-agent.git
cd spark-agent
pnpm install
...
자주 사용되는 확인 및 패키징 명령어:
pnpm typecheck
pnpm lint
pnpm test
...
📦 프로젝트 구조
spark-agent/
├── apps/
│ └── desktop/ # Electron 데스크톱 애플리케이션 (메인 프로세스 + React 렌더링)
...
주요 기술 스택: Electron 43 · React 19 · TypeScript · Tailwind CSS · Ant Design · XYFlow · Claude Agent SDK · Codex · MCP · SQLite · pnpm workspace · Vitest · Playwright
🤝 기여 참여
Issue와 Pull Request를 제출해 주십시오. 제출하기 전에 다음 명령을 실행하는 것을 권장합니다:
pnpm typecheck && pnpm lint && pnpm test
보안 문제를 발견한 경우, 민감한 세부 정보를 공개 Issue에 게시하지 마시고, 레포지토리 유지 관리자가 제공하는 비공개 연락처를 통해 먼저 소통해 주십시오.
🧑💻 기여자
SparkWork에 코드를 기여해주신 모든 분들께 감사드립니다:
<a href=
Electron, React, TypeScript, pnpm을 사용하여 구축됨.