Skip to main content
Glama

Hi-AI

npm version License: MIT MCP Compatible Tests Coverage

Model Context Protocol 기반 AI 개발 μ–΄μ‹œμŠ€ν„΄νŠΈ

TypeScript + Python 지원 Β· 35개 μ „λ¬Έ 도ꡬ Β· 지식 κ·Έλž˜ν”„ λ©”λͺ¨λ¦¬ Β· μ„Έμ…˜ μ»¨ν…μŠ€νŠΈ μžλ™ μ£Όμž…

ν•œκ΅­μ–΄


λͺ©μ°¨


Related MCP server: Magic Component Platform

κ°œμš”

Hi-AIλŠ” Model Context Protocol (MCP) ν‘œμ€€μ„ κ΅¬ν˜„ν•œ AI 개발 μ–΄μ‹œμŠ€ν„΄νŠΈμž…λ‹ˆλ‹€. μžμ—°μ–΄ 기반 ν‚€μ›Œλ“œ 인식을 톡해 35개의 μ „λ¬Έν™”λœ 도ꡬλ₯Ό μ œκ³΅ν•˜λ©°, κ°œλ°œμžκ°€ λ³΅μž‘ν•œ μž‘μ—…μ„ μ§κ΄€μ μœΌλ‘œ μˆ˜ν–‰ν•  수 μžˆλ„λ‘ λ•μŠ΅λ‹ˆλ‹€.

핡심 κ°€μΉ˜

  • μžμ—°μ–΄ 기반: ν•œκ΅­μ–΄/μ˜μ–΄ ν‚€μ›Œλ“œλ‘œ 도ꡬλ₯Ό μžλ™μœΌλ‘œ μ‹€ν–‰

  • 지식 κ·Έλž˜ν”„ λ©”λͺ¨λ¦¬: λ©”λͺ¨λ¦¬ κ°„ 관계λ₯Ό κ·Έλž˜ν”„λ‘œ κ΅¬μ„±ν•˜μ—¬ μ—°κ΄€ 정보 탐색

  • 닀쀑 μ–Έμ–΄ 지원: TypeScript, JavaScript, Python μ½”λ“œ 뢄석

  • μ˜μ‘΄μ„± 뢄석: μ½”λ“œ κ°„ 의쑴 관계 μ‹œκ°ν™” 및 μˆœν™˜ μ°Έμ‘° 감지

  • μ—”ν„°ν”„λΌμ΄μ¦ˆ ν’ˆμ§ˆ: 100% ν…ŒμŠ€νŠΈ 컀버리지 및 μ—„κ²©ν•œ νƒ€μž… μ‹œμŠ€ν…œ


μ£Όμš” κΈ°λŠ₯

1. 지식 κ·Έλž˜ν”„ λ©”λͺ¨λ¦¬ μ‹œμŠ€ν…œ

λ©”λͺ¨λ¦¬ κ°„ 관계λ₯Ό κ·Έλž˜ν”„λ‘œ κ΅¬μ„±ν•˜μ—¬ μ—°κ΄€ 정보λ₯Ό νƒμƒ‰ν•˜λŠ” 11개의 도ꡬ:

  • μ„Έμ…˜ μ»¨ν…μŠ€νŠΈ μžλ™ μ£Όμž…: μ„Έμ…˜ μ‹œμž‘ μ‹œ 이전 λ©”λͺ¨λ¦¬μ™€ 지식 κ·Έλž˜ν”„λ₯Ό μžλ™μœΌλ‘œ λ‘œλ“œ (v2.1 μ‹ κ·œ)

  • 관계 μ—°κ²°: λ©”λͺ¨λ¦¬ κ°„ 의미둠적 관계 μ„€μ • (related_to, depends_on, implements λ“±)

  • κ·Έλž˜ν”„ 탐색: BFS/DFS μ•Œκ³ λ¦¬μ¦˜μ„ ν†΅ν•œ μ—°κ΄€ λ©”λͺ¨λ¦¬ 탐색

  • λ©€ν‹° μ „λž΅ 검색: 5κ°€μ§€ 검색 μ „λž΅ 지원 (keyword, graph_traversal, temporal, priority, context_aware)

  • νƒ€μž„λΌμΈ: μ‹œκ°„μˆœ λ©”λͺ¨λ¦¬ νžˆμŠ€ν† λ¦¬ μ‹œκ°ν™”

μ£Όμš” 도ꡬ:

  • get_session_context - πŸš€ μ„Έμ…˜ μ‹œμž‘ μ‹œ μ»¨ν…μŠ€νŠΈ μžλ™ λ‘œλ“œ (v2.1 μ‹ κ·œ)

  • save_memory - μž₯κΈ° λ©”λͺ¨λ¦¬μ— 정보 μ €μž₯

  • recall_memory - μ €μž₯된 정보 검색

  • link_memories - λ©”λͺ¨λ¦¬ κ°„ 관계 μ—°κ²°

  • get_memory_graph - 지식 κ·Έλž˜ν”„ 쑰회

  • search_memories_advanced - λ©€ν‹° μ „λž΅ 검색

  • create_memory_timeline - νƒ€μž„λΌμΈ 생성

  • prioritize_memory - λ©”λͺ¨λ¦¬ μš°μ„ μˆœμœ„ 관리

2. μ‹œλ§¨ν‹± μ½”λ“œ 뢄석

AST 기반 μ½”λ“œ 뢄석 및 탐색 도ꡬ:

  • 심볼 검색: ν”„λ‘œμ νŠΈ μ „μ²΄μ—μ„œ ν•¨μˆ˜, 클래슀, λ³€μˆ˜ μœ„μΉ˜ νŒŒμ•…

  • μ°Έμ‘° 좔적: νŠΉμ • μ‹¬λ³Όμ˜ λͺ¨λ“  μ‚¬μš©μ²˜ 좔적

  • μ˜μ‘΄μ„± κ·Έλž˜ν”„: μ½”λ“œ κ°„ 의쑴 관계 μ‹œκ°ν™” (v2.0 μ‹ κ·œ)

  • μˆœν™˜ μ°Έμ‘° 감지: μˆœν™˜ μ˜μ‘΄μ„± μžλ™ 탐지 (v2.0 μ‹ κ·œ)

  • 닀쀑 μ–Έμ–΄: TypeScript, JavaScript, Python 지원

μ£Όμš” 도ꡬ:

  • find_symbol - 심볼 μ •μ˜ 검색

  • find_references - 심볼 μ°Έμ‘° μ°ΎκΈ°

  • analyze_dependency_graph - μ˜μ‘΄μ„± κ·Έλž˜ν”„ 뢄석 (v2.0 μ‹ κ·œ)

3. μ½”λ“œ ν’ˆμ§ˆ 뢄석

포괄적인 μ½”λ“œ λ©”νŠΈλ¦­ 및 ν’ˆμ§ˆ 평가:

  • λ³΅μž‘λ„ 뢄석: Cyclomatic, Cognitive, Halstead λ©”νŠΈλ¦­

  • 결합도/응집도: λͺ¨λ“ˆ ꡬ쑰 건전성 평가

  • ν’ˆμ§ˆ 점수: A-F λ“±κΈ‰ μ‹œμŠ€ν…œ

  • κ°œμ„  μ œμ•ˆ: μ‹€ν–‰ κ°€λŠ₯ν•œ λ¦¬νŒ©ν† λ§ λ°©μ•ˆ

μ£Όμš” 도ꡬ:

  • analyze_complexity - λ³΅μž‘λ„ λ©”νŠΈλ¦­ 뢄석

  • validate_code_quality - μ½”λ“œ ν’ˆμ§ˆ 평가

  • check_coupling_cohesion - 결합도/응집도 뢄석

  • suggest_improvements - κ°œμ„  μ œμ•ˆ

  • apply_quality_rules - ν’ˆμ§ˆ κ·œμΉ™ 적용

  • get_coding_guide - μ½”λ”© κ°€μ΄λ“œ 쑰회

4. ν”„λ‘œμ νŠΈ κ³„νš 도ꡬ

체계적인 μš”κ΅¬μ‚¬ν•­ 뢄석 및 λ‘œλ“œλ§΅ 생성:

  • PRD 생성: μ œν’ˆ μš”κ΅¬μ‚¬ν•­ λ¬Έμ„œ μžλ™ 생성

  • μ‚¬μš©μž μŠ€ν† λ¦¬: 수용 쑰건 포함 μŠ€ν† λ¦¬ μž‘μ„±

  • MoSCoW 뢄석: μš”κ΅¬μ‚¬ν•­ μš°μ„ μˆœμœ„ν™”

  • λ‘œλ“œλ§΅ μž‘μ„±: 단계별 개발 일정 κ³„νš

μ£Όμš” 도ꡬ:

  • generate_prd - μ œν’ˆ μš”κ΅¬μ‚¬ν•­ λ¬Έμ„œ 생성

  • create_user_stories - μ‚¬μš©μž μŠ€ν† λ¦¬ μž‘μ„±

  • analyze_requirements - μš”κ΅¬μ‚¬ν•­ 뢄석

  • feature_roadmap - κΈ°λŠ₯ λ‘œλ“œλ§΅ 생성

5. 순차적 사고 도ꡬ

κ΅¬μ‘°ν™”λœ 문제 ν•΄κ²° 및 μ˜μ‚¬κ²°μ • 지원:

  • 문제 λΆ„ν•΄: λ³΅μž‘ν•œ 문제λ₯Ό λ‹¨κ³„λ³„λ‘œ λΆ„ν•΄

  • 사고 체인: 순차적 μΆ”λ‘  κ³Όμ • 생성

  • λ‹€μ–‘ν•œ 관점: 뢄석적/창의적/체계적/λΉ„νŒμ  사고

  • μ‹€ν–‰ κ³„νš: μž‘μ—…μ„ μ‹€ν–‰ κ°€λŠ₯ν•œ κ³„νšμœΌλ‘œ λ³€ν™˜

μ£Όμš” 도ꡬ:

  • create_thinking_chain - 사고 체인 생성

  • analyze_problem - 문제 뢄석

  • step_by_step_analysis - 단계별 뢄석

  • format_as_plan - κ³„νš ν˜•μ‹ν™”

6. ν”„λ‘¬ν”„νŠΈ μ—”μ§€λ‹ˆμ–΄λ§

ν”„λ‘¬ν”„νŠΈ ν’ˆμ§ˆ ν–₯상 및 μ΅œμ ν™”:

  • μžλ™ κ°•ν™”: λͺ¨ν˜Έν•œ μš”μ²­μ„ ꡬ체적으둜 λ³€ν™˜

  • ν’ˆμ§ˆ 평가: λͺ…ν™•μ„±, ꡬ체성, λ§₯락성 μ μˆ˜ν™”

  • Gemini μ΅œμ ν™”: Google Gemini API ν”„λ‘¬ν”„νŒ… μ „λž΅

μ£Όμš” 도ꡬ:

  • enhance_prompt - ν”„λ‘¬ν”„νŠΈ κ°•ν™”

  • analyze_prompt - ν”„λ‘¬ν”„νŠΈ ν’ˆμ§ˆ 뢄석

  • enhance_prompt_gemini - Gemini ν”„λ‘¬ν”„νŒ… μ „λž΅

7. μΆ”λ‘  ν”„λ ˆμž„μ›Œν¬

λ³΅μž‘ν•œ 문제의 체계적 뢄석:

  • 9단계 μΆ”λ‘ : 문제 λΆ„ν•΄, κ°€μ„€ 탐색, μœ„ν—˜ 평가

  • 논리적 검증: μ™„μ „μ„±κ³Ό μ •λ°€μ„± 보μž₯

μ£Όμš” 도ꡬ:

  • apply_reasoning_framework - 9단계 μΆ”λ‘  ν”„λ ˆμž„μ›Œν¬

8. μ‚¬μš© 뢄석 (v2.0 μ‹ κ·œ)

도ꡬ μ‚¬μš© 톡계 및 뢄석:

  • λ©”λͺ¨λ¦¬ 톡계: μΉ΄ν…Œκ³ λ¦¬λ³„ 뢄포, μ‹œκ°„λ³„ ν™œλ™

  • κ·Έλž˜ν”„ 뢄석: μ—°κ²° 톡계, ν΄λŸ¬μŠ€ν„° 정보

μ£Όμš” 도ꡬ:

  • get_usage_analytics - μ‚¬μš© 뢄석 쑰회

9. UI 프리뷰 & μ‹œκ°„

  • preview_ui_ascii - ASCII UI 프리뷰

  • get_current_time - ν˜„μž¬ μ‹œκ°„ 쑰회


Hi-GCloud 연동

Hi-AIλŠ” hi-gcloud MCP와 ν•¨κ»˜ μ‚¬μš©ν•˜λ©΄ κ°•λ ₯ν•œ GCP 운영 + μ½”λ“œ μˆ˜μ • μ›Œν¬ν”Œλ‘œμš°λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

연동 방식

hi-gcloudμ—μ„œ μ—λŸ¬λ₯Ό λ°œκ²¬ν•˜λ©΄ hi-ai 도ꡬλ₯Ό μžλ™μœΌλ‘œ μΆ”μ²œν•©λ‹ˆλ‹€:

πŸ“‹ Cloud Run 둜그: my-api
πŸ”΄ 3개의 μ—λŸ¬κ°€ λ°œκ²¬λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

πŸ’‘ hi-ai 연동 κ°€λŠ₯: μ—λŸ¬ 뢄석이 ν•„μš”ν•˜λ©΄ analyze_problem λ„κ΅¬λ‘œ 원인을 λΆ„μ„ν•˜κ³ ,
   κ΄€λ ¨ μ½”λ“œλ₯Ό μ°Ύμ•„ μˆ˜μ • λ°©μ•ˆμ„ μ œμ‹œν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ›Œν¬ν”Œλ‘œμš° μ˜ˆμ‹œ

User: "배포가 μ‹€νŒ¨ν–ˆμ–΄"

[hi-gcloud]
β†’ gcp_run_logs둜 μ—λŸ¬ 둜그 쑰회
β†’ μ—λŸ¬ 3건 발견, hi-ai 연동 힌트 제곡

[hi-ai μžλ™ 연동]
β†’ analyze_problem으둜 μ—λŸ¬ 원인 뢄석
β†’ find_symbol둜 κ΄€λ ¨ μ½”λ“œ μœ„μΉ˜ νŒŒμ•…
β†’ suggest_improvements둜 μˆ˜μ • λ°©μ•ˆ μ œμ‹œ
β†’ save_memory둜 ν•΄κ²° 방법 μ €μž₯ (재발 λ°©μ§€)

μ„€μΉ˜

두 MCPλ₯Ό ν•¨κ»˜ μ„€μΉ˜ν•˜λ©΄ μžλ™μœΌλ‘œ μ—°λ™λ©λ‹ˆλ‹€:

{
  "mcpServers": {
    "hi-ai": {
      "command": "npx",
      "args": ["-y", "@su-record/hi-ai"]
    },
    "hi-gcloud": {
      "command": "npx",
      "args": ["-y", "@polin-go/hi-gcloud"]
    }
  }
}

연동 도ꡬ λ§€ν•‘

hi-gcloud 상황

hi-ai μΆ”μ²œ 도ꡬ

μ—λŸ¬ 둜그 발견

analyze_problem, find_symbol

배포 μ‹€νŒ¨

step_by_step_analysis, suggest_improvements

μ„±λŠ₯ 문제

analyze_complexity, check_coupling_cohesion

λΉ„μš© 증가

format_as_plan


v2.1.0 μ—…λ°μ΄νŠΈ

μ£Όμš” 변경사항

Hi-AI v2.1.0은 μ„Έμ…˜ μ»¨ν…μŠ€νŠΈ μžλ™ μ£Όμž… κΈ°λŠ₯을 λ„μž…ν•œ λ§ˆμ΄λ„ˆ λ¦΄λ¦¬μŠ€μž…λ‹ˆλ‹€.

μ‹ κ·œ κΈ°λŠ₯

κΈ°λŠ₯

μ„€λͺ…

get_session_context 도ꡬ

μ„Έμ…˜ μ‹œμž‘ μ‹œ 이전 λ©”λͺ¨λ¦¬, 지식 κ·Έλž˜ν”„, νƒ€μž„λΌμΈμ„ ν•œ λ²ˆμ— 쑰회

hi-ai://context/session λ¦¬μ†ŒμŠ€

ν΄λΌμ΄μ–ΈνŠΈκ°€ λ¦¬μ†ŒμŠ€λ₯Ό 읽을 λ•Œ μžλ™μœΌλ‘œ μ»¨ν…μŠ€νŠΈ 제곡

도ꡬ description κ°œμ„ 

LLM이 μ„Έμ…˜ μ‹œμž‘ μ‹œ μžλ™μœΌλ‘œ μ»¨ν…μŠ€νŠΈλ₯Ό νŒŒμ•…ν•˜λ„λ‘ μœ λ„

λ³€κ²½ μš”μ•½

ν•­λͺ©

v2.0.0

v2.1.0

λ³€ν™”

도ꡬ 개수

34개

35개

+1개

λ¦¬μ†ŒμŠ€ 개수

3개

4개

+1개

μ„Έμ…˜ μ»¨ν…μŠ€νŠΈ

μˆ˜λ™

μžλ™ ꢌμž₯

κ°œμ„ 


v2.0.0 μ—…λ°μ΄νŠΈ

μ£Όμš” 변경사항

Hi-AI v2.0.0은 지식 κ·Έλž˜ν”„ 기반 λ©”λͺ¨λ¦¬ μ‹œμŠ€ν…œκ³Ό κ³ κΈ‰ μ½”λ“œ 뢄석 κΈ°λŠ₯을 λ„μž…ν•œ 메이저 λ¦΄λ¦¬μŠ€μž…λ‹ˆλ‹€.

μ‹ κ·œ κΈ°λŠ₯ (6개 도ꡬ)

도ꡬ

μ„€λͺ…

link_memories

λ©”λͺ¨λ¦¬ κ°„ 관계 μ—°κ²° (지식 κ·Έλž˜ν”„)

get_memory_graph

지식 κ·Έλž˜ν”„ 쑰회/μ‹œκ°ν™” (Mermaid λ‹€μ΄μ–΄κ·Έλž¨ 지원)

search_memories_advanced

5κ°€μ§€ μ „λž΅μ˜ λ©€ν‹° 검색

create_memory_timeline

μ‹œκ°„μˆœ λ©”λͺ¨λ¦¬ νƒ€μž„λΌμΈ

analyze_dependency_graph

μ½”λ“œ μ˜μ‘΄μ„± 뢄석 및 μˆœν™˜ μ°Έμ‘° 감지

get_usage_analytics

μ‚¬μš© 톡계/뢄석

μ•„ν‚€ν…μ²˜ κ°œμ„ 

  • index.ts: 37개 switch case β†’ 동적 λ””μŠ€νŒ¨μΉ˜ νŒ¨ν„΄

  • MemoryManager: 지식 κ·Έλž˜ν”„ κΈ°λŠ₯ μΆ”κ°€ (395쀄 β†’ 823쀄)

  • μ½”λ“œ μ΅œμ ν™”: λΆˆν•„μš”ν•œ μ˜μ‘΄μ„± 제거 (puppeteer-core)


μ„€μΉ˜

μ‹œμŠ€ν…œ μš”κ΅¬μ‚¬ν•­

  • Node.js 18.0 이상

  • TypeScript 5.0 이상

  • MCP ν˜Έν™˜ ν΄λΌμ΄μ–ΈνŠΈ (Claude Desktop, Cursor, Windsurf)

  • Python 3.x (Python μ½”λ“œ 뢄석 μ‹œ)

μ„€μΉ˜ 방법

NPM νŒ¨ν‚€μ§€

# κΈ€λ‘œλ²Œ μ„€μΉ˜
npm install -g @su-record/hi-ai

# 둜컬 μ„€μΉ˜
npm install @su-record/hi-ai

Smithery ν”Œλž«νΌ

# 원클릭 μ„€μΉ˜
https://smithery.ai/server/@su-record/hi-ai

MCP ν΄λΌμ΄μ–ΈνŠΈ μ„€μ •

Claude Desktop λ˜λŠ” λ‹€λ₯Έ MCP ν΄λΌμ΄μ–ΈνŠΈμ˜ μ„€μ • νŒŒμΌμ— μΆ”κ°€:

{
  "mcpServers": {
    "hi-ai": {
      "command": "hi-ai",
      "args": [],
      "env": {}
    }
  }
}

도ꡬ μΉ΄νƒˆλ‘œκ·Έ

전체 도ꡬ λͺ©λ‘ (35개)

μΉ΄ν…Œκ³ λ¦¬

도ꡬ 수

도ꡬ λͺ©λ‘

λ©”λͺ¨λ¦¬ - κΈ°λ³Έ

6

save_memory, recall_memory, list_memories, delete_memory, update_memory, prioritize_memory

λ©”λͺ¨λ¦¬ - κ·Έλž˜ν”„

4

link_memories, get_memory_graph, search_memories_advanced, create_memory_timeline

λ©”λͺ¨λ¦¬ - μ„Έμ…˜

1

get_session_context πŸš€

μ½”λ“œ 뢄석

3

find_symbol, find_references, analyze_dependency_graph

사고

4

create_thinking_chain, analyze_problem, step_by_step_analysis, format_as_plan

μ½”λ“œ ν’ˆμ§ˆ

6

analyze_complexity, validate_code_quality, check_coupling_cohesion, suggest_improvements, apply_quality_rules, get_coding_guide

κ³„νš

4

generate_prd, create_user_stories, analyze_requirements, feature_roadmap

ν”„λ‘¬ν”„νŠΈ

3

enhance_prompt, analyze_prompt, enhance_prompt_gemini

μΆ”λ‘ 

1

apply_reasoning_framework

뢄석

1

get_usage_analytics

UI

1

preview_ui_ascii

μ‹œκ°„

1

get_current_time

ν‚€μ›Œλ“œ λ§€ν•‘ μ˜ˆμ‹œ

λ©”λͺ¨λ¦¬ 도ꡬ

도ꡬ

ν•œκ΅­μ–΄

μ˜μ–΄

save_memory

κΈ°μ–΅ν•΄, μ €μž₯ν•΄

remember, save this

recall_memory

λ– μ˜¬λ €, κΈ°μ–΅λ‚˜

recall, remind me

get_session_context

μ„Έμ…˜ μ‹œμž‘, μ»¨ν…μŠ€νŠΈ

session start, context

link_memories

μ—°κ²°ν•΄, 관계

link, connect

get_memory_graph

κ·Έλž˜ν”„, 관계도

graph, relations

search_memories_advanced

κ³ κΈ‰ 검색, μ°Ύμ•„

advanced search, find

μ½”λ“œ 뢄석 도ꡬ

도ꡬ

ν•œκ΅­μ–΄

μ˜μ–΄

find_symbol

ν•¨μˆ˜ μ°Ύμ•„, 클래슀 μ–΄λ””

find function, where is

analyze_dependency_graph

μ˜μ‘΄μ„±, 관계

dependency, relations

analyze_complexity

λ³΅μž‘λ„, λ³΅μž‘ν•œμ§€

complexity, how complex

validate_code_quality

ν’ˆμ§ˆ, 리뷰

quality, review


μ•„ν‚€ν…μ²˜

μ‹œμŠ€ν…œ ꡬ쑰

graph TB
    subgraph "Client Layer"
        A[Claude Desktop / Cursor / Windsurf]
    end

    subgraph "MCP Server"
        B[Hi-AI v2.1.0]
    end

    subgraph "Core Libraries"
        C1[MemoryManager + Graph]
        C2[ContextCompressor]
        C3[ProjectCache]
        C4[PythonParser]
    end

    subgraph "Tool Categories"
        D1[Memory Basic x6]
        D2[Memory Graph x4]
        D2b[Memory Session x1]
        D3[Code Analysis x3]
        D4[Thinking Tools x4]
        D5[Quality Tools x6]
        D6[Planning Tools x4]
        D7[Prompt Tools x3]
        D8[Reasoning x1]
        D9[Analytics x1]
        D10[UI/Time x2]
    end

    subgraph "Data Layer"
        E1[(SQLite Database)]
        E2[Project Files]
    end

    A <--> B
    B --> C1 & C2 & C3 & C4
    B --> D1 & D2 & D2b & D3 & D4 & D5 & D6 & D7 & D8 & D9 & D10
    C1 --> E1
    C3 --> E2
    C4 --> E2
    D1 --> C1 & C2
    D2 --> C1
    D3 --> C3 & C4
    D5 --> C4
    D9 --> C1

핡심 μ»΄ν¬λ„ŒνŠΈ

MemoryManager (v2.0 ν™•μž₯)

  • μ—­ν• : 영ꡬ λ©”λͺ¨λ¦¬ μ €μž₯μ†Œ 및 지식 κ·Έλž˜ν”„ 관리

  • 기술: SQLite, better-sqlite3

  • κΈ°λŠ₯: CRUD, 검색, μš°μ„ μˆœμœ„, κ·Έλž˜ν”„ 관계, BFS/DFS 탐색

  • μ΅œμ ν™”: WAL λͺ¨λ“œ, 인덱싱, Prepared Statements

ContextCompressor

  • μ—­ν• : μ»¨ν…μŠ€νŠΈ μ••μΆ• 관리

  • μ•Œκ³ λ¦¬μ¦˜: μš°μ„ μˆœμœ„ 기반 μ••μΆ•

  • κΈ°λŠ₯: μ€‘μš”λ„μ— λ”°λ₯Έ 선택적 보쑴

ProjectCache

  • μ—­ν• : ts-morph ν”„λ‘œμ νŠΈ 캐싱

  • μ „λž΅: LRU μ•Œκ³ λ¦¬μ¦˜

  • κΈ°λŠ₯: 반볡 뢄석 μ„±λŠ₯ ν–₯상

  • μ œν•œ: 100MB/ν”„λ‘œμ νŠΈ, 200MB 전체

PythonParser

  • μ—­ν• : Python μ½”λ“œ AST 뢄석

  • 방법: subprocess μ‹€ν–‰

  • κΈ°λŠ₯: 심볼 μΆ”μΆœ, λ³΅μž‘λ„ 계산

  • μ•ˆμ „: νƒ€μž„μ•„μ›ƒ, μžλ™ 정리

λ°μ΄ν„°λ² μ΄μŠ€ μŠ€ν‚€λ§ˆ (v2.0)

-- memories ν…Œμ΄λΈ”
CREATE TABLE memories (
  key TEXT PRIMARY KEY,
  value TEXT NOT NULL,
  category TEXT NOT NULL DEFAULT 'general',
  timestamp TEXT NOT NULL,
  lastAccessed TEXT NOT NULL,
  priority INTEGER DEFAULT 0
);

-- memory_relations ν…Œμ΄λΈ” (v2.0 μ‹ κ·œ)
CREATE TABLE memory_relations (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  sourceKey TEXT NOT NULL,
  targetKey TEXT NOT NULL,
  relationType TEXT NOT NULL,
  strength REAL DEFAULT 1.0,
  metadata TEXT,
  timestamp TEXT NOT NULL,
  UNIQUE(sourceKey, targetKey, relationType)
);

μ„±λŠ₯

μ£Όμš” μ΅œμ ν™”

ν”„λ‘œμ νŠΈ 캐싱

  • LRU μΊμ‹œλ₯Ό ν†΅ν•œ 반볡 뢄석 μ„±λŠ₯ ν–₯상

  • 5λΆ„ TTL둜 μ΅œμ‹  μƒνƒœ μœ μ§€

  • λ©”λͺ¨λ¦¬ μ œν•œμ„ ν†΅ν•œ λ¦¬μ†ŒμŠ€ 관리

λ©”λͺ¨λ¦¬ μž‘μ—…

  • SQLite νŠΈλžœμž­μ…˜μœΌλ‘œ 배치 μž‘μ—… μ΅œμ ν™”

  • μ‹œκ°„ λ³΅μž‘λ„ κ°œμ„ : O(nΒ²) β†’ O(n)

  • 인덱싱을 ν†΅ν•œ λΉ λ₯Έ 쑰회

κ·Έλž˜ν”„ 탐색 (v2.0)

  • BFS/DFS μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ 효율적 탐색

  • Union-Find둜 ν΄λŸ¬μŠ€ν„° 감지

  • 경둜 μ°ΎκΈ° μ΅œμ ν™”


개발 κ°€μ΄λ“œ

ν™˜κ²½ μ„€μ •

# 리포지토리 클둠
git clone https://github.com/su-record/hi-ai.git
cd hi-ai

# μ˜μ‘΄μ„± μ„€μΉ˜
npm install

# λΉŒλ“œ
npm run build

# 개발 λͺ¨λ“œ
npm run dev

ν…ŒμŠ€νŠΈ

# 전체 ν…ŒμŠ€νŠΈ μ‹€ν–‰
npm test

# Watch λͺ¨λ“œ
npm run test:watch

# UI λͺ¨λ“œ
npm run test:ui

# 컀버리지 리포트
npm run test:coverage

μ½”λ“œ μŠ€νƒ€μΌ

  • TypeScript: strict λͺ¨λ“œ

  • νƒ€μž…: src/types/tool.ts μ‚¬μš©

  • ν…ŒμŠ€νŠΈ: 100% 컀버리지 μœ μ§€

  • 컀밋: Conventional Commits ν˜•μ‹

μƒˆ 도ꡬ μΆ”κ°€

  1. src/tools/category/ 디렉토리에 파일 생성

  2. ToolDefinition μΈν„°νŽ˜μ΄μŠ€ κ΅¬ν˜„

  3. src/index.ts의 toolHandlers에 등둝

  4. tests/unit/ 디렉토리에 ν…ŒμŠ€νŠΈ μž‘μ„±

  5. README μ—…λ°μ΄νŠΈ


κΈ°μ—¬μž

νŠΉλ³„ 감사

  • Smithery - MCP μ„œλ²„ 배포 및 원클릭 μ„€μΉ˜ ν”Œλž«νΌ 제곡


λΌμ΄μ„ μŠ€

MIT License - 자유둭게 μ‚¬μš©, μˆ˜μ •, 배포 κ°€λŠ₯


인용

이 ν”„λ‘œμ νŠΈλ₯Ό μ—°κ΅¬λ‚˜ 상업적 μš©λ„λ‘œ μ‚¬μš©ν•˜μ‹€ 경우:

@software{hi-ai2025,
  author = {Su},
  title = {Hi-AI: Knowledge Graph-Based MCP Server for AI-Assisted Development},
  year = {2025},
  version = {2.1.0},
  url = {https://github.com/su-record/hi-ai}
}

Star History

Star History Chart

Hi-AI v2.1.0

지식 κ·Έλž˜ν”„ λ©”λͺ¨λ¦¬ Β· μ„Έμ…˜ μ»¨ν…μŠ€νŠΈ μžλ™ μ£Όμž… Β· μ˜μ‘΄μ„± 뢄석 Β· 35개 μ „λ¬Έ 도ꡬ

Made with ❀️ by Su

🏠 Homepage Β· πŸ“š Documentation Β· πŸ› Issues Β· πŸ’¬ Discussions

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/su-record/hi-ai'

If you have feedback or need assistance with the MCP directory API, please join our Discord server