GitHub - langchain-ai/openwiki: OpenWiki is a CLI that writes and maintains agent documentation for your codebase.
Service

GitHub - langchain-ai/openwiki: OpenWiki is a CLI that writes and maintains agent documentation for your codebase.

langchain-ai
2026.07.21
·GitHub·by Mineru
#Agent#CLI#Codebase#Documentation#LLM

핵심 포인트

  • 1OpenWiki는 코드베이스나 개인의 지식 소스를 자동으로 수집하여 로컬 위키로 체계화해주는 CLI 도구입니다.
  • 2Git 리포지토리, Notion, Gmail, X/Twitter 등 다양한 커넥터를 지원하며, Google Open Knowledge Format v0.1을 사용하여 문서를 생성 및 관리합니다.
  • 3사용자는 다양한 LLM 제공업체와 연동하여 코드 저장소의 문서를 최신 상태로 유지하고, 이를 AI 에이전트가 참조할 수 있도록 설정할 수 있습니다.

OpenWiki는 코드베이스 및 개인 지식 관리를 자동화하기 위해 설계된 명령줄 인터페이스(CLI) 도구로, 다양한 소스에서 데이터를 수집하여 구조화된 로컬 위키로 합성하는 에이전트 중심의 지식 관리 시스템입니다.

핵심 방법론 및 기능

  1. 운영 모드 (Operational Modes)
    • Code Mode: 현재 작업 중인 저장소(repository) 내부에 문서를 생성 및 유지합니다. openwiki --init 및 --update 명령을 통해 코드베이스의 맥락을 정의하는 AGENTS.md 및 CLAUDE.md 파일을 관리하며, openwiki/ 디렉토리에 위키를 구축합니다.
    • Personal Mode: 개인의 지식 파편을 통합하는 중앙 위키를 ~/.openwiki/wiki/에 구축합니다. 로컬 Git 저장소, Gmail, Notion, Web Search, Hacker News, X/Twitter 등으로부터 정보를 수집합니다.
  1. 데이터 수집 및 합성 (Data Ingestion and Synthesis)
    • Connectors: 설정된 커넥터를 통해 로컬 파일이나 API에서 데이터를 가져와  /.openwiki/connectors/<connector>/raw/~/.openwiki/connectors/<connector>/raw/ 경로에 원시 데이터를 저장합니다. 이후 에이전트가 이를 참조하여 위키 문서를 합성합니다.
    • Open Knowledge Format (OKF): 모든 문서 작성 시 Google의 OKF v0.1 표준을 준수합니다. 각 Markdown 파일은 YAML front matter를 포함하며, index.md와 log.md를 제외한 모든 문서는 type 필드를 가진 개념(concept) 문서로 처리됩니다.
  1. CI/CD 통합
    • GitHub Actions, GitLab CI, Bitbucket Pipelines를 위한 자동화 워크플로우를 제공합니다. 이를 통해 코드 변경 시마다 위키를 자동으로 업데이트하고 Pull Request를 생성함으로써 문서의 최신성을 보장합니다.
  1. 추론 및 인프라 구성
    • Inference Providers: OpenAI, Anthropic, Google Gemini (AI Studio/Vertex AI), AWS Bedrock, OpenRouter 등 다양한 모델 공급자를 지원합니다. 또한 openai-compatible 인터페이스를 통해 Ollama, LM Studio 등 로컬 LLM 서버와의 연동도 가능합니다.
    • 환경 변수 관리: 모든 인증 정보와 API 키는 ~/.openwiki/.env 파일에 안전하게 저장됩니다.

기술적 사양 및 세부 사항

  • 인증 및 보안: OAuth 2.0 및 PKCE 흐름을 지원하며, ngrok을 활용한 로컬 터널링을 통해 Slack 등 서비스와의 콜백 인증을 처리합니다.
  • 추적 및 디버깅: [LangSmith](https://www.langsmith.com/)를 통한 추적 기능을 지원하여 에이전트 실행 과정을 모니터링할 수 있습니다.
  • 텔레메트리: 익명화된 사용 통계(install ID 기반)를 수집하며, OPENWIKITELEMETRYDISABLED=1OPENWIKI_TELEMETRY_DISABLED=1 또는 DONOTTRACK=1DO_NOT_TRACK=1 환경 변수를 통해 비활성화가 가능합니다.
  • 상태 관리 및 재시도: better-sqlite3를 의존성으로 사용하여 체크포인트를 관리하며, OPENWIKI_PROVIDER_RETRY_ATTEMPTS 환경 변수를 통해 공급자 통신 오류 발생 시 재시도 횟수를 제어할 수 있습니다. 기본 재시도 알고리즘은 다음과 같은 로직을 따릅니다:
Rtotal=∑i=1Nretry_attemptiR_{total} = \sum_{i=1}^{N} retry\_attempt_i
(여기서 NN은 기본값 3을 포함한 설정된 시도 횟수)

OpenWiki는 단순히 문서를 생성하는 것을 넘어, 에이전트가 코드를 읽고 이해하는 과정에서 참조할 수 있는 '살아있는 지식 베이스'를 구축하는 데 최적화되어 있습니다.