본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 생산성·자동화 · 윈도우즈 유틸

IWE

0

IWE는 마크다운 파일을 지식 그래프로 변환하여 로컬에서 관리하는 오픈소스 메모리 시스템입니다. 사용자는 마크다운 파일을 작성하고 링크로 연결하여 계층 구조와 네트워크 구조를 동시에 가질 수 있으며, 이를 통해 편집기에서 IDE 같은 기능을 경험하고 AI 에이전트에게 구조화된 컨텍스트를 제공할 수 있습니다.

AI 메모리CLI 도구LSP 편집기 통합MCP 서버로컬 우선마크다운오픈소스지식 그래프

소개

IWE는 마크다운 파일을 지식 그래프로 변환하여 로컬에서 관리하는 오픈소스 메모리 시스템입니다. 사용자는 마크다운 파일을 작성하고 링크로 연결하여 계층 구조와 네트워크 구조를 동시에 가질 수 있으며, 이를 통해 편집기에서 IDE 같은 기능을 경험하고 AI 에이전트에게 구조화된 컨텍스트를 제공할 수 있습니다. IWE는 Rust로 구축되어 20,000개 파일을 1초 미만에 처리하는 속도를 자랑하며, 클라우드나 데이터베이스에 의존하지 않고 로컬 파일과 Git 버전 관리에 기반합니다. 공식 홈페이지는 https://iwe.md이며, GitHub 저장소는 https://github.com/iwe-org/iwe입니다.

상세정보

마크다운 기반 지식 그래프

IWE는 마크다운 파일을 노트로 취급하고, 두 가지 유형의 링크를 통해 연결 구조를 형성합니다. ‘인클루전 링크’는 한 줄에 링크만 놓아 부모-자식 계층 구조를 만들고, ‘크로스 참조’는 인라인 링크를 통해 서로 다른 주제의 노트를 연결합니다.これにより 동일한 노트가 여러 위치에 중복 없이 존재할 수 있으며, 계층 구조에서의 부모 노트 컨텍스트를 검색 시 포함할 수 있습니다.

편집기 IDE 기능 (LSP 통합)

IWE는 Language Server Protocol(LSP)을 통해 VS Code, Neovim, Zed, Helix 등 주요 편집기에 IDE 수준의 기능을 제공합니다. 이는 노트 내에서의 검색, 정의로 이동, 참조 찾기(백링크), 링크 호버 프리뷰, 자동 완성, 인레이 힌트(부모 참조 및 링크 수 표시), 섹션 추출, 인라인 임베드, 파일 이름 변경 시 링크 자동 업데이트, 문서 포맷 정규화, 외부 명령어 파이프라인, 템플릿 기반 노트 생성, 헤더와 목록 간 변환 등을 포함합니다.

AI 에이전트를 위한 구조화된 접근 (CLI 및 MCP 서버)

IWE는 AI 에이전트가 노트를 구조화된 방식으로 쿼리하고 수정할 수 있도록 CLI 도구와 MCP(Model Context Protocol) 서버를 제공합니다. CLI는 퍼지 검색, 전체 텍스트 검색, 프론트매터 및 그래프 엣지 기반 필터링, 문서와 연결된 컨텍스트 한 번에 가져오기, 계층 구조 트리 보기, 범위 선언을 통한 보호된 편집(frontmatter 변경 및 타겟 블록 작업), 스키마 추출 및 검증 등을 지원합니다. MCP 서버는 파일 변경을 감시하여 편집기의 변경 사항을 실시간으로 AI 도구에 반영하며, Claude Desktop, Cursor, Windsurf 등과 호환됩니다.

스키마 및 그래프 위생 관리

IWE는 문서의 프론트매터와 구조를 문서별 스키마에 따라 검증하여 필수 필드, 열거형, ISO 날짜, 필수 섹션 등을 강제합니다. 또한 변경 시 영향을 받는 링크와 누락된 페이지에 대한 경고를 제공하고, 유사도 분석을 통해 중복 가능성을 감지합니다. 모든 에이전트 쓰기는 영향을 받는 범위를 선언해야 하며, 선언과 실제 영향이 다를 경우 쓰기가 중단됩니다.

다운로드·설치 방법

IWE는 여러 패키지 관리자를 통해 설치할 수 있습니다. macOS 및 Linux에서는 Homebrew를 사용할 수 있습니다: brew install iwe-org/iwe/iwe. npm을 통한 전역 설치는 macOS, Linux, Windows 모두 지원합니다: npm install -g @iwe-org/iwe. Rust 개발자는 Cargo를 사용할 수 있습니다: cargo install iwe iwes iwec. 또한 conda-forge 커뮤니티 채널을 통해 설치할 수 있습니다: conda install -c conda-forge iwe. Windows 사용자는 npm 또는 Cargo를 통한 설치를 권장합니다.

기본 사용법/명령어

설치 후, 노트 디렉터리에서 iwe init을 실행하여 작업 영역을 초기화합니다. 이는 현재 디렉터리를 IWE가 관리하는 지식 그래프로 설정합니다. 초기화 후, 편집기 연동을 위해서는 해당 편집기의 IWE 확장 플러그인을 설치하고, AI 에이전트 연동을 위해서는 MCP 서버를 설정해야 합니다. 예를 들어, 노트 디렉터리가 ~/notes라면, Claude Code에서 MCP 서버를 다음과 같이 설정할 수 있습니다:

{
  "mcpServers": {
    "iwe": {
      "command": "iwec",
      "cwd": "~/notes"
    }
  }
}

CLI를 통한 기본 작업 예시는 다음과 같습니다. 퍼지 검색으로 노트를 찾은 후, 특정 키의 문서를 포함 링크 2단계까지 확장하여 컨텍스트를 가져올 수 있습니다:

iwe find --fuzzy auth

iwe retrieve --key authentication --expand-includes 2

계층 구조를 보려면 iwe tree --key oauth 명령을 사용할 수 있습니다. 문서의 스키마를 추론하거나 검증하려면 iwe schema 명령을 사용합니다. 더 많은 명령은 공식 CLI 참조 문서에서 확인할 수 있습니다.

이런 경우에 유용합니다

개인 지식 관리(PKM)를 원하는 사용자가 마크다운 노트를 작성하면서도 계층 구조와 네트워크 구조를 동시에 활용하고자 할 때 유용합니다. 예를 들어, 프로젝트 관련 결정을 추적하거나, 독서 노트를 주제별로 연결하여 맥락을 잃지 않고 검색하고자 하는 경우에 적합합니다. 또한, Claude나 Codex와 같은 AI 코딩 에이전트를 사용하는 개발자가 자신의 프로젝트 노트와 결정 사항을 구조화하여 에이전트가 컨텍스트를 이해하도록 도와주고자 할 때 유용합니다. 이는 에이전트가 파일을 무작위로 탐색하는 것이 아니라, 의도한 구조를 따라 관련 정보를 효율적으로 retrieval하도록 돕습니다.

지원 환경·시스템 요구사항

IWE는 Rust로 작성되어 Windows, macOS, Linux에서 실행됩니다. 설치를 위해서는 해당 플랫폼에서 npm, Homebrew, Cargo, 또는 conda 중 하나를 사용할 수 있어야 합니다. 소스 코드에서 직접 빌드하려면 Rust 툴체인이 필요합니다. 공식적으로 지원되는 최소 버전은 명시되지 않았으나, 최신 Rust 안정 버전과의 호환성을 목표로 합니다. 로컬 파일 시스템과 Git에 대한 접근이 필수적이며, 외부 클라우드 서비스나 데이터베이스는 필요하지 않습니다.

최신 버전·업데이트

현재 버전은 0.24.0이며, 공식 GitHub 저장소의 릴리스 페이지에서 변경 내역을 확인할 수 있습니다. 최신 소식은 저장소의 커밋 기록 및 토론 페이지를 통해 얻을 수 있습니다.

제한 사항·확인 사항

IWE는 클라우드 동기화 기능을 내장하지 않으므로, 멀티 디바이스 동기화를 위해서는 사용자가 자체적으로 Git 원격 저장소(예: GitHub, GitLab)를 설정해야 합니다. 또한, IWE 자체는 AI 모델을 포함하지 않으므로, AI 에이전트와의 연동을 위해서는 별도로 Claude, Codex, Gemini 등과 같은 외부 AI 도구가 필요합니다. MCP 서버를 사용할 경우, 해당 서버가 실행 중인 디렉터리의 파일에 대한 읽기/쓰기 권한이 필요합니다.

FAQ

  • IWE는 무료인가요?

    네, IWE는 Apache License 2.0 하에 오픈소스로 제공되며, 무료로 사용하고 수정 및 재배포할 수 있습니다.

  • Windows에서 사용할 수 있나요?

    네, IWE는 Windows를 지원하며, npm이나 Cargo를 통해 설치할 수 있습니다.

  • 인터넷 연결이 필요한가요?

    아니요, IWE는 로컬 우선 설계를 따릅니다. 설치 및 초기화 후에는 인터넷 연결 없이도 로컬 파일과 Git을 통해 모든 기능을 사용할 수 있습니다. 다만, 초기 설치를 위해서는 패키지 관리자 접근이 필요할 수 있습니다.

시스템 요구사항

별도의 시스템 요구사항이 등록되지 않았습니다.