🔬 Alpha · Go · Elastic License 2.0

KittyPaw
로컬에서 만드는 AI 에이전트 실험

채팅, 스킬 실행, 스케줄러, 메모리, 권한 제어를 작은 단위로 만들면서
어디까지 갈 수 있는지 보고 있는 Go 프로젝트입니다. 단일 binary, 외부 런타임 없음.

$ curl -fsSL https://raw.githubusercontent.com/kittypaw-app/kitty/main/install-kittypaw.sh | sh

macOS · Linux — Windows는 릴리스에서 직접 다운로드

kittypaw — bash
$ kittypaw setup
LLM provider: Claude (Anthropic)
Channel: Telegram
✓ 설정 저장 · 데몬 부팅
🐾 KittyPaw started on :3000

single Go binary · sqlite (modernc) · goja JS sandbox · macOS / Linux / Windows

✅ CLI + 로컬 서버
✅ 5 채널 어댑터 (Telegram/Slack/Discord/Kakao/WS)
🚧 Reflection 후보 / 자연어 스킬 생성
🔬 팀공간 · MoA · live indexing
구성 요소

지금 만들고 있는 부품들

완성된 SaaS 가 아니라, 로컬 AI 에이전트의 구성 요소를 하나씩 만들고 검증하는 프로젝트입니다.
각 카드 의 ✅ / 🚧 / 🔬 는 현재 검증 상태입니다.

🎯

✅ Skill 패키지

레지스트리 / GitHub / 로컬 디렉터리에서 설치. package.toml, source-bound config (secrets.json), SHA256 검증.

🧠

🚧 Reflection 루프

최근 대화 → 반복 의도 / 토픽 후보 저장. 첫 turn suffix surface ✅ verified, "네" 답변 시 dispatch ✅, 자동 생성 코드 안정성 🚧.

🔒

✅ Sandbox + Permission

모든 스킬은 goja 안에서 실행. SSRF 차단, hop-by-hop header 차단, 위험 op (Shell.exec / Git.push) 는 supervised mode 에서 사용자 승인.

🔗

🔬 Skill chaining

여러 스킬을 pipeline 으로 연결. 단계별 실행은 일부 패키지에서 검증. 일반화된 chain DSL 은 미정.

🌐

🚧 Web 검색

DuckDuckGo (no-config) + Google API + Tavily 옵션. Web.search + Web.fetch primitive. 출처 품질 / 결과 검증 진행 중.

🏠

✅ Local LLM

Ollama / LM Studio 같은 OpenAI 호환 로컬 endpoint 연결. 모델 성능 편차 큼 — 작은 모델은 tool use 한계 있음.

🚧 실험 + 부분 작동

Reflection 루프

최근 대화에서 반복 의도와 토픽 후보를 추출 → 저장 → chat 첫 turn 에 suffix 로 surface. live test verified (commit 8f2536a).

🔄

반복 의도 후보

최근 사용자 메시지를 묶어 반복된 요청 후보를 저장합니다. 기본 기준은 빈도 3회 이상입니다.

환율 알려줘 달러 가격이 얼마야? 오늘 환율 어때? 후보: 환율 조회
count=3 · cron 제안 포함
📊

토픽 요약

Reflection 결과로 저장된 토픽 비율을 조회합니다. 장기 리포트와 발송 흐름은 아직 검증 중입니다.

📊 저장된 토픽 요약 예시
AI · 기술 65%
경제 · 시장 25%
날씨 · 생활 10%

승인 → dispatch

자동으로 코드를 바꾸지 않습니다. 후보를 surface → 사용자 "네" → InstallConsentBranch dispatch. 자동 코드 변경 / 자가 수정 (self-healing) 은 한 번 시도 후 retired.

1 ✅ 대화 저장
2 ✅ Reflection 분석
3 ✅ Suffix surface
4 🚧 생성 코드 안정성
사용 흐름

기본 흐름

CLI 또는 로컬 Web UI 에서 — 모든 데이터는 로컬 SQLite 에 저장됩니다.

📦
1

Skill 설치

kittypaw skill install <name> — 레지스트리 / GitHub URL / 로컬 path 모두 지원.

⚙️
2

Config 입력

kittypaw skill config <name> <key> <value> — 또는 kittypaw setup 으로 LLM/채널 한 번에. 어떤 값 필요한 지는 패키지의 package.toml 에.

3

실행 / 스케줄

kittypaw skill run <name> 수동 실행, 또는 cron trigger 에 따라 서버가 자동 실행 → 채널 어댑터 통해 발송.

실제 시나리오

레지스트리 패키지로 만든 흐름

live test 로 검증된 / 진행 중인 흐름입니다. 각 카드 내 status 참고.

📖 모든 시나리오 보기 →
레지스트리

현재 레지스트리에 있는 패키지

kittypaw skill install <name> 으로 설치. 모든 status 는 live test 기준.

📈

매크로 경제 리포트

ETF + AI 요약

✅ cron
🌤

날씨 브리핑

7일 예보 (Open-Meteo)

✅ API 키 불필요
📰

RSS 뉴스 요약

피드 + LLM 요약

✅ 중복 필터

리마인더

채팅 keyword + cron

🚧 partial
🔍

URL 모니터

HTTP 체크 + 상태 변경 alert

✅ 5분 주기
기술 스택

Go 만으로 — 외부 런타임 0

단일 바이너리. npm / Node / Python 의존성 없음. 20 SQLite migrations, 159 commits 진행 중.

🐹
Go
단일 바이너리 · 고성능
🖥
Web UI
Chi + WebSocket 스트리밍
🔐
goja Sandbox
안전한 스킬 실행
🤖
Claude + OpenAI
멀티 LLM 지원
🗄
SQLite
로컬 데이터 저장
🔑
per-account secrets.json
account 별 분리 저장
🛡
Permission 시스템
승인 기반 접근 제어
📦
TOML 패키지
스킬 배포 포맷
사용자 가이드

어디서 시작할까요?

KittyPaw 는 기능을 하나씩 켜는 도구에 가깝습니다. 지금 하려는 일에 맞는 경로를 고르면 설치, 설정, 검증까지 한 번에 따라갈 수 있습니다.