@kahinmcp/kahin 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +172 -0
- package/package.json +3 -2
package/README.md
ADDED
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# Kahin
|
|
2
|
+
|
|
3
|
+
Chrome DevTools Protocol'unu bilen, doğrulayan ve kontrol eden MCP server.
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
uv pip install kahin
|
|
7
|
+
# opencode/claude code'a ekle:
|
|
8
|
+
# "kahin": { "command": "python3", "args": ["-m", "kahin.oracle"] }
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Ne işe yarar?
|
|
12
|
+
|
|
13
|
+
CDP'yi (Chrome DevTools Protocol) bilirsiniz ya da bilmezsiniz. Kahin bilir.
|
|
14
|
+
|
|
15
|
+
AI modeller Chrome'un içine girip sayfa gezip kod çalıştırabilir ama CDP'yi ezbere bilmezler — hangi domain hangi komutu alır, hangi parametre zorunludur, hangi event ne zaman fırlar bilmezler. Kahin bunu onlara söyler, yanlış yapınca düzeltir, bilmiyorsa öğretir.
|
|
16
|
+
|
|
17
|
+
56 domain, 667 komut, 237 event, 609 type — Chrome 148 protokolü gömülü.
|
|
18
|
+
|
|
19
|
+
## 32 Tool · 6 Kategori
|
|
20
|
+
|
|
21
|
+
| Kategori | Ne işe yarar | Tool sayısı |
|
|
22
|
+
|----------|-------------|-------------|
|
|
23
|
+
| 🧠 CDP Bilgi | Domain/komut/event/type sorgulama, semantik arama | 7 |
|
|
24
|
+
| ✅ Doğrulama | Komut doğrulama, typo tespiti, hata çözümleme | 3 |
|
|
25
|
+
| 🚀 Browser Kontrol | Chrome başlat/durdur, gezin, tıkla, kod çalıştır, ekran görüntüsü | 9 |
|
|
26
|
+
| 🔗 Session | Yeni sayfa aç/kapat, session listele | 4 |
|
|
27
|
+
| 🔍 Debug | CDP event geçmişi, network istekleri, console mesajları | 4 |
|
|
28
|
+
| 📈 Pattern DB | Kullanım desenlerini öğren, sorgula, öner | 5 |
|
|
29
|
+
|
|
30
|
+
## Bir satırda özet
|
|
31
|
+
|
|
32
|
+
CDP'yi bilmeyen AI'a Chrome'u kontrol etmeyi öğreten, yanlış yapınca düzelten, her şeyi loglayan MCP.
|
|
33
|
+
|
|
34
|
+
## Kurulum
|
|
35
|
+
|
|
36
|
+
Zorunlu: Python 3.12+ · Chrome/Chromium (otomatik kurulur, repo klonlamaya gerek yok)
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
pnpm add -g kahin
|
|
40
|
+
kahin --upgrade # ilk çalıştırmada Python ortamını kurar (~30 sn)
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
`kahin` çalışınca MCP stdio server'ı başlar. Python ortamı `~/.local/share/kahin/` altında yönetilir; `kahin --upgrade` ile en yeni sürüme geçilir.
|
|
44
|
+
|
|
45
|
+
Kaynak kodunla geliştirme:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
git clone https://github.com/void0x14/cdp-kahin-mcp
|
|
49
|
+
cd cdp-kahin-mcp
|
|
50
|
+
uv venv && source .venv/bin/activate
|
|
51
|
+
uv pip install -e .
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### opencode'a ekle
|
|
55
|
+
|
|
56
|
+
`~/.config/opencode/opencode.json`:
|
|
57
|
+
|
|
58
|
+
```json
|
|
59
|
+
"kahin": {
|
|
60
|
+
"type": "local",
|
|
61
|
+
"command": ["kahin"],
|
|
62
|
+
"enabled": true
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Claude Code'a ekle
|
|
67
|
+
|
|
68
|
+
`doggystyle/.mcp.json` veya herhangi bir projenin köküne:
|
|
69
|
+
|
|
70
|
+
```json
|
|
71
|
+
{
|
|
72
|
+
"mcpServers": {
|
|
73
|
+
"kahin": {
|
|
74
|
+
"command": "kahin",
|
|
75
|
+
"args": []
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Kullanım
|
|
82
|
+
|
|
83
|
+
AI modeline şunu söyle: **"Kahin MCP'sini kullan."**
|
|
84
|
+
|
|
85
|
+
Gerisini AI halleder. Ama dilersen tool'ları direkt de çağırabilirsin:
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
→ kahin_list_domains → 56 domain listeler
|
|
89
|
+
→ kahin_get_command(Page,navigate) → parametreleri gösterir
|
|
90
|
+
→ kahin_validate_command(Page,navigate) → doğrular
|
|
91
|
+
→ kahin_browser_start → navigate → extract → screenshot → stop
|
|
92
|
+
→ kahin_error_decode(error_code=-32601) → hatayı çözümler
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Tam liste için: [AGENTS.md](AGENTS.md)
|
|
96
|
+
|
|
97
|
+
## Proje Felsefesi
|
|
98
|
+
|
|
99
|
+
- **Tahmin yok, bilgi var.** AI tahmin etmez, Kahin'in gömülü CDP şemasına bakar.
|
|
100
|
+
- **Hata kabul, eğitim zorunlu.** Yanlış komut gelince düzeltir, neden yanlış olduğunu söyler.
|
|
101
|
+
- **Minimal bağımlılık.** Temel işlevler için 7 paket, hiçbiri ağır değil.
|
|
102
|
+
- **Her şey loglanır.** `kahin/logs/kahin.log` — JSON satırları, her hata kayıt altında.
|
|
103
|
+
|
|
104
|
+
## Bağımlılıklar
|
|
105
|
+
|
|
106
|
+
mcp · orjson · Levenshtein · websockets · httpx · camoufox · Pillow
|
|
107
|
+
|
|
108
|
+
## Port Uyarısı
|
|
109
|
+
|
|
110
|
+
| Port | Kimin | Kullanma |
|
|
111
|
+
|------|-------|----------|
|
|
112
|
+
| 9222 | Chrome DevTools | RESERVED |
|
|
113
|
+
| 9240 | Kusatma Engine | RESERVED |
|
|
114
|
+
| 9241 | Obscura (varsayılan) | Kahin kullanır |
|
|
115
|
+
| 9242 | Mirage (varsayılan) | Kahin kullanır |
|
|
116
|
+
|
|
117
|
+
## Kendi Kendini Onarma
|
|
118
|
+
|
|
119
|
+
Kahin'de hata loglama ve kendini onarma sistemi gömülüdür:
|
|
120
|
+
|
|
121
|
+
- Hatalar `kahin/logs/kahin.log` dosyasına JSON satırları halinde yazılır
|
|
122
|
+
- Bağlantı kopması, engine çökmesi, session kaybı gibi durumlarda otomatik kurtarma dener
|
|
123
|
+
- `kahin_healer_stats` ile hata istatistikleri sorgulanabilir
|
|
124
|
+
|
|
125
|
+
## Mimari
|
|
126
|
+
|
|
127
|
+
```
|
|
128
|
+
oracle.py → MCP server (32 tool, giriş kapısı)
|
|
129
|
+
_healer.py → Hata yönetimi, loglama, kendini onarma
|
|
130
|
+
the_source/architect → CDP şema motoru (56 domain, 667 komut)
|
|
131
|
+
the_twins/shadow → Obscura engine (gerçek Obscura binary, WebSocket CDP)
|
|
132
|
+
the_twins/mirage → Mirage engine (stealth, anti-detection)
|
|
133
|
+
the_twins/chassis → Ortak engine arayüzü (abstract)
|
|
134
|
+
residual_self/fate → Pattern DB (öğrenme, sorgulama, önerme)
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## 🗺️ Yol Haritası
|
|
140
|
+
|
|
141
|
+
- [ ] **Juggler protokolü** için de uçtan uca dökümantasyon,kullanım ve pratik örnekleri desteği eklenmesi
|
|
142
|
+
- [x] **Camoufox entegrasyonu tamamlandı** — gerçek Camoufox (Zig sidecar + Juggler pipe) ile native çalışıyor; engine seçimi ajan tarafından `shadow`/`mirage` parametresiyle yapılıyor
|
|
143
|
+
- [x] **Obscura entegrasyonu tamamlandı** — gerçek Obscura binary'si (WebSocket CDP) ile çalışıyor, startup problemleri giderildi
|
|
144
|
+
- [ ] **SKILLS** destekleri ve konfigre edilebilir kişsiel hazır skills oluşturma özelliği
|
|
145
|
+
- [x] **Tek tık kurulum** — `pnpm add -g kahin`, sonra `kahin` (ilk çalıştırmada Python ortamını otomatik kurar)
|
|
146
|
+
- [ ] **Zero-dependency** hedefi (Go/Rust portu)
|
|
147
|
+
- [ ] **LSP modu** — kod içinde hata yakalama, AI'a yanlışını yüzüne vurma
|
|
148
|
+
- [ ] **Tool sayısı 50+** — eksik CDP domain tool'ları
|
|
149
|
+
|
|
150
|
+
- [ ] **Gerçek zamanlı izleme** — AI'ın Kahin'i nasıl kullandığını canlı gör
|
|
151
|
+
- [ ] **Web dashboard** — tool çağrıları, hata oranları, trendler
|
|
152
|
+
- [ ] **MCP Ekosistemi** — üçüncü taraf MCP'lere proxy/entegrasyon
|
|
153
|
+
- [x] **CLI aracı** — `kahin` komutu ile hızlı sorgulama (npm launcher, `pnpm add -g kahin`)
|
|
154
|
+
- [ ] **Pasif tarama** — arka planda CDP event'lerini izle, değişiklik olunca bildir
|
|
155
|
+
- [ ] **Dokümantasyon sitesi** — kapsamlı kullanım kılavuzu
|
|
156
|
+
|
|
157
|
+
- [ ] **CDP derleyici** — yeni Chrome sürümlerini otomatik tanıyıp şemayı güncelle
|
|
158
|
+
- [ ] **Plugin sistemi** — herkes kendi CDP tool'unu yazıp ekleyebilir
|
|
159
|
+
- [ ] **All-in-one MCP** — sadece CDP değil, browser kontrolünün tek adresi
|
|
160
|
+
- [ ] **AI davranış analizi** — hangi tool ne sıklıkta kullanılmış, hata trendleri
|
|
161
|
+
- [ ] **Paylaşımlı oturum** — ekibin MCP'sini tek merkezden yönet
|
|
162
|
+
- [ ] **İleri kendini onarma** — öngörülü hata önleme, otomatik düzeltme
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## Geliştirme
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
.venv/bin/pytest tests/ # 66 test, 0 failed
|
|
170
|
+
.venv/bin/ruff check kahin/ # lint
|
|
171
|
+
.venv/bin/python -m kahin.oracle # manuel başlatma
|
|
172
|
+
```
|
package/package.json
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kahinmcp/kahin",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Kahin — CDP ansiklopedisi + anti-detect browser otomasyon MCP sunucusu. Obscura ve Camoufox motorlarını kullanır, motor seçimini ajana bırakır.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"kahin": "bin/kahin.mjs"
|
|
7
7
|
},
|
|
8
8
|
"files": [
|
|
9
9
|
"bin",
|
|
10
|
-
"wheel"
|
|
10
|
+
"wheel",
|
|
11
|
+
"LICENSE"
|
|
11
12
|
],
|
|
12
13
|
"engines": {
|
|
13
14
|
"node": ">=18"
|