@kahinmcp/kahin 0.3.4 → 0.3.5
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/CHANGELOG.md +27 -0
- package/README.md +17 -5
- package/bin/setup.mjs +1 -1
- package/docs/juggler-ai-native.md +17 -4
- package/lib/kahin-0.3.5-py3-none-any.whl +0 -0
- package/package.json +2 -2
- package/lib/kahin-0.3.4-py3-none-any.whl +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.3.5] — 2026-08-06
|
|
4
|
+
|
|
5
|
+
### Düzeltilen
|
|
6
|
+
- `kahin_browser_start()` artık varsayılan olarak gerçek Camoufox/Mirage
|
|
7
|
+
başlatıyor; screenshot, mobile viewport, screencast, upload ve accessibility
|
|
8
|
+
çağrıları Shadow seçilmiş olsa bile Kahin içinde görsel backend'e yükseltiliyor.
|
|
9
|
+
- Yeni capability sözleşmesi `kahin_engine_health` yanıtında motorun gerçek
|
|
10
|
+
görsel/mobile/DOM-stream/a11y/screencast sınırlarını raporluyor; generic
|
|
11
|
+
`kahin_screenshot` ve `Page.captureScreenshot` yolu dış otomasyon fallback'i
|
|
12
|
+
kullanmadan Camoufox'a geçiyor.
|
|
13
|
+
- Shadow/Obscura artık bağımsız MCP/OpenCode süreçleri arasında sabit `9241`
|
|
14
|
+
portunu paylaşmıyor; varsayılan başlatma her child için geçici loopback portu
|
|
15
|
+
kullanıyor ve gerçek portu raporluyor.
|
|
16
|
+
- Port çakışmasında ikinci child'ın yabancı browser WebSocket'ine bağlanıp
|
|
17
|
+
yanlışlıkla `started` dönmesi engellendi; child kararlılığı doğrulanmadan
|
|
18
|
+
engine state'e yayınlanmıyor ve başarısız child temizleniyor.
|
|
19
|
+
- Mirage/Zig sidecar shutdown cancellation path'i child ve IPC kaynaklarını
|
|
20
|
+
güvenle temizliyor.
|
|
21
|
+
|
|
22
|
+
### Testler
|
|
23
|
+
- İki bağımsız Shadow instance'ı ve explicit port çakışması gerçek Obscura
|
|
24
|
+
binary'siyle regresyon testine alındı.
|
|
25
|
+
- Shadow -> Camoufox screenshot handoff ve varsayılan motor gerçek browser ile
|
|
26
|
+
doğrulandı.
|
|
27
|
+
- Python runtime suite: 115 passed; Zig sidecar tests/build: passed.
|
|
28
|
+
|
|
3
29
|
## [0.3.4] — 2026-08-05
|
|
4
30
|
|
|
5
31
|
### Eklenen
|
|
@@ -123,6 +149,7 @@ Tüm önemli değişiklikler bu dosyada tutulur. Format: [Keep a Changelog](http
|
|
|
123
149
|
- CDP ansiklopedisi: 56 domain, 667 komut, 237 event, 609 type (Chrome 148)
|
|
124
150
|
|
|
125
151
|
[0.3.4]: https://gitlab.com/void0x14/kahin-mcp/-/compare/v0.3.3...v0.3.4
|
|
152
|
+
[0.3.5]: https://gitlab.com/void0x14/kahin-mcp/-/compare/v0.3.4...v0.3.5
|
|
126
153
|
[0.3.3]: https://gitlab.com/void0x14/kahin-mcp/-/compare/v0.3.2...v0.3.3
|
|
127
154
|
[0.3.2]: https://gitlab.com/void0x14/kahin-mcp/-/compare/v0.3.1...v0.3.2
|
|
128
155
|
[0.2.0]: https://gitlab.com/void0x14/kahin-mcp/-/compare/v0.1.8...v0.2.0
|
package/README.md
CHANGED
|
@@ -87,7 +87,13 @@ Gerisini AI halleder. Ama dilersen tool'ları direkt de çağırabilirsin:
|
|
|
87
87
|
→ kahin_error_decode(error_code=-32601) → hatayı çözümler
|
|
88
88
|
```
|
|
89
89
|
|
|
90
|
-
|
|
90
|
+
`kahin_browser_start` varsayılan olarak Camoufox/Mirage başlatır. Shadow
|
|
91
|
+
yalnızca hızlı, görsel olmayan CDP işleri için açıkça seçilir; screenshot,
|
|
92
|
+
mobile viewport, screencast, upload veya accessibility isteyen bir tool,
|
|
93
|
+
Shadow'ı Kahin içinde Camoufox'a yükseltir. Ajanın başka bir otomasyon
|
|
94
|
+
kütüphanesine geçmesi gerekmez.
|
|
95
|
+
|
|
96
|
+
Camoufox (Juggler native) ile:
|
|
91
97
|
|
|
92
98
|
```
|
|
93
99
|
→ kahin_browser_start(engine="mirage")
|
|
@@ -130,8 +136,13 @@ mcp · orjson · Levenshtein · websockets · httpx · camoufox · Pillow · pyd
|
|
|
130
136
|
|------|-------|----------|
|
|
131
137
|
| 9222 | Chrome DevTools | RESERVED |
|
|
132
138
|
| 9240 | Kusatma Engine | RESERVED |
|
|
133
|
-
| 9241 | Obscura
|
|
134
|
-
|
|
|
139
|
+
| 9241 | Eski Shadow/Obscura sabit portu | Varsayılan olarak kullanılmaz |
|
|
140
|
+
| — | Mirage/Camoufox | TCP portu yok; Juggler stdio pipe kullanır |
|
|
141
|
+
|
|
142
|
+
Shadow/Obscura için `kahin_browser_start` port verilmeden çağrıldığında Kahin,
|
|
143
|
+
her child için loopback üzerinde kernel'den geçici bir port alır. Böylece aynı
|
|
144
|
+
makinedeki bağımsız MCP/OpenCode süreçleri birbirlerinin WebSocket'ine bağlanmaz.
|
|
145
|
+
Sabit port yalnızca özellikle `port=...` verildiğinde kullanılır.
|
|
135
146
|
|
|
136
147
|
## Kendi Kendini Onarma
|
|
137
148
|
|
|
@@ -146,7 +157,8 @@ Kahin'de hata loglama ve kendini onarma sistemi gömülüdür:
|
|
|
146
157
|
```
|
|
147
158
|
oracle.py → MCP server (bootstrap: mcp instance + engine lifecycle + main)
|
|
148
159
|
tools/ → 109 tool, engine-ayrımlı kategori dosyaları
|
|
149
|
-
_common.py → _safe_cdp, _require_engine, _auto_learn
|
|
160
|
+
_common.py → capability routing, _safe_cdp, _require_engine, _auto_learn
|
|
161
|
+
the_twins/capabilities → motor-yetenek sözleşmesi ve Mirage yükseltme matrisi
|
|
150
162
|
grimoire/seraph/prophecy/healer → CDP bilgi + doğrulama + pattern (paylaşılan)
|
|
151
163
|
pilot/trainman/dejavu → browser/session/debug (paylaşılan)
|
|
152
164
|
pilot_mirage/trainman_mirage/dejavu_mirage → Camoufox DOM+Input+PageEx / Tab / Network+Console
|
|
@@ -167,7 +179,7 @@ camoufox-harness/ → Zig sidecar (Juggler protocol, vendor binary gömül
|
|
|
167
179
|
## 🗺️ Yol Haritası
|
|
168
180
|
|
|
169
181
|
- [x] **Juggler protokolü** için AI-native uçtan uca dokümantasyon, kullanım ve pratik örnekleri
|
|
170
|
-
- [x] **Camoufox entegrasyonu tamamlandı** — gerçek Camoufox (Zig sidecar + Juggler pipe)
|
|
182
|
+
- [x] **Camoufox entegrasyonu tamamlandı** — gerçek Camoufox (Zig sidecar + Juggler pipe) varsayılandır; görsel capability isteyen Shadow çağrıları Kahin içinde Mirage'a yükseltilir
|
|
171
183
|
- [x] **Obscura entegrasyonu tamamlandı** — gerçek Obscura binary'si (WebSocket CDP) ile çalışıyor, startup problemleri giderildi
|
|
172
184
|
- [ ] **SKILLS** destekleri ve konfigre edilebilir kişsiel hazır skills oluşturma özelliği
|
|
173
185
|
- [x] **Tek tık kurulum** — `pnpm add -g @kahinmcp/kahin`, sonra `kahin` (ilk çalıştırmada Python ortamını otomatik kurar)
|
package/bin/setup.mjs
CHANGED
|
@@ -324,7 +324,7 @@ export function setup() {
|
|
|
324
324
|
const KAHIN_HOME = process.env.KAHIN_HOME || join(homedir(), ".local", "share", "kahin");
|
|
325
325
|
const KAHIN_VENV = join(KAHIN_HOME, "venv");
|
|
326
326
|
const KAHIN_PY = process.platform === "win32" ? join(KAHIN_VENV, "Scripts", "python.exe") : join(KAHIN_VENV, "bin", "python");
|
|
327
|
-
const KAHIN_WHEEL = join(dirname(fileURLToPath(import.meta.url)), "..", "lib", "kahin-0.3.
|
|
327
|
+
const KAHIN_WHEEL = join(dirname(fileURLToPath(import.meta.url)), "..", "lib", "kahin-0.3.5-py3-none-any.whl");
|
|
328
328
|
|
|
329
329
|
// Gömülü wheel'i venv'e kurar. Postinstall'da ve `kahin setup`'ta çalışır.
|
|
330
330
|
// PyPI'a bağımlı DEĞİL — wheel paketle birlikte gelir.
|
|
@@ -14,7 +14,13 @@ MCP tool
|
|
|
14
14
|
-> Camoufox Page/Browser
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
- `
|
|
17
|
+
- `kahin_browser_start` varsayılan olarak bir Camoufox süreci ve tek bir
|
|
18
|
+
sidecar başlatır. `engine="shadow"` yalnızca hızlı, görsel olmayan CDP
|
|
19
|
+
işleri için açıkça seçilir.
|
|
20
|
+
- Shadow aktifken screenshot, mobile emulation, accessibility, upload veya
|
|
21
|
+
screencast isteyen bir tool çağrısı, aktif URL'i koruyarak Kahin içinde
|
|
22
|
+
Shadow -> Mirage yükseltmesi yapar. Ajanın Playwright ya da başka bir
|
|
23
|
+
otomasyon kütüphanesine geçmesi sözleşme dışıdır.
|
|
18
24
|
- İlk sayfa ilk sayfa tool'u çağrıldığında tembel olarak oluşturulur.
|
|
19
25
|
- Aynı browser'ı ve aktif sekmeyi yeniden kullan. Başka sayfa gerektiğinde
|
|
20
26
|
yeni browser açmak yerine `kahin_mirage_tab_new` ve
|
|
@@ -22,8 +28,9 @@ MCP tool
|
|
|
22
28
|
- Juggler'da `Browser.*` browser köküne, `Page.*` ise aktif target/session'a
|
|
23
29
|
aittir. MCP araçları session routing'i ajandan saklar.
|
|
24
30
|
- `kahin_execute_cdp`, Mirage aktifken desteklenen CDP çağrılarını Juggler
|
|
25
|
-
eşdeğerine yönlendirir;
|
|
26
|
-
|
|
31
|
+
eşdeğerine yönlendirir; görsel capability isteyen bilinen çağrılar Shadow
|
|
32
|
+
aktifse önce Mirage'a yükseltilir. Juggler'da bulunmayan her CDP domain'i
|
|
33
|
+
varmış gibi tahmin etme.
|
|
27
34
|
|
|
28
35
|
## 2. Ajanın temel protokolü
|
|
29
36
|
|
|
@@ -346,6 +353,12 @@ tool'ları `engine="mirage"` aktifken kullanılır.
|
|
|
346
353
|
- `kahin_mirage_screencast_start`, `kahin_mirage_screencast_frame`
|
|
347
354
|
- `kahin_mirage_screencast_stop`, `kahin_mirage_screencast_pending`
|
|
348
355
|
|
|
356
|
+
`kahin_mirage_screencast_frame(fresh=true)`, önceki çağrıların ACK edilmiş
|
|
357
|
+
ama henüz kuyrukta kalan frame'lerini temizler ve çağrıdan sonra gelen ilk
|
|
358
|
+
frame'i bekler. Sayfa mutation'ı veya viewport değişiminden sonra görsel
|
|
359
|
+
doğrulama için bu yol kullanılmalıdır; varsayılan `fresh=false` ise kuyruktaki
|
|
360
|
+
en eski frame FIFO olarak döner.
|
|
361
|
+
|
|
349
362
|
### Accessibility ve health (2)
|
|
350
363
|
|
|
351
364
|
- `kahin_mirage_accessibility_tree`
|
|
@@ -391,7 +404,7 @@ dom_events(after_seq=C, stream_id=S, frame_id=F, wait_ms=5000)
|
|
|
391
404
|
|
|
392
405
|
| Hata/sinyal | Sebep | Kurtarma |
|
|
393
406
|
|---|---|---|
|
|
394
|
-
| `Browser engine is not running` | Start yok | `kahin_browser_start(
|
|
407
|
+
| `Browser engine is not running` | Start yok | `kahin_browser_start()` |
|
|
395
408
|
| `Browser engine is dead` | Sidecar/Camoufox öldü | `kahin_browser_stop`, sonra yeni `start` |
|
|
396
409
|
| `stale_node` | Node silindi veya document değişti | Snapshot + yeni nodeId |
|
|
397
410
|
| `reset`/`dropped` | Stream değişti veya ring overflow | Snapshot; eski cursor'u bırak |
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kahinmcp/kahin",
|
|
3
|
-
"version": "0.3.
|
|
4
|
-
"description": "Kahin — CDP ansiklopedisi + anti-detect browser otomasyon MCP sunucusu. Kurulumda 22 AI CLI aracını otomatik tespit edip kendini kaydeder.
|
|
3
|
+
"version": "0.3.5",
|
|
4
|
+
"description": "Kahin — CDP ansiklopedisi + anti-detect browser otomasyon MCP sunucusu. Kurulumda 22 AI CLI aracını otomatik tespit edip kendini kaydeder. Camoufox görsel varsayılandır; Obscura hızlı CDP işleri için opt-in'dir.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"kahin": "bin/kahin.mjs"
|
|
7
7
|
},
|
|
Binary file
|