WeKnora
무엇인가
WeKnora는 문서 이해·시맨틱 검색·자율 추론을 하나의 서버로 묶은 자체 호스팅 지식 플랫폼이다. 라이브러리가 아니라 배포 가능한 서비스이며, Go 백엔드와 웹 프론트엔드, 문서 파서(docreader), MCP 서버로 나뉜다. LLM 애플리케이션과 원본 문서 저장소 사이에서 검색·추론 계층을 대신 맡는다.
어떻게 동작하나
수집 단계에서 Feishu 위키·Feishu Drive, GitLab, Tencent IMA, Notion, Yuque, RSS 커넥터가 문서를 가져오고, PDF·Word·이미지·Excel·XMind 등 10여 개 포맷을 파싱한다. Office 파일은 anydoc으로 프로세스 안에서 파싱한다. 파싱된 텍스트는 청크로 분할되어 임베딩되고 벡터 DB에 저장되며, 업로드 경로는 트리 구조 폴더로 그대로 보존된다. 질의 시에는 검색된 청크를 리랭크한 뒤 ReAct 에이전트가 검색, MCP 도구, 웹 검색, 세션 지속형 Docker·E2B·Cube 샌드박스를 조합해 다단계 작업을 처리한다. Wiki 모드에서는 에이전트가 원본 문서를 상호 링크된 마크다운 지식베이스로 정제하고 지식 그래프를 만든다.
무엇과 다른가
일반적인 RAG 라이브러리나 채팅 UI와 달리 워크스페이스 단위 RBAC(4단계 역할 행렬), 리소스별 소유권, 워크스페이스별 감사 로그, 스코프가 제한된 API 키를 갖춘 서비스다. 워크스페이스마다 스토리지 백엔드를 다르게 지정할 수 있고 LLM·벡터 DB·스토리지 구현을 교체할 수 있다. WeCom, Feishu, Slack, Telegram, QQBot, Yunzhijia 같은 IM 채널로 Q&A를 직접 응답하고, 웹사이트 임베드 위젯으로 에이전트를 외부 사이트에 게시한다.
어떻게 쓰나
배포는 모듈 단위 자체 호스팅을 전제로 하며, 공식 문서 사이트는 Docker/Nginx로 단독 배포한다. LLM 제공자(OpenAI, DeepSeek, Qwen, Zhipu, Hunyuan, Gemini, MiniMax, NVIDIA, LiteLLM, Ollama 등)와 벡터 DB, 스토리지 백엔드를 설정한 뒤 문서를 업로드하면 인덱싱이 시작된다. 외부 에이전트에서는 PyPI 패키지 tencent-weknora-mcp로 MCP 서버를 연결한다. Langfuse를 붙이면 에이전트 추론·토큰 사용·파이프라인 추적이 OTLP/OTel과 W3C traceparent 전파로 수집된다.
전제와 한계
자체 호스팅이 전제이므로 LLM 제공자 자격 증명과 벡터 DB·스토리지 백엔드가 필요하다. 스킬 샌드박스는 Docker·E2B·Cube 백엔드만 남았고 로컬 호스트 프로세스 백엔드는 제거되었으며 Docker 사용은 옵트인이다. 데이터 소스 연동은 나열된 커넥터 범위에 한정되고 문서 포맷도 10여 개로 제한된다. Langfuse 관측성과 IM 연동은 해당 외부 서비스 계정이 있어야 동작한다.
관련 논문 4
유사 도구
- ragflow비정형 문서를 파싱·청킹해 검색 증강 생성 파이프라인과 에이전트 워크플로를 한 엔진에서 돌리는 오픈소스 RAG 서버다.
- DEEIX-Chat여러 모델 제공자를 하나의 진입점으로 묶어 멀티모달 채팅, 파일 RAG, MCP 도구, 과금, 감사를 한 제품에 담은 Go 기반 자체 호스팅 AI 플랫폼이다.
- onyxLLM 애플리케이션 계층으로, RAG·웹 검색·코드 실행·에이전트를 갖춘 셀프호스팅 AI 채팅 플랫폼이다. 50개 이상 커넥터로 사내 데이터를 색인한다.
- difyLLM 애플리케이션을 워크플로·RAG·에이전트·모델 관리·관측까지 한 워크스페이스에서 만들고, 클라우드나 셀프호스팅으로 배포하는 오픈소스 플랫폼이다.
- synthadocPDF·스프레드시트·영상 등 원본 문서를 LLM으로 컴파일해 출처 인용이 붙은 로컬 Markdown 위키로 만드는 Python CLI다.
- trpc-agent-goGo로 프로덕션 에이전트 시스템을 만드는 프레임워크다. 그래프 워크플로, 도구 호출, 메모리, A2A·AG-UI·MCP 연동, 평가, OpenTelemetry 관측성을 한 스택에 담는다.