Bugün, kod tabanları için dokümantasyon oluşturan ve bakımını yapan açık kaynaklı bir ajan ve CLI olan OpenWiki'yi yayınlıyoruz.
Ajanlar, üzerinde çalıştıkları repoyu anladıklarında daha iyi kod yazarlar. Anahtar mantığın nerede olduğunu, dosyaların nasıl bağlandığını ve kod tabanının hangi kalıpları beklediğini bilmeleri gerekir. İyi dokümantasyon, ajanlara bu bağlamı verir, bu da daha bilinçli kod değişiklikleri ve daha az önlenebilir hata anlamına gelir.
Sorun şu ki dokümantasyonu güncel tutmak zordur. İlk dokümanları yazmak zaman alır ve kod her değiştiğinde onları güncellemek daha da zordur. Sık PR'ların olduğu büyük repolarda dokümanlar hızla güncelliğini yitirebilir.
OpenWiki bu işi otomatik olarak halleder. Reponuz için bir wiki oluşturur, bu wiki'yi kodlama ajanınıza bağlar ve kodunuz değiştikçe güncel tutar.
Ajanlar için wiki'ler neden önemli
Mevcut kod tabanı wiki çalışmalarından ilham aldık: DeepWiki, AutoWiki ve Karpathy'nin LLM Wiki konsepti. Ortak fikir basit: Bir wiki, insanlara ve ajanlara tüm bağlamı tek bir dev dosyaya zorlamadan kod tabanını anlamak için yapılandırılmış bir yol sunar.
Bu önemli çünkü çoğu kodlama ajanı zaten talimatlar için AGENTS.md veya CLAUDE.md gibi dosyaları okur. Bu dosyalar yararlıdır, ancak yüzlerce sayfalık repo dokümantasyonunu depolamak için doğru yer değildir. Ajanı doğru bağlama yönlendirmeli, ardından ajanın ihtiyacı olanı almasına izin vermelidir.
OpenWiki bu modeli izler. Bir repo wiki'si oluşturur, ardından ajan talimat dosyalarınızı bu wiki'ye bir referansla günceller. Oradan, kodlama ajanınız dokümanları otomatik olarak keşfedebilir ve kullanabilir.
Başlarken
OpenWiki, komut satırından çalıştırması kolay olacak şekilde tasarlanmıştır.
NPM ile kurun:
1npm install -g openwiki
ardından çalıştırın:
1openwiki --init

init komutu bir model sağlayıcı ve API anahtarı ister, ardından reponuz için dokümantasyon oluşturur.
OpenWiki, OpenRouter, Fireworks, Baseten, OpenAI ve Anthropic dahil olmak üzere hem açık hem de kapalı model sağlayıcılarını destekler. Varsayılan olarak, açık bir modelle OpenRouter kullanır, ancak kurulumunuz için en iyi çalışan sağlayıcıyı yapılandırabilirsiniz.
OpenWiki, DeepAgents üzerine inşa edildiğinden, LangSmith ile izlemeyi de destekler. Bir LangSmith API anahtarı sağlarsanız, OpenWiki çalıştırmaları bir LangSmith projesine izler, böylece ajanın dokümanlarınızı oluştururken veya güncellerken tam olarak ne yaptığını inceleyebilirsiniz.
OpenWiki kodlama ajanınıza nasıl bağlanır
Wiki'yi oluşturduktan sonra OpenWiki, reponuzun ajan talimat dosyalarını günceller. Reponuz AGENTS.md, CLAUDE.md veya her ikisini de kullanıyorsa, OpenWiki oluşturulan wiki'ye bir referans ekler ve ajanın ne zaman kullanması gerektiğini açıklar.
Bu yaklaşımı seçtik çünkü tüm wiki'yi bir talimat dosyasının içine koymak çok fazla bağlam eklerdi. Büyük bir repoda wiki yüzlerce dosyaya yayılabilir. Bunların hepsini her ajan çalıştırmasına yüklemek israf olur ve bakımı zor olurdu.
Kısa bir referans daha iyi çalışır. Kodlama ajanınız zaten talimat dosyasını okur. OpenWiki referansı ekledikten sonra ajan, iş akışınızı değiştirmenizi gerektirmeden repo bağlamına ihtiyaç duyduğunda wiki'yi bulabilir.
Wiki'yi güncel tutmak
Dokümanları bir kez oluşturmak yararlıdır. Onları güncel tutmak, OpenWiki'nin daha değerli hale geldiği yerdir.
OpenWiki, örneğin günde bir kez olmak üzere zamanlanmış olarak çalışabilen bir GitHub Action içerir. Action, update bayrağıyla OpenWiki'yi çalıştırır. OpenWiki, son çalıştırmadan bu yana hangi commit'lerin geldiğini kontrol eder, neyin değiştiğini anlamak için git diff'leri kullanır, ardından wiki'yi ilgili bağlamla günceller.
Bu, iş akışının arka planda çalışabileceği anlamına gelir. Kod tabanınız değiştikçe OpenWiki dokümantasyonu günceller. Kodlama ajanınız, mevcut talimat dosyası referansı aracılığıyla en son wiki'yi almaya devam eder.
Öncelikle kod tabanları için yapıldı
Bu ilk sürüm, kod tabanları için wiki'lere odaklanıyor. Amaç, geliştiricilerden manuel olarak ayrıntılı dokümanlar yazmalarını ve bakımını yapmalarını istemeden, ajanların üzerinde çalıştıkları repoları anlamalarını kolaylaştırmak.
Zamanla, OpenWiki konseptinin daha geniş çapta uygulanabileceğini düşünüyoruz. Ajanların sadece kodlama değil, birçok iş türü için kalıcı bağlama ihtiyacı vardır. Kod tabanı dokümantasyonu ilk kullanım durumu, ancak aynı kalıp ajanların diğer iş akışlarında da yararlı bağlamı korumalarına yardımcı olabilir.
Deneyin
OpenWiki açık kaynaklıdır ve şu anda kullanılabilir.
Kurabilir, openwiki --init çalıştırabilir ve birkaç dakika içinde reponuz için bir wiki oluşturabilirsiniz.
Repoya buradan göz atın: https://github.com/langchain-ai/openwiki ve anlatım videosunu izleyin: https://youtu.be/nIVu3zfYprI





