@yeomyeonggeori/startup-agent 0.7.15 → 0.7.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/.clawhubignore +10 -0
  2. package/CHANGELOG.md +140 -0
  3. package/KAKAO_SETUP.md +92 -0
  4. package/SKILL.md +245 -0
  5. package/bin/raon-os.js +14 -0
  6. package/package.json +4 -5
  7. package/references/gov-programs.md +128 -0
  8. package/references/tips-criteria.md +72 -0
  9. package/references/yc-rfs.md +1000 -0
  10. package/scripts/agentic_rag.py +852 -0
  11. package/scripts/crawlers/__init__.py +0 -0
  12. package/scripts/crawlers/financial_crawler.py +208 -0
  13. package/scripts/crawlers/semas_crawler.py +260 -0
  14. package/scripts/eval_pipeline.py +349 -0
  15. package/scripts/evaluate.py +1059 -0
  16. package/scripts/financial_map.py +252 -0
  17. package/scripts/gamification.py +332 -0
  18. package/scripts/idea.py +363 -0
  19. package/scripts/kakao_webhook.py +271 -0
  20. package/scripts/parse_unified_pdf.py +199 -0
  21. package/scripts/rag_pipeline.py +593 -0
  22. package/scripts/raon.sh +394 -0
  23. package/scripts/raon_llm.py +419 -0
  24. package/scripts/server.py +1055 -0
  25. package/scripts/structured_extractor.py +290 -0
  26. package/scripts/supabase_client.py +139 -0
  27. package/scripts/test_agentic_rag.py +429 -0
  28. package/scripts/test_eval_pipeline.py +109 -0
  29. package/scripts/test_evaluate.py +221 -0
  30. package/scripts/test_gamification.py +218 -0
  31. package/scripts/test_idea.py +196 -0
  32. package/scripts/test_kakao.py +373 -0
  33. package/scripts/test_morpheme.py +59 -0
  34. package/scripts/test_rerank.py +73 -0
  35. package/scripts/test_server.py +259 -0
  36. package/scripts/test_valuation.py +173 -0
  37. package/scripts/track_classifier.py +185 -0
  38. package/scripts/valuation.py +438 -0
  39. package/widget/EMBED.md +68 -0
  40. package/widget/raon-chat.html +991 -0
  41. package/widget/raon-chat.js +159 -0
  42. package/widget/raon-chat.min.js +1 -0
package/.clawhubignore ADDED
@@ -0,0 +1,10 @@
1
+ vector_store.json
2
+ __pycache__
3
+ *.pyc
4
+ .pytest_cache
5
+ node_modules
6
+ logs/
7
+ eval_data/
8
+ ground_truth.jsonl
9
+ *.plist
10
+ com.yeomyeonggeori.*
package/CHANGELOG.md ADDED
@@ -0,0 +1,140 @@
1
+ # Changelog
2
+
3
+ ## v0.7.6 (2026-02-18)
4
+ ### New Features — 소상공인 Track B + 금융맵 + 카카오톡 연동
5
+
6
+ - **`scripts/track_classifier.py`**: 트랙 자동 감지 모듈
7
+ - `TrackClassifier.classify()`: 키워드 매칭 우선 → LLM 분류 폴백
8
+ - Track A (기술창업/벤처), Track B (소상공인/로컬), Track AB (혼합)
9
+ - `TRACK_B_KEYWORDS` / `TRACK_A_KEYWORDS` / `TRACK_AB_KEYWORDS` 키워드 사전
10
+ - `get_track_prompt()`: 트랙별 평가 시스템 프롬프트 반환
11
+ - `TRACK_B_SYSTEM_PROMPT`: 소상공인 전용 (5항목, 쉬운 언어, 기술성 기준 제외)
12
+
13
+ - **`scripts/financial_map.py`**: 융자/보증/크라우드펀딩 정보 제공
14
+ - `FINANCIAL_PRODUCTS`: 6종 금융 상품 (KODIT, KIBO, 소진공, Wadiz, TIPS 등)
15
+ - `FinancialMap.match()`: 트랙 + 키워드 + need_loan 기반 상품 매칭
16
+ - `FinancialMap.format_recommendation()`: LLM 맞춤형 추천 텍스트 생성
17
+ - `FinancialMap.get_summary()`: 트랙별 금융 지원 요약
18
+
19
+ - **`scripts/crawlers/semas_crawler.py`**: 소진공 지원사업 크롤러
20
+ - robots.txt 확인 후 1.5초 딜레이 적용
21
+ - 공고 목록 → 상세 페이지 파싱 → eval_data/semas_programs.jsonl APPEND
22
+
23
+ - **`scripts/crawlers/financial_crawler.py`**: KODIT/KIBO URL 유효성 체크 크롤러
24
+ - FINANCIAL_PRODUCTS 전체 URL HEAD 요청으로 상태 확인
25
+ - 금리 변동 감지 + eval_data/financial_products_updated.json 저장
26
+
27
+ - **`scripts/kakao_webhook.py`**: 카카오 i 오픈빌더 웹훅 서버 (핵심!)
28
+ - `KakaoWebhook.process()`: utterance → 트랙 감지 → RAG/LLM → 카카오 응답
29
+ - `KakaoWebhook.format_response()`: 900자 분할, 최대 5개 outputs
30
+ - `KakaoWebhook.verify_signature()`: HMAC-SHA1 서명 검증
31
+ - `KakaoWebhook.get_quick_buttons()`: 트랙별 빠른 응답 버튼
32
+ - user_id 기반 세션 관리 (최대 20턴)
33
+
34
+ - **`scripts/server.py`**: `/kakao` POST 엔드포인트 추가
35
+ - `RaonHandler._handle_kakao()`: 카카오 웹훅 처리
36
+ - AgenticRAG 연동 (store 있을 때), LLM 폴백
37
+ - 에러 발생 시에도 카카오 200 응답 보장
38
+
39
+ - **`scripts/evaluate.py`**: Track B 분기 추가
40
+ - `evaluate()`: 트랙 자동 감지 → Track B/A 분기
41
+ - `evaluate_track_b()`: 소상공인 전용 5항목 평가
42
+ - `evaluate_track_a()`: 기존 TIPS 기준 평가 (하위 호환)
43
+ - `TRACK_B_EVAL_PROMPT`: 쉬운 언어, 기술성 기준 제외
44
+
45
+ - **`KAKAO_SETUP.md`**: 카카오 i 오픈빌더 연동 3단계 가이드
46
+
47
+ ### Tests
48
+ - `test_kakao.py`: 39개 테스트 (37 passed, 2 LLM-required skipped)
49
+ - TrackClassifier: 10개 (키워드/LLM 분류, 치킨→B, AI SaaS→A, 푸드테크→AB)
50
+ - FinancialMap: 8개 (트랙별 필터링, 추천 포맷)
51
+ - KakaoWebhook.format_response: 6개 (1000자 분할, 버튼, outputs 제한)
52
+ - KakaoWebhook.verify_signature: 4개 (HMAC 검증)
53
+ - KakaoWebhook.process: 7개 (웹훅 처리, 세션, 버튼)
54
+ - evaluate.py: 3개 (Track B 프롬프트, 함수 존재 확인)
55
+
56
+ ---
57
+
58
+ ## v0.7.5 (2026-02-18)
59
+ ### New Features — Agentic RAG (Phase 1+2)
60
+ - **`agentic_rag.py`**: Agentic RAG 오케스트레이션 레이어
61
+ - `QueryRouter`: LLM 기반 질문 유형 분류 (factual/search/realtime/multistep), heuristic 폴백
62
+ - `HyDE`: Hypothetical Document Embeddings — 가상 문서로 실제 문서 검색 (미스매치 해결)
63
+ - `Multi-Query RAG Fusion`: 3가지 변형 쿼리 + Reciprocal Rank Fusion (RRF)
64
+ - `Speculative RAG`: 초안 답변 → 검증 쿼리 → 실제 문서 검색
65
+ - `Recursive RAG (ReFRAG)`: CRAG Critic 미달 시 쿼리 리파인 후 재검색 (최대 3회)
66
+ - `CRAG Critic`: LLM 기반 검색 결과 품질 평가 (relevant/sufficient/confident)
67
+ - `Tools`: search_gov_programs (structured filter), check_eligibility, fetch_realtime (urllib)
68
+ - `AgenticRAG.run()`: 전략별 검색 → CRAG 평가 → 재시도 → 최종 답변
69
+ - **`structured_extractor.py`**: 정부공고 JSON 스키마 추출기
70
+ - `GOV_PROGRAM_SCHEMA`: program_name, operator, eligibility, excluded, budget_won, deadline, ...
71
+ - `extract_program_schema()`: LLM 추출 + 규칙 기반 폴백
72
+ - `filter_programs()`: 하드 필터 (deadline, excluded) + 소프트 랭킹 (industry, keywords)
73
+ - **`server.py`**: `/v1/chat` 엔드포인트에 AgenticRAG 연동
74
+ - AgenticRAG import 실패 시 기존 Ollama 폴백 (try/except)
75
+ - 응답에 `strategy` 필드 추가 (factual/search/realtime/multistep)
76
+
77
+ ### Tests
78
+ - `test_agentic_rag.py`: 20개 테스트 (20 passed)
79
+ - 전체: 143 passed (기존 3개 test_rerank.py 실패는 pre-existing)
80
+
81
+ ---
82
+
83
+ ## v0.7.0 (2026-02-18)
84
+ ### New Features
85
+ - **Data Collection Pipeline**: Multi-source crawler system
86
+ - JointTIPS crawler — 3,972 TIPS-selected startups (2015~2024)
87
+ - TheVC crawler — VC/accelerator profiles (Nuxt HTML parsing)
88
+ - NextUnicorn crawler — Support programs via open API
89
+ - DDG-based InnoForest data collection
90
+ - `scripts/data_to_content.py` — Auto-generates SNS content from collected data
91
+ - **RAG Expansion**: 532 chunks across 7 data sources (7.2MB vector store)
92
+ - New sources: thevc_investors, nextunicorn_programs, tips_companies_jointips
93
+
94
+ ### Bug Fixes
95
+ - **Python 3.9 compatibility**: `from __future__ import annotations` in rag_pipeline.py
96
+ - **Gemini API endpoint**: Fixed 404 by using `gemini-2.5-flash-lite` model name
97
+
98
+ ### Improvements
99
+ - **Cron timeouts**: All SNS upload crons bumped 300s→600s (prevents false timeouts)
100
+ - **Content pipeline**: `data-to-content-daily` cron at 08:00 KST
101
+
102
+ ---
103
+
104
+ ## v0.6.2 (2026-02-18)
105
+ ### New Features
106
+ - Full-page web app (`raon-chat.html`) — dark mode, glassmorphism, 6 modes
107
+ - YC RFS idea recommendation — 62 ideas, CLI + API
108
+ - API key authentication (BYOK free + Managed paid)
109
+ - `data_to_content.py` initial version
110
+
111
+ ### Bug Fixes
112
+ - `history.jsonl` not written by `/v1/evaluate` API endpoint — fixed
113
+ - FakeHandler missing `client_address`/`headers` in tests — fixed
114
+ - Score mismatch: `fix_score_text()` clamps sub-items, recalculates totals
115
+
116
+ ### Tests
117
+ - 126 tests passing
118
+
119
+ ---
120
+
121
+ ## v0.6.1 (2026-02-17)
122
+ ### New Features
123
+ - Gamification system (XP, levels, badges)
124
+ - DM auto-reply integration (Ollama + Gemini fallback)
125
+ - Ollama timeout 120s→300s
126
+
127
+ ### Bug Fixes
128
+ - Cron state path fix (`~/.openclaw/cron/jobs.json`)
129
+ - XP sync: first sync grants XP for past successful runs
130
+
131
+ ---
132
+
133
+ ## v0.6.0 (2026-02-16)
134
+ ### New Features
135
+ - RAG pipeline v2: bge-m3 + BM25 hybrid search (Top-1 accuracy 0%→100%)
136
+ - Reranker module (LLM-based Top-10→Top-3)
137
+ - Eval ground truth: 50 entries, F1 + confusion matrix
138
+ - Multi-turn conversational evaluation
139
+ - Valuation module (Scorecard/Berkus/Revenue Multiple)
140
+ - Morpheme analysis (kiwipiepy + bigram fallback)
package/KAKAO_SETUP.md ADDED
@@ -0,0 +1,92 @@
1
+ # 카카오 i 오픈빌더 연동 가이드
2
+
3
+ ## 필요 환경변수
4
+
5
+ ```
6
+ KAKAO_CALLBACK_SECRET=your-secret # 선택사항 (보안 강화용)
7
+ ```
8
+
9
+ ## 설정 순서
10
+
11
+ 1. **https://i.kakao.com** 에서 카카오 비즈니스 계정으로 봇 생성
12
+ 2. 좌측 메뉴 "시나리오" → **"폴백 블록"** 선택
13
+ 3. 블록 상세에서 "스킬" 탭 → **"스킬 서버 URL"** 에 입력:
14
+ ```
15
+ http://your-server:8400/kakao
16
+ ```
17
+ 4. (선택) 채널 연결: 카카오채널 관리자센터 → 봇 연결
18
+
19
+ ## 로컬 테스트 (ngrok 사용)
20
+
21
+ ```bash
22
+ # 1. Raon OS 서버 실행
23
+ python3 scripts/server.py --port 8400
24
+
25
+ # 2. ngrok으로 외부 노출
26
+ ngrok http 8400
27
+
28
+ # 3. ngrok이 출력한 URL/kakao 를 오픈빌더 스킬 서버 URL에 입력
29
+ # 예: https://abc123.ngrok.io/kakao
30
+ ```
31
+
32
+ ## 환경변수 설정
33
+
34
+ ```bash
35
+ echo "KAKAO_CALLBACK_SECRET=옵션값" >> ~/.openclaw/.env
36
+ ```
37
+
38
+ ## 웹훅 테스트 (curl)
39
+
40
+ ```bash
41
+ curl -X POST http://localhost:8400/kakao \
42
+ -H "Content-Type: application/json" \
43
+ -d '{
44
+ "userRequest": {
45
+ "utterance": "치킨집 창업하고 싶어요",
46
+ "user": {"id": "test_user_001"}
47
+ },
48
+ "bot": {"id": "test_bot"},
49
+ "intent": {"name": "폴백 블록"}
50
+ }'
51
+ ```
52
+
53
+ ## 응답 형식 (카카오 오픈빌더 v2)
54
+
55
+ ```json
56
+ {
57
+ "version": "2.0",
58
+ "template": {
59
+ "outputs": [
60
+ {"simpleText": {"text": "라온의 응답 텍스트"}}
61
+ ],
62
+ "quickReplies": [
63
+ {"label": "융자/보증 알아보기", "action": "message", "messageText": "융자/보증 알아보기"},
64
+ {"label": "지원사업 찾기", "action": "message", "messageText": "지원사업 찾기"},
65
+ {"label": "처음부터", "action": "message", "messageText": "처음부터"}
66
+ ]
67
+ }
68
+ }
69
+ ```
70
+
71
+ ## 트랙 자동 감지
72
+
73
+ | 키워드 예시 | 감지 트랙 | 평가 기준 |
74
+ |------------|-----------|-----------|
75
+ | 치킨집, 카페, 음식점, 소상공인 | Track B | 입지/경험/차별화/자금/지역 (100점) |
76
+ | AI, SaaS, TIPS, 바이오, 반도체 | Track A | 기술성/시장성/사업성/팀역량 (100점) |
77
+ | 푸드테크, 뷰티테크, O2O | Track AB | Track B 기준 우선 적용 |
78
+
79
+ ## 금융 상품 연동
80
+
81
+ 사용자가 "대출", "보증", "융자", "자금" 등을 질문하면 자동으로 금융맵 매칭:
82
+
83
+ - **Track B**: 소상공인 정책자금(소진공), 청년창업 특례보증(KODIT), Wadiz 크라우드펀딩
84
+ - **Track A**: TIPS(중기부), 기술보증(KIBO), 청년창업 특례보증(KODIT)
85
+ - **Track AB**: 위 모두 포함
86
+
87
+ ## 운영 주의사항
88
+
89
+ 1. **카카오는 반드시 200 응답** — 에러도 정상 응답(simpleText)으로 반환
90
+ 2. **텍스트 1000자 제한** — 자동으로 900자씩 분할 (최대 5개 outputs)
91
+ 3. **빠른 응답 버튼 최대 5개** — 트랙별로 자동 설정
92
+ 4. **세션 관리** — user.id 기반으로 대화 히스토리 유지 (최대 20턴)
package/SKILL.md ADDED
@@ -0,0 +1,245 @@
1
+ ---
2
+ name: raon-os
3
+ version: 0.7.10
4
+ description: "AI-powered startup companion for Korean founders. Evaluate business plans, match government funding programs (TIPS/DeepTech/Global TIPS), connect with 3,972+ TIPS-selected startups, get investor recommendations, and integrate with Kakao i OpenBuilder. Features Agentic RAG (HyDE, Multi-Query, CRAG), structured extraction, and Track B financial matching."
5
+ metadata:
6
+ openclaw:
7
+ env:
8
+ - name: GEMINI_API_KEY
9
+ description: "Google Gemini API key (recommended for embeddings + LLM)"
10
+ required: false
11
+ - name: OPENROUTER_API_KEY
12
+ description: "OpenRouter API key (multi-model access)"
13
+ required: false
14
+ - name: ANTHROPIC_API_KEY
15
+ description: "Anthropic Claude API key"
16
+ required: false
17
+ - name: OPENAI_API_KEY
18
+ description: "OpenAI API key"
19
+ required: false
20
+ - name: KAKAO_CALLBACK_SECRET
21
+ description: "Kakao i OpenBuilder webhook HMAC secret (optional)"
22
+ required: false
23
+ - name: RAON_API_URL
24
+ description: "Managed API endpoint (optional, for SaaS mode)"
25
+ required: false
26
+ - name: RAON_API_KEY
27
+ description: "Managed API key (optional, for SaaS mode)"
28
+ required: false
29
+ requires:
30
+ bins: ["python3", "node"]
31
+ notes: "At least one LLM API key (GEMINI, OPENROUTER, ANTHROPIC, or OPENAI) is recommended. Falls back to local Ollama if no keys are set. API keys are stored in ~/.openclaw/.env (user-managed, chmod 600 recommended). The skill includes a local HTTP server (port 8400) and crawlers for public government data collection."
32
+ ---
33
+
34
+ # Raon OS — Startup Companion (v0.7.10)
35
+
36
+ ## 설치 요구사항
37
+
38
+ - **Python 3.9+** (macOS 기본 내장, 별도 설치 불필요)
39
+ - **Node.js 18+** (`npx @yeomyeonggeori/raon-os` 실행용)
40
+ - **LLM API 키** (아래 중 하나, 우선순위 순):
41
+
42
+ | 환경변수 | 설명 | 비고 |
43
+ |----------|------|------|
44
+ | `OPENROUTER_API_KEY` | **1순위** — OpenClaw 지원 모든 모델 | 추천 |
45
+ | `GEMINI_API_KEY` | **2순위** — Google Gemini + 임베딩 | |
46
+ | `ANTHROPIC_API_KEY` | **3순위** — Claude | |
47
+ | `OPENAI_API_KEY` | **4순위** — GPT + 임베딩 | |
48
+ | Ollama 로컬 | 자동 감지 (키 없을 때) | 선택 — `raon.sh install-model` |
49
+
50
+ - **벡터 검색**: `GEMINI_API_KEY` 또는 `OPENAI_API_KEY` 있으면 자동 활성화. 없으면 BM25 키워드 검색으로 동작.
51
+
52
+ ## 빠른 시작
53
+
54
+ ```bash
55
+ # 1. OpenClaw 설치
56
+ npm install -g openclaw
57
+
58
+ # 2. 스킬 설치
59
+ openclaw skill install @yeomyeonggeori/raon-os
60
+
61
+ # 3. API 키 설정 (권장: OpenRouter)
62
+ echo "OPENROUTER_API_KEY=sk-or-..." >> ~/.openclaw/.env
63
+ chmod 600 ~/.openclaw/.env # 보안: 소유자만 읽기/쓰기
64
+
65
+ # 4. 모델 override (선택) — 기본은 프로바이더별 최적 모델 자동 선택
66
+ echo "RAON_MODEL=anthropic/claude-opus-4-5" >> ~/.openclaw/.env
67
+
68
+ # 5. 연결 테스트
69
+ python3 scripts/raon_llm.py --detect
70
+ ```
71
+
72
+ ## LLM 설정 (`raon_llm.py`)
73
+
74
+ 모든 API 키는 `~/.openclaw/.env` 에 저장 (환경변수 우선):
75
+
76
+ ```bash
77
+ # ~/.openclaw/.env 예시
78
+ OPENROUTER_API_KEY=sk-or-v1-xxxx # 1순위 (추천)
79
+ GEMINI_API_KEY=AIzaSy-xxxx # 2순위 + 임베딩
80
+ ANTHROPIC_API_KEY=sk-ant-xxxx # 3순위
81
+ OPENAI_API_KEY=sk-xxxx # 4순위 + 임베딩
82
+ RAON_MODEL=google/gemini-2.5-flash # 모델 강제 지정 (선택)
83
+ RAON_LLM_PROVIDER=openrouter # 프로바이더 강제 지정 (선택)
84
+ ```
85
+
86
+ 스타트업 파운더를 위한 AI 동료. 아이디어를 사업으로 만드는 전 과정을 지원한다.
87
+
88
+ ## 기능
89
+
90
+ ### 1. biz-plan — 사업계획서 평가
91
+ 사업계획서(PDF/텍스트)를 분석하여 점수 + 개선안을 제공한다.
92
+
93
+ ```bash
94
+ # PDF 평가
95
+ {baseDir}/scripts/raon.sh biz-plan evaluate --file /path/to/plan.pdf
96
+
97
+ # 텍스트 평가
98
+ {baseDir}/scripts/raon.sh biz-plan evaluate --text "사업 아이디어 설명..."
99
+
100
+ # JSON 형식 출력
101
+ {baseDir}/scripts/raon.sh biz-plan evaluate --file /path/to/plan.pdf --json
102
+
103
+ # 결과를 파일로 저장
104
+ {baseDir}/scripts/raon.sh biz-plan evaluate --file /path/to/plan.pdf --output result.md
105
+
106
+ # 두 사업계획서 비교 분석
107
+ {baseDir}/scripts/raon.sh biz-plan evaluate --file plan_a.pdf --file plan_b.pdf
108
+
109
+ # 개선안 생성
110
+ {baseDir}/scripts/raon.sh biz-plan improve --file /path/to/plan.pdf
111
+
112
+ # 평가 히스토리 조회
113
+ {baseDir}/scripts/raon.sh history
114
+ ```
115
+
116
+ **평가 항목:**
117
+ - 문제 정의 및 솔루션 적합성
118
+ - 시장 규모 및 경쟁 분석
119
+ - 비즈니스 모델 타당성
120
+ - 팀 역량
121
+ - 재무 계획
122
+ - 기술 차별성
123
+
124
+ **출력:** 100점 만점 종합 점수 + 항목별 점수 + 구체적 개선 제안
125
+
126
+ ### 2. gov-funding — 정부 지원사업 매칭
127
+ 스타트업 프로필 기반으로 적합한 정부 지원사업을 추천한다.
128
+
129
+ ```bash
130
+ # 매칭 (사업계획서 기반)
131
+ {baseDir}/scripts/raon.sh gov-funding match --file /path/to/plan.pdf
132
+
133
+ # 매칭 (키워드 기반)
134
+ {baseDir}/scripts/raon.sh gov-funding match --industry "AI/SaaS" --stage "early" --region "서울"
135
+
136
+ # 지원사업 상세 정보
137
+ {baseDir}/scripts/raon.sh gov-funding info --program "TIPS"
138
+
139
+ # 지원서 초안 생성
140
+ {baseDir}/scripts/raon.sh gov-funding draft --program "TIPS" --file /path/to/plan.pdf
141
+
142
+ # 지원 준비 체크리스트
143
+ {baseDir}/scripts/raon.sh gov-funding checklist --program "TIPS" --file /path/to/plan.pdf
144
+ ```
145
+
146
+ **지원 프로그램:** TIPS, K-Startup 그랜드챌린지, 창업성장기술개발, 예비창업패키지, 초기창업패키지 등
147
+
148
+ ### 3. investor-match — 투자자 매칭 (추후 연동)
149
+ 스타트업 단계/산업에 맞는 투자자를 추천한다.
150
+
151
+ ```bash
152
+ # 투자자 추천
153
+ {baseDir}/scripts/raon.sh investor-match --stage "pre-a" --industry "AI" --amount "1M"
154
+ ```
155
+
156
+ ## PDF 처리 (중요)
157
+
158
+ 사용자가 PDF를 직접 보내면 바이너리가 프롬프트에 들어가 토큰 한도를 초과한다.
159
+ **반드시 텍스트 추출 후 평가해야 한다.**
160
+
161
+ ```bash
162
+ # 방법 1: evaluate.py가 내부에서 PDF 텍스트 추출
163
+ {baseDir}/scripts/raon.sh biz-plan evaluate --file /path/to/plan.pdf
164
+
165
+ # 방법 2: 전처리 스크립트
166
+ scripts/pdf-evaluate.sh /path/to/plan.pdf
167
+ ```
168
+
169
+ **OpenClaw에서 PDF 파일이 첨부된 경우:**
170
+ 1. PDF가 media/inbound/에 저장됨
171
+ 2. PDF를 프롬프트에 인라인하지 말 것 (토큰 폭발)
172
+ 3. exec 도구로 evaluate.py --file <경로>를 실행하여 평가
173
+ 4. 결과를 사용자에게 전달
174
+
175
+ ## 사용 흐름
176
+
177
+ 일반적인 파운더 여정:
178
+
179
+ ```
180
+ 1. "내 사업계획서 평가해줘" → biz-plan evaluate
181
+ 2. "어떻게 고치면 돼?" → biz-plan improve
182
+ 3. "이걸로 지원할 수 있는 정부사업 있어?" → gov-funding match
183
+ 4. "TIPS 지원서 초안 만들어줘" → gov-funding draft
184
+ 5. "투자자도 연결해줘" → investor-match
185
+ ```
186
+
187
+ ## Investor Match
188
+
189
+ ```bash
190
+ raon.sh investor-match profile --file <pdf>
191
+ # or
192
+ curl -X POST http://localhost:8400/v1/investor ...
193
+ ```
194
+
195
+ 투자자 관점에서 사업계획서를 분석하고 매력도 프로필을 생성한다.
196
+ - Deal Summary (1분 요약)
197
+ - 타겟 투자자 유형 (Seed/Pre-A, Sector)
198
+ - Investment Highlights & Red Flags
199
+ - 피칭 팁
200
+
201
+ ## HTTP API 서버
202
+
203
+ 로컬 REST API 서버를 띄워 웹챗이나 외부 서비스에서 연동할 수 있다:
204
+
205
+ ```bash
206
+ raon.sh serve # 기본 포트 8400
207
+ raon.sh serve 9000 # 커스텀 포트
208
+ ```
209
+
210
+ 엔드포인트:
211
+ - `GET /health` — 헬스체크
212
+ - `GET /v1/modes` — 지원 모드 목록
213
+ - `POST /v1/evaluate` — 사업계획서 평가
214
+ - `POST /v1/improve` — 사업계획서 개선
215
+ - `POST /v1/match` — 정부 지원사업 매칭
216
+ - `POST /v1/draft` — 지원서 초안 (program 필수)
217
+ - `POST /v1/checklist` — 지원 준비 점검 (program 필수)
218
+ - `POST /v1/investor` — 투자자 프로필 분석
219
+
220
+ 요청 예시:
221
+ ```bash
222
+ curl -X POST http://localhost:8400/v1/evaluate \
223
+ -H "Content-Type: application/json" \
224
+ -d '{"text": "사업계획서 내용..."}'
225
+ ```
226
+
227
+ CORS 지원됨 (웹 프론트엔드 연동 가능).
228
+
229
+ ## API 연동
230
+
231
+ 현재 버전은 로컬 분석 (LLM 기반 RAG)으로 동작한다.
232
+ K-Startup AI API 연동 시 환경변수 설정:
233
+
234
+ ```bash
235
+ export RAON_API_URL="https://api.k-startup.ai"
236
+ export RAON_API_KEY="your-api-key"
237
+ ```
238
+
239
+ API가 설정되지 않으면 로컬 LLM + RAG 파이프라인으로 폴백한다.
240
+
241
+ ## 평가 기준 참고
242
+
243
+ 정부 지원사업별 심사 기준은 references/ 디렉토리 참조:
244
+ - `references/tips-criteria.md` — TIPS 심사 기준
245
+ - `references/gov-programs.md` — 주요 정부 지원사업 목록 및 자격 요건
package/bin/raon-os.js ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * raon-os — bin entry point
4
+ * Delegates to scripts/raon.sh (bash implementation)
5
+ */
6
+ const { spawnSync } = require("child_process");
7
+ const path = require("path");
8
+
9
+ const sh = path.join(__dirname, "..", "scripts", "raon.sh");
10
+ const result = spawnSync(sh, process.argv.slice(2), {
11
+ stdio: "inherit",
12
+ shell: false,
13
+ });
14
+ process.exit(result.status ?? 1);
package/package.json CHANGED
@@ -1,11 +1,10 @@
1
1
  {
2
2
  "name": "@yeomyeonggeori/startup-agent",
3
- "version": "0.7.15",
3
+ "version": "0.7.16",
4
4
  "description": "AI-powered startup companion. Evaluate business plans, match government funding, connect with investors — Zero to One.",
5
- "keywords": ["startup", "ai-agent", "business-plan", "government-funding", "openclaw", "openclaw-skill", "tips", "k-startup"],
6
- "homepage": "https://k-startup.ai",
7
- "repository": {"type": "git", "url": "git+https://github.com/yeomyeonggeori/raon-os.git"},
5
+ "keywords": ["startup","ai-agent","business-plan","government-funding","openclaw","openclaw-skill","tips","k-startup"],
8
6
  "author": "Yeomyeonggeori Inc. <iam@dawn.kim>",
9
7
  "license": "MIT",
10
- "dependencies": {"@yeomyeonggeori/raon-os": "^0.7.15"}
8
+ "main": "server.py",
9
+ "publishConfig": {"access": "public", "registry": "https://registry.npmjs.org/"}
11
10
  }
@@ -0,0 +1,128 @@
1
+ # 주요 정부 지원사업 (2026)
2
+
3
+ _최종 업데이트: 2026.02.17 (2026 통합공고 제2025-648호 기반)_
4
+
5
+ ## Tier 1: 대형 (1억+)
6
+
7
+ ### TIPS (민간투자주도형 기술창업)
8
+ - 규모: 최대 8억원 (2026년 기준, R&D + 사업화)
9
+ - 기간: 2년
10
+ - 대상: 창업 7년 이내, 기술 기반
11
+ - 특징: TIPS 운영사(AC/VC) 추천 필수, 합격률 ~20%
12
+ - 심사 기준: references/tips-criteria.md 참조
13
+ - 2026 공고: 제2026-40호 (01.26), **상시 접수**
14
+
15
+ ### Global TIPS
16
+ - 규모: 최대 50억원
17
+ - 조건: TIPS 선정 기업 + 해외투자 유치 실적
18
+ - 특징: 해외 VC 투자 매칭 방식
19
+ - 2026: **상시 접수** (TIPS 선정 기업만)
20
+
21
+ ### K-Startup 그랜드챌린지
22
+ - 규모: 45억원 (참가지원금)
23
+ - 대상: **외국 국적** 예비창업자 및 7년 이내 창업기업 (한국 진출 외국인 대상)
24
+ - 특징: 액셀러레이팅 + 비자 발급 지원
25
+ - 2026 공고: 제2026-26호 — 주관기관 모집 (01.19~02.10 마감). **참여기업 공고 '26.4월 예상**
26
+
27
+ ### 창업성장기술개발 (디딤돌/TIPS)
28
+ - 규모: 총 7,864억원 (TIPS 포함)
29
+ - 대상: 업력 7년 이하 창업기업 (신산업 분야 10년 이하)
30
+ - 특징: 기술 중심 R&D, TIPS는 운영사(AC/VC) 추천 필수
31
+ - 2026 공고: 디딤돌 '26.1월/3월, TIPS '26.1월
32
+
33
+ ### 기술사업화 패키지 (신규)
34
+ - 2026 공고: 제2026-96호 (02.12), 접수 02.24~03.13
35
+ - 담당: 기술개발과
36
+ - 특징: R&D 성과의 사업화 연계 지원
37
+
38
+ ## Tier 2: 중형 (5천만~1억)
39
+
40
+ ### 초기창업패키지
41
+ - 규모: 총 559억원 (개별 최대 1억원)
42
+ - 대상: 업력 3년 이내 초기창업기업
43
+ - 특징: 사업화 자금 + 멘토링
44
+ - 2026 공고: 제2026-38호 (01.23), 접수 ~02.13 **마감**. 선정 발표 4~5월 예상
45
+ - 조회수 18,981 (가장 인기)
46
+
47
+ ### 창업도약패키지
48
+ - 규모: 총 728억원 (개별 최대 3억원)
49
+ - 대상: 창업 3년 초과 7년 이내
50
+ - 특징: 성장 단계 지원
51
+ - 2026 공고: 제2026-39호 (01.23), 접수 ~02.13 **마감**. 선정 발표 5~6월 예상
52
+
53
+ ### 재도전성공패키지
54
+ - 규모: 총 150억원
55
+ - 대상: 예비 또는 재창업 업력 7년 이내 재창업기업 대표
56
+ - 특징: 폐업 후 재도전 지원
57
+ - 2026 공고: 제2026-87호 (02.10), 접수 02.11~**03.04** ⏰ 접수 중
58
+
59
+ ## Tier 3: 초기/교육
60
+
61
+ ### 예비창업패키지
62
+ - 규모: 총 491억원 (개별 최대 1억원)
63
+ - 대상: 예비 창업자 (공고일 기준 사업자등록 및 법인설립 전)
64
+ - 특징: 교육 + 사업화 자금
65
+ - 2026: 공고 미확인 (2~3월 공고 예상, 수시 확인 필요)
66
+
67
+ ### 창업성공패키지 (청년창업사관학교)
68
+ - 규모: 총 1,025억원
69
+ - 대상: 만 39세 이하 청년창업자
70
+ - 특징: 입주 공간 + 자금 + 교육
71
+ - 2026 공고: 제2026-60호 — 기본과정 (01.30), 접수 ~02.13 **마감**
72
+ - 제2026-61호 — 딥테크 심화 (01.30), 접수 ~02.13 **마감**
73
+ - 제2026-62호 — 글로벌 심화 (01.30), 접수 ~02.13 **마감**
74
+
75
+ ## 특수 프로그램 (2026 신규/주목)
76
+
77
+ ### 지역 주도형 AI 대전환
78
+ - 2026 공고: 제2026-72호 (02.04), 접수 ~**03.10** ⏰ 접수 중
79
+ - 담당: 중소기업인공지능확산추진단
80
+ - 특징: AI 도입 중소기업 대상, 여명거리와 연관 가능성
81
+
82
+ ### 지역 첨단제조 스타트업 스케일업
83
+ - 2026 공고: 제2026-66호 (02.02), 접수 ~02.25 ⏰ 접수 중 (마감 임박)
84
+
85
+ ### 지역혁신선도기업 육성 (R&D)
86
+ - 2026 공고: 제2026-57호 (01.30), 접수 02.11~**03.03** ⏰ 접수 중
87
+
88
+ ## 선택 가이드
89
+
90
+ | 단계 | 추천 프로그램 | 2026 상태 |
91
+ |------|-------------|-----------|
92
+ | 아이디어만 있음 | 예비창업패키지 | 공고 대기 |
93
+ | 법인 설립 직후 | 초기창업패키지, 청년창업사관학교 | ❌ 1차 마감 |
94
+ | MVP/PoC 있음 | TIPS, 창업성장기술개발, 기술사업화 패키지 | ✅ TIPS 상시, 기술사업화 02.24~03.13 |
95
+ | 매출 발생 | TIPS, 창업도약패키지 | ❌ 도약 1차 마감, ✅ TIPS 상시 |
96
+ | 해외 진출 | K-Startup 그랜드챌린지, Global TIPS | ✅ Global TIPS 상시, 그랜드챌린지 3~5월 |
97
+ | 재도전 | 재도전성공패키지 | ✅ ~03.04 접수 중 |
98
+ | AI 도입 | 지역 주도형 AI 대전환 | ✅ ~03.10 접수 중 |
99
+
100
+ ## 2026년 확인된 일정
101
+
102
+ | 프로그램 | 공고번호 | 공고일 | 접수 기간 | 상태 |
103
+ |----------|----------|--------|-----------|------|
104
+ | TIPS | 제2026-40호 | 01.26 | 상시 (운영사 추천) | ✅ 상시 접수 |
105
+ | Global TIPS | - | 상시 | 상시 | ✅ 상시 접수 |
106
+ | 초기창업패키지 (일반) | 제2026-38호 | 01.23 | ~02.13 | ❌ 마감 |
107
+ | 창업도약패키지 (일반) | 제2026-39호 | 01.23 | ~02.13 | ❌ 마감 |
108
+ | 청년창업사관학교 기본 | 제2026-60호 | 01.30 | ~02.13 | ❌ 마감 |
109
+ | 청년창업사관학교 딥테크 | 제2026-61호 | 01.30 | ~02.13 | ❌ 마감 |
110
+ | 청년창업사관학교 글로벌 | 제2026-62호 | 01.30 | ~02.13 | ❌ 마감 |
111
+ | 재도전성공패키지 | 제2026-87호 | 02.10 | 02.11~03.04 | ⏰ 접수 중 |
112
+ | 기술사업화 패키지 1차 | 제2026-96호 | 02.12 | 02.24~03.13 | ⏰ 곧 시작 |
113
+ | 지역 주도형 AI 대전환 | 제2026-72호 | 02.04 | ~03.10 | ⏰ 접수 중 |
114
+ | 지역혁신선도기업 R&D | 제2026-57호 | 01.30 | 02.11~03.03 | ⏰ 접수 중 |
115
+ | K-Startup 그랜드챌린지 | 제2026-26호 | 01.19 | 주관기관 ~02.10 마감 | 참여기업 3~5월 예상 |
116
+ | 예비창업패키지 | - | - | - | 🔍 공고 대기 |
117
+ | 창업성장기술개발 | - | - | - | 🔍 공고 대기 |
118
+
119
+ > 📅 데이터 출처: [중기부 사업공고](https://www.mss.go.kr/site/smba/ex/bbs/List.do?cbIdx=310) (2026.02.15 기준)
120
+ > ⚠️ 2차 모집, 추가 공고가 수시 게시됩니다. [K-Startup](https://www.k-startup.go.kr) 수시 확인 필수.
121
+
122
+ ## 공통 준비 사항
123
+ - 사업계획서 (PDF, 보통 20~30페이지)
124
+ - 팀 소개 및 대표자 이력
125
+ - 기술 설명서 또는 특허/IP
126
+ - 재무제표 (법인인 경우)
127
+ - 시장 분석 자료
128
+ - 고객 검증 자료 (PoC, LOI, 매출 증빙)