Tools Review

OpenWiki by LangChain: Review Tool Dokumentasi Kode Otomatis Berbasis AI Agent

OpenWiki by LangChain: Review Tool Dokumentasi Kode Otomatis Berbasis AI Agent

Baru-baru ini, LangChain — perusahaan di balik framework AI agent paling populer — ngerilis OpenWiki, open-source CLI tool yang generate dan maintain dokumentasi kode secara otomatis menggunakan AI agent. Dalam 2 minggu pertama, repo-nya dapet 7,264 stars di GitHub. Gw yang udah bertahun-tahun struggle dengan dokumentasi kode yang selalu outdated — langsung tertarik.

Selama 3 tahun terakhir, manage beberapa open-source project dan beberapa internal tools. Masalahnya selalu sama: dokumentasi ditulis dengan antusias di awal project, lalu makin lama makin ditinggal. Kode berubah, fitur baru ditambah, tapi dokumentasi tetep di versi awal. Akhirnya dokumentasi gak pernah dipake — dan developer baru harus baca source code langsung buat ngerti cara pakai tool-nya.

OpenWiki janjiin solusi: AI agent yang otomatis sinkronisasi dokumentasi dengan kode. Lo tinggal jalanin command, dia scan codebase, generate docs, dan update halaman yang berubah. Apakah beneran works? Atau cuma hype AI lagi? Gw test selama seminggu di 3 codebase berbeda: Python library, TypeScript API, dan Go CLI tool.

Apa Itu OpenWiki?

OpenWiki adalah CLI tool + AI agent yang secara otomatis:

  • Scan source code dan extract functions, classes, APIs, types, dan interfaces
  • Generate documentation dalam berbagai format (Markdown, MDX, HTML)
  • Maintain consistency — detect ketika kode berubah dan update docs yang relevan
  • Publish ke platform manapun — GitHub Wiki, GitBook, Docusaurus, atau static site

Yang bikin OpenWiki beda dari tool dokumentasi lain: dia bukan cuma documentation generator kayak JSDoc atau Sphinx yang cuma generate API reference. OpenWiki pake AI agent untuk baca, analisis, dan tulis dokumentasi dalam konteks keseluruhan project. Dia bisa jelasin kenapa suatu fungsi dibuat dan gimana cara pakainya — bukan cuma ngasih type signature.

Instalasi dan Setup

# Install via npm (untuk project Node.js/TypeScript)
npx openwiki init

# Install via pip (untuk project Python)
pip install openwiki

# Atau via binary release
curl -sSf https://openwiki.langchain.com/install.sh | sh

# Init di project lo
cd my-project
openwiki init

Setup cukup simple. Command openwiki init bikin file openwiki.yaml di root project — ini konfigurasi untuk OpenWiki:

# openwiki.yaml — example
version: "1"
project:
  name: "My CLI Tool"
  description: "CLI tool untuk data processing"
  language: python
  
documentation:
  output: "docs/"
  format: "markdown"  # atau "mdx", "html"
  include:
    - "src/**/*.py"
  exclude:
    - "tests/"
    - "**/__pycache__"
    
ai:
  provider: "openai"
  model: "gpt-4o"  # atau "gpt-4o-mini" untuk hemat cost
  api_key: "${OPENAI_API_KEY}"
  
wiki:
  provider: "github"
  repo: "username/my-repo"

Testing di 3 Codebase

Test 1: Python Library (1,200 lines, 15 modules)

Codebase: internal library untuk data validation dan transformation. Struktur cukup tipikal — beberapa modul dengan decorators, type hints, dan docstrings existing.

openwiki generate --source src/
openwiki serve  # preview di http://localhost:3000

Hasil: OpenWiki berhasil generate 12 halaman dokumentasi dalam 2 menit. Quality of generated content: 7/10 untuk fungsi yang ada docstring-nya, 4/10 untuk yang tanpa docstring. Dia extract parameter, return types, dan kasih contoh usage code. Tapi untuk logika bisnis yang kompleks (misal: custom transformer pipeline), deskripsinya terlalu generik dan kadang miss konteks.

Yang impressive: OpenWiki detect cross-module dependencies. Dia tau kalau fungsi A di module 1 dipanggil dari module 2, dan generate "See also" links secara otomatis. Ini sesuatu yang gak bisa dilakukan JSDoc atau Sphinx tanpa konfigurasi manual.

Test 2: Express API (3,200 lines, 25 routes)

Codebase: REST API pakai Express.js + TypeScript. Routes, middleware, controllers, validators. Struktur typical production API dengan JSDoc minimal di beberapa endpoint.

openwiki generate --source src/ --format markdown
openwiki publish --provider github

Hasil: OpenWiki generate API documentation lengkap dengan endpoint lists, request/response schemas, dan error codes. Yang bikin gw surprised: dia bisa parse TypeScript types dan Zod validation schemas, lalu generate proper request body documentation. Contoh — dari Zod schema:

// Source code
const createUserSchema = z.object({
  email: z.string().email(),
  name: z.string().min(3).max(100),
  role: z.enum(['admin', 'user', 'viewer']),
});

// Generated docs (by OpenWiki)
## POST /api/users

**Request Body:**
| Field | Type | Required | Validation |
|-------|------|----------|------------|
| email | string | ✅ | Must be valid email format |
| name | string | ✅ | Length 3-100 characters |
| role | string | ✅ | Must be one of: admin, user, viewer |

**Example:**
```json
{
  "email": "[email protected]",
  "name": "John Doe",
  "role": "user"
}
```

8/10 untuk codebase ini. TypeScript + Zod adalah sweet spot OpenWiki — type system yang ketat bikin AI punya konteks yang jelas untuk generate docs akurat.

Test 3: Go CLI Tool (800 lines)

Codebase: CLI tool untuk file processing dengan Cobra CLI framework. Minimal comments.

Hasil: 5/10. OpenWiki bisa generate basic docs untuk command structure dan flags, tapi quality deskripsinya rendah — kebanyakan generic. Karena Go gak punya rich type system kayak TypeScript, AI punya lebih sedikit konteks untuk generate docs yang meaningful. Plus, Cobra framework pake struct tags yang gak selalu di-parse dengan baik.

Perbandingan dengan Tool Lain

FeatureOpenWikiDocusaurusMKDocsreadme.soJSDoc/Sphinx
Auto-generate docs dari kode✅ AI-powered❌ Manual❌ Manual❌ Manual✅ Template-based
AI context awareness✅ Full project context❌ Only function-level
Auto-update saat kode berubah✅ `openwiki sync`
CI/CD integration✅ GitHub Action✅ Build only✅ Build only✅ Build only
Multi-languagePython, TS, Go, Rust, JavaAny (manual)Any (manual)Any (manual)Python/JS primarily
CostFree + API key (AI cost)FreeFreeFreeFree
Learning curveLow (1 CLI command)MediumLowVery LowMedium
API docs qualityGood (TypeScript best)Depends on manual effortDepends on manual effortBasicGood (structured)

OpenWiki gak intended untuk replace Docusaurus atau MKDocs sepenuhnya — mereka adalah complementary tools. Docusaurus/MKDocs untuk dokumentasi high-level (overview, tutorial, use cases), OpenWiki untuk auto-generated documentation dari kode yang selalu up-to-date. Kombinasi keduanya ideal.

AI Cost Analysis

Pertanyaan paling umum: berapa biaya API untuk pake OpenWiki? Gw hitung dari testing di 3 codebase:

CodebaseLines of CodeAI ModelTokens UsedEstimated CostTime
Python Library1,200GPT-4o45K~$0.152 min
Express API3,200GPT-4o120K~$0.384 min
Go CLI800GPT-4o-mini28K~$0.021 min
Incremental update (sync)~100 changedGPT-4o-mini~8K~$0.00530 sec

Initial generation untuk project medium (~3K lines) biaya sekitar $0.40. Incremental sync (update docs saat kode berubah) biaya kurang dari $0.01 per run. Total setahun: mungkin $5-10 untuk project aktif. Sangat reasonable dibandingkan waktu yang lo hemat — gak nulis dokumentasi manual selama berjam-jam.

Tips: pakai GPT-4o-mini untuk initial generation dan sync sehari-hari. Pakai GPT-4o untuk first-time documentation dari codebase besar (quality lebih baik tapi cost 10x). Hybrid approach: GPT-4o untuk generate first draft, GPT-4o-mini untuk maintenance.

Workflow Integrasi

Setup CI/CD integration biar dokumentasi auto-update tiap kali merge ke main branch:

# .github/workflows/docs.yml
name: Update Documentation

on:
  push:
    branches: [main]
    paths: ['src/**']  # Trigger cuma kalau source code berubah

jobs:
  docs:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
      - run: npm install openwiki
      - run: openwiki sync
        env:
          OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
      - run: openwiki publish --provider github

Workflow ini automatisir maintenance dokumentasi. Setiap commit yang menyentuh source code akan trigger OpenWiki sync — AI agent cek apa yang berubah, update halaman yang relevan, dan publish ke GitHub Wiki. Developer gak perlu mikirin dokumentasi. Dokumentasi tetep fresh tanpa manual effort.

Yang Gw Suka

  • Auto-detect kode yang berubah: OpenWiki pake git diff untuk detect file mana yang berubah, cuma update halaman yang relevan. Gak perlu regenerate seluruh docs. Ini kunci biar cost tetap rendah.
  • Output format fleksibel: Markdown, MDX, HTML. Lo bisa publish ke platform manapun. Pake markdown → GitHub Wiki → beres.
  • Open source: MIT license. Lo bisa self-host atau kontribusi. Kode tersedia di github.com/langchain-ai/openwiki.
  • Minimal setup: 1 CLI command untuk generate docs. Gak perlu template atau config complex. Cocok buat developer yang males dokumentasi.

Yang Kurang

  • Konteks bisnis masih lemah: OpenWiki paham kode, tapi gak paham kenapa suatu fitur dibuat. Business context, architecture decisions, dan trade-off analysis masih harus ditulis manual.
  • Quality tergantung bahasa: TypeScript/Zod dapat hasil terbaik. Go/Rust lebih rendah karena type system yang berbeda dan kurangnya runtime reflection.
  • Vendor lock-in ke OpenAI: Bisa pake LLM lain via API compatible, tapi dokumentasi dan testing paling banyak buat OpenAI. Kalau lo pengen pake local LLM (via Ollama), belum ada official support.
  • Gak support binary/docs untuk non-code: OpenWiki cuma generate technical documentation dari source code. Lo tetep butuh tool lain untuk user guides, tutorials, dan marketing pages.

Kesimpulan: Worth It?

Kalau project lo punya ≥3 module atau ≥2,000 lines of code, OpenWiki worth it banget. Cost $0.40 initial + $0.01/sync per bulan sangat kecil dibandingkan benefit: dokumentasi yang selalu up-to-date tanpa manual effort. Developer bisa fokus nulis kode, OpenWiki yang urus dokumentasi.

Yang perlu diingat: OpenWiki adalah pelengkap, bukan pengganti dokumentasi yang ditulis manusia. 80% technical documentation (API reference, function docs, type definitions) bisa di-generate otomatis. 20% sisanya — architecture overview, design decisions, tutorial — tetap butuh sentuhan manusia. Gunakan OpenWiki untuk 80% yang membosankan, dan lo bisa fokus ke 20% yang impactful.

Kalau lo tertarik dengan tool AI lainnya untuk developer workflow, baca juga review tentang OpenTag: Agent Mentions untuk Slack & GitHub dan perbandingan Agentic AI Tools 2026.

💬 Komentar (0)

Belum ada komentar. Jadilah yang pertama! 💬

Komentar akan muncul setelah moderasi.