WeKnora 쓰는 법

텐센트 오픈소스 WeKnora(v0.8.0)를 Docker Compose로 올려 RAG 질의응답·ReAct 에이전트·Wiki Mode까지 쓰는 셀프호스팅 가이드다. 클론 후 .env만 맞추면 localhost UI와 8080 API로 바로 지식 베이스 Q&A를 시작할 수 있다.

WeKnora 쓰는 법

WeKnora(Tencent/WeKnora)는 문서를 올려 질의응답·에이전트·위키까지 이어 주는 오픈소스 LLM 지식 플랫폼이다. MIT 라이선스, 최신 릴리스 v0.8.0, GitHub 기준 약 2.9만 스타. 이 글은 Docker Compose로 셀프호스팅해 “WeKnora 쓰는 법”만 따라간다.

설치·포트·버전은 공식 README, 설치 문서, 빠른 시작, 릴리스 v0.8.0만 근거로 적는다. 공식 사이트: weknora.weixin.qq.com.

핵심 요약 (TL;DR)

WeKnora 쓰는 법 가이드 표지
WeKnora 쓰는 법 가이드 표지.
  • 무엇인가: 문서를 RAG 질의응답·ReAct 에이전트·Wiki Mode 위키로 바꾸는 셀프호스팅 지식 플랫폼.
  • 요구사항: Docker 20.10+ · Docker Compose v2 · Git. 문서 권장 시작점 4코어 / 8GB RAM(모델 가중치 제외).
  • 버전(작성 시점): v0.8.0. 라이선스 MIT.
  • 한 줄 경로: git clone → cp .env.example .env → docker compose pull && docker compose up -d → 브라우저 http://localhost.
  • 서비스 URL: Web UI http://localhost, Backend API http://localhost:8080, Langfuse(프로필 사용 시) http://localhost:3000.

할 수 있는 일

Tencent/WeKnora GitHub OG 카드
Tencent/WeKnora GitHub OG. 문서를 RAG·에이전트·위키로 바꾼다는 소개. 출처: opengraph.githubassets.com

먼저 용어만 짧게 풀어 둔다.

  • RAG(Retrieval-Augmented Generation): 지식 베이스에서 관련 조각을 찾아와 LLM이 답하게 하는 방식. WeKnora의 “빠른 질의응답(Quick Q&A)”이 여기에 해당한다.
  • ReAct 에이전트: Reasoning + Acting. 검색·MCP 도구·스킬 샌드박스·웹 검색을 스스로 조합해 여러 단계 일을 처리한다.
  • Wiki Mode: 원문 문서를 에이전트가 구조화·상호 링크된 마크다운 위키로 만들고, 지식 그래프·수정 이력·롤백까지 붙인 모드.
  • MCP(Model Context Protocol): 외부 도구를 에이전트에 붙이는 표준. 공식 PyPI 패키지 tencent-weknora-mcp로 약 29개 도구를 제공한다.
  • Docker Compose: 여러 컨테이너(프론트·백엔드·DB·파서 등)를 한 번에 올리고 내리는 오케스트레이션 도구.
  • 하네스(Harness): DeepSeek Harness처럼 에이전트 런타임에 플러그인을 꽂는 틀. WeKnora는 공식 플러그인 @wxg-prc-cpg/dsh-weknora를 제공한다.
WeKnora 아키텍처 다이어그램
WeKnora 공식 아키텍처(docs/images/architecture.png). 문서 파싱·벡터화·검색·LLM 추론 파이프라인. 출처: GitHub docs/images

공식 README 기준으로 바로 할 수 있는 일은 대략 이렇다.

  • 문서 올려 RAG Q&A: PDF·Word·Markdown·HTML·이미지 등 10여 포맷을 올리고, 인용과 함께 빠르게 묻는다.
  • ReAct 에이전트로 복잡한 일: 지식 검색 + MCP 도구 + 스킬 샌드박스(Docker / E2B / Cube) + 웹 검색을 조합한다. v0.8.0부터 테넌트 스킬 카탈로그·세션 지속 샌드박스·장기 기억이 강화됐다.
  • Wiki Mode로 위키·지식 그래프 자동 생성: 원문을 상호 링크된 위키 페이지로 만들고, 브라우저에서 편집·이력·롤백한다.
  • 폴더 트리·청크 편집: 업로드 디렉터리 구조를 유지하고, 검색 청크를 문서처럼 수정·diff·되돌린다.
  • 데이터 소스 동기화: GitLab·Tencent IMA·Feishu(飞书)·Notion·Yuque(语雀)·DingTalk Docs·RSS 등(계속 확장).
  • CLI / MCP / 임베드: weknora CLI, MCP 서버, 웹사이트 임베드 위젯, IM(WeCom·飞书·Slack 등) 채널.

필요한 것

항목공식 근거메모
Docker설치 문서20.10+
Docker Compose설치 문서 / READMEv2 권장 (v1도 스크립트가 자동 탐지)
GitREADME Prerequisites클론용
하드웨어(시작점)설치 문서4코어 / 8GB RAM 권장(Ollama 모델 가중치 제외). 선택 프로필 켜면 메모리 추가
버전Release / README 배지v0.8.0 (WEKNORA_VERSION)
필수 env설치 문서 / .env.exampleDB_USER/DB_PASSWORD/DB_NAME, REDIS_PASSWORD, JWT_SECRET, SYSTEM_AES_KEY 등
LLM빠른 시작대화 모델 + 임베딩 모델 최소 1개씩 (Ollama 또는 OpenAI 호환 API)
라이선스LICENSE / READMEMIT

링크: GitHub · 설치 · 빠른 시작 · 트러블슈팅 · v0.8.0.

단계

WeKnora 지능형 Q&A 대화 화면
WeKnora 지능형 Q&A 대화(docs/images/qa.png). 출처: GitHub docs/images

1) 클론하고 .env 준비

git clone https://github.com/Tencent/WeKnora.git
cd WeKnora
cp .env.example .env   # DB_*/REDIS_PASSWORD/JWT_SECRET/SYSTEM_AES_KEY 등 수정

.env가 없으면 compose 파싱이 실패한다. README·설치 문서 모두 cp .env.example .env를 먼저 하라고 한다. make start-all(scripts/start_all.sh)을 쓰면 Ollama 점검·env 자동 보완·샌드박스 이미지 미리 받기까지 묶여 있다. README 최소 경로는 docker compose 직접 호출이다.

2) 이미지 받고 올리기

docker compose pull     # WEKNORA_VERSION에 맞는 이미지
docker compose up -d
docker compose ps       # healthy/running 확인

브라우저에서 http://localhost 를 연다. 프론트 Nginx가 /api/를 백엔드로 프록시하므로 API도 http://localhost/api/v1로 갈 수 있다. 백엔드 포트는 호스트에 8080으로 매핑된다.

curl http://localhost:8080/health
# 기대: {"status":"ok"}

3) (선택) Compose 프로필

프로필역할예
(기본)코어(프론트·앱·docreader·postgres·redis)docker compose up -d
full선택 기능 묶음docker compose --profile full up -d
neo4j지식 그래프--profile neo4j
minio객체 스토리지--profile minio
langfuse트레이싱 UI (http://localhost:3000)--profile langfuse

프로필은 여러 개 같이 쓸 수 있다. 중지: docker compose down (-v는 데이터 볼륨까지 지우니 조심).

4) 가입 → 지식 베이스 → 모델

빠른 시작 문서 흐름이다.

  1. 첫 방문은 등록/로그인. 기본은 공개 등록 시 개인 워크스페이스 Owner가 된다. 기본 관리자 계정은 없다.
  2. 「지식 베이스」에서 새 라이브러리 생성(유형 document 또는 faq).
  3. 초기화 마법사에서 대화 모델(LLM)과 임베딩 모델을 고르고 「테스트」로 연결을 확인한다.
  4. 컨테이너에서 호스트 Ollama를 쓸 때는 http://host.docker.internal:11434를 쓴다. 호스트에서 먼저 ollama serve를 띄워야 한다(README 안내).

5) 문서 업로드하고 질문

WeKnora Wiki Browser 화면
WeKnora Wiki Browser(docs/images/wiki-browser.png). Wiki Mode로 생성된 위키 탐색. 출처: GitHub docs/images

파일을 드래그하거나 URL을 붙여 넣는다. 상태는 pending → processing → finalizing → completed로 진행된다. 대화 페이지에서 지식 베이스를 고르면 기본 「빠른 질의응답」에이전트가 조각을 찾아 인용과 함께 답한다.

더 복잡한 일은 에이전트(스마트 추론)로 전환하고, Wiki Mode로 위키·지식 그래프를 돌리면 된다.

WeKnora Wiki 지식 그래프
WeKnora Wiki 지식 그래프(docs/images/wiki-graph.png). 출처: GitHub docs/images

6) 업그레이드

# .env의 WEKNORA_VERSION을 목표 버전(예: 0.8.0)으로 두거나 latest 유지
docker compose pull
docker compose up -d

up -d만 하면 로컬 캐시 이미지를 재사용해 UI 버전이 어긋날 수 있다. 반드시 pull을 먼저 한다.

7) (선택) MCP · CLI · DeepSeek 하네스

  • MCP: pip install tencent-weknora-mcp 또는 uvx --from tencent-weknora-mcp weknora-mcp-server. 설정은 mcp-server/MCP_CONFIG.md. 환경변수 예: WEKNORA_API_KEY, WEKNORA_BASE_URL=http://localhost:8080/api/v1.
  • CLI: weknora profile add / auth login / kb list / doc upload / chat. 헤드리스는 WEKNORA_API_KEY + WEKNORA_HOST.
  • DeepSeek 하네스 플러그인: dsh plugin --profile web add @wxg-prc-cpg/dsh-weknora 후 배포를 가리키면 검색·문서 읽기·질문·KB 목록 도구가 붙는다.

막히는 지점

증상원인(문서 기준)대응
compose가 .env 없다고 실패env_file: [.env] 필수cp .env.example .env 후 재시도
UI는 뜨는데 health 실패앱/postgres/redis/docreader 미준비docker compose ps · docker compose logs --tail=200 app
업로드·파싱이 멈춤파서/큐 문제문서 상세 실패 사유 → docreader·큐 로그(트러블슈팅 FAQ)
에이전트가 “모델 미준비”연결된 모델 누락·설정 불완전모델 관리에서 연결 테스트 후 저장
Ollama 연결 안 됨컨테이너 localhost ≠ 호스트호스트에서 ollama serve + Base URL http://host.docker.internal:11434
업그레이드 후 UI 버전 불일치캐시 이미지 재사용WEKNORA_VERSION 설정 → pull → up -d
스킬은 카탈로그에 있는데 실행 불가카탈로그 등록 ≠ 샌드박스 설치설치 기록·에이전트 샌드박스·스킬 범위 확인
Local 샌드박스를 못 찾음v0.8.0에서 local 백엔드 제거Docker(옵트인)·Cube·E2B로 재설정
.env 수정이 안 반영restart는 env 미재로드docker compose up -d <서비스>로 재생성

보안 메모(README): v0.1.3부터 로그인 인증이 있다. 프로덕션은 내부망에 두고 공개 인터넷에 직접 노출하지 말 것. 방화벽·접근 제어를 맞추고 최신 버전을 유지하라.

로그 확인 예(트러블슈팅):

docker compose ps
docker compose logs --tail=200 app
docker compose logs --tail=200 docreader
docker compose logs --tail=200 postgres redis

마치며

WeKnora는 “문서 올리면 끝나는” RAG를 넘어, ReAct 에이전트와 Wiki Mode까지 한 스택으로 묶은 셀프호스팅 지식 플랫폼이다. 오늘은 Docker Compose로 UI를 띄우고, 모델 두 개(대화·임베딩)만 붙인 뒤 문서 한 묶음으로 Q&A부터 확인하는 순서가 가장 덜 아프다. v0.8.0 기준으로 스킬 샌드박스·장기 기억·MCP가 더 두꺼워졌으니, 기본 경로가 안정되면 Wiki Mode와 에이전트 쪽을 열어 보자.

이 글은 AI가 작성하여 자동 발행된 콘텐츠입니다.