kiwifs/kiwifs
Markdown filesystem for agents and teams.
KiwiFS – AI 에이전트와 팀을 위한 마크다운 우선 지식 저장소
개요 – 단일 바이너리 Go 서버로, Markdown 파일 디렉토리를 라이브, 검색 가능, 버전 관리되는 지식 베이스로 취급합니다. 파일이 진실의 원천이며, 시스템은 Git 스타일의 감사 추적, 전체 텍스트 검색 + 벡터 검색, 웹 UI를 추가하고 REST, MCP, NFS, S3, WebDAV, FUSE 등 다양한 프로토콜로 데이터를 노출하여 인간과 자율 에이전트 모두 읽고 쓸 수 있습니다.
AI에게 중요한 이유 – 현대 LLM 기반 에이전트는 기계가 읽을 수 있는(임베딩, 구조화된 프론트매터) 동시에 인간이 읽을 수 있는(Markdown) 컨텍스트를 영속화할 장소가 필요합니다. KiwiFS는 에이전트가 다음을 할 수 있게 합니다:
cat스타일 명령, HTTP PUT 또는 MCP 프로토콜을 통해 Markdown 작성- BM25 또는 의미론적 벡터 유사도로 관련 페이지 검색
- SQL 유사 DQL 언어로 구조화된 메타데이터 쿼리
- 모든 변경 사항을 Git 커밋으로 확인(blame, diff, 특정 시점 복원)
- Server-Sent Events를 통해 실시간 업데이트 수신
주요 기능(README에 명시)
| 기능 | 설명 |
|---|---|
| 62개 MCP 도구 | Claude, Cursor 및 모든 MCP 클라이언트용 네이티브 명령. |
| 임베디드 웹 UI | 블록 편집기, 위키 링크 백링크, 지식 그래프 보기, 다크 모드 – 모두 go:embed로 바이너리에 컴파일. |
| 전체 텍스트 + 벡터 검색 | SQLite FTS5를 통한 BM25, 플러그인 가능한 벡터 백엔드(OpenAI, Ollama, ONNX, Cohere, Qdrant, pgvector, Pinecone). |
| Git 버전 관리 | 모든 쓰기가 원자적 Git 커밋이 됩니다. git blame, diff, 또는 모든 리비전 복원 가능. |
| DQL(데이터 쿼리 언어) | Markdown 프론트매터에 대한 SQL 스타일 쿼리(TABLE, WHERE, GROUP BY 등). |
| 6가지 액세스 프로토콜 | REST, MCP, NFS, S3, WebDAV, FUSE – 모두 단일 스토리지 계층을 통해 라우팅. |
| 19개 임포터 | Postgres, MySQL, MongoDB, Notion, CSV, Obsidian 등에서 데이터를 가져옴. |
| 콘텐츠 헬스 분석 | 오래된 페이지, 끊어진 링크, 고립된 노트, 모순 감지; 신뢰도 순위 검색. |
| 멀티 스페이스 | 각각 자체 Git 리포지토리와 인덱스를 가진 여러 격리된 작업 공간 호스팅. |
| 웹훅 및 스키마 검증 | 쓰기 시 Slack/CI 트리거, 수신 Markdown에 JSON 스키마 적용. |
| 임베드 가능한 Go 라이브러리 | 자체 Go 애플리케이션에서 pkg/kiwi 사용. |
일반적인 사용자
- 에이전트가 프로그래밍 방식으로 쿼리하고 업데이트할 수 있는 쓰기 가능한 지식 베이스가 필요한 AI 에이전트 개발자.
- Confluence/Notion을 대체할 자체 호스팅, Markdown 중심 위키를 현대적 UI를 유지하며 찾는 팀.
- 모든 변경에 대해 불변 감사 추적(Git 커밋)을 요구하는 규정 준수 중시 조직.
- 인시던트 후 에이전트가 자동으로 보강할 수 있는 런북을 원하는 DevOps / SRE 팀.
시작 방법(README 참조)
# 설치(brew, curl 스크립트 또는 go install)
brew install kiwifs/tap/kiwifs
# 또는
curl -fsSL https://raw.githubusercontent.com/kiwifs/kiwifs/main/install.sh | sh
# 또는
go install github.com/kiwifs/kiwifs@latest
# 작업 공간 초기화
kiwifs init --template knowledge --root ./knowledge
# 서버 실행(REST API는 :3333, UI는 http://localhost:3333)
kiwifs serve --root ./knowledge
Docker 대안:
docker run -p 3333:3333 -v ./knowledge:/data ameliaanhlam/kiwifs
에이전트는 간단한 HTTP 요청으로 쓸 수 있습니다:
curl -X PUT 'localhost:3333/api/kiwi/file?path=pages/auth.md' \
-H "X-Actor: my-agent" \
-d "# Authentication\n\nOAuth2 + JWT..."
아키텍처 스냅샷(README의 텍스트 다이어그램)
- 단일 Go 바이너리가 웹 UI(shadcn/ui, CodeMirror, Sigma.js)를 임베드.
- 액세스 계층이 REST, MCP, NFS, S3, WebDAV, FUSE를 노출.
- 코어가 스토리지, Git 버전 관리, SQLite FTS5, 선택적 벡터 저장소, 파일 워처, SSE 이벤트, 스키마 린팅을 처리.
- 파일 시스템 백엔드에는 로컬 디스크, NFS, EFS, JuiceFS, FUSE-S3가 포함.
확장성
config.toml의[search.vector]를 통해 플러그인 가능한 벡터 제공자(OpenAI, Ollama, ONNX 등).- 사용자 정의 임포터 또는 내보내기 파이프라인(임베딩 포함 JSONL/CSV) 추가.
- 다른 프로그램에서 Go 라이브러리를 직접 사용.
라이선스 – Business Source License 1.1(자체 호스팅 사용은 무료, 상업용 SaaS 제공에는 별도 라이선스 필요). 각 릴리스는 4년 후 Apache 2.0으로 재라이선스됩니다.
더 알아보기 – 문서 사이트(https://docs.kiwifs.com), API 사양, 예제, FAQ, 로드맵 및 아키텍처 문서는 README에서 모두 링크되어 있습니다.
위의 모든 정보는 리포지토리 README에서 직접 가져온 것이며, 추가 기능은 추측되지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트