wormclaude
v1.0.133
Published
WormClaude CLI - uncensored security+code assistant (ink TUI, Claude-style)
Maintainers
Readme
WormClaude CLI
Qwen 2.5 tabanlı, OpenAI-uyumlu backend'e bağlanan uçbirim (ink TUI) AI kodlama/güvenlik asistanı. Claude Code'un araç/komut/agent mimarisinin yerel, bulut-bağımsız uyarlamasıdır.
📁 Dosya dosya: ne eklendi
Yeni dosyalar (src/) — bu oturumda sıfırdan eklendi
| Dosya | Ne yapar |
|-------|----------|
| agent.ts | Yeniden kullanılabilir tool-calling döngüsü (runAgentLoop) — alt-agent çekirdeği. completeText() tek-seferlik yanıt yardımcısı. |
| commands.ts | 18 slash komutu (/help /clear /compact /context /cost /config /model /diff /commit /review /init /memory /doctor /mcp /tasks /kill /dream /export /resume /quit). |
| tasks.ts | Arka plan görev kayıt defteri (registry) — shell/agent/dream görevleri, durum/çıktı izleme, EventEmitter. |
| mcp.ts | MCP istemcisi (resmi @modelcontextprotocol/sdk). .wormclaude/mcp.json'dan sunucu okur, araçları OpenAI şemasına çevirir. |
| usage.ts | Billing/token ölçümü — model-bazlı maliyet, oturum+kümülatif sayaç, bütçe limiti, .wormclaude/usage.json. |
| compact.ts | Oto-compact: bağlam eşiği + 9-bölümlü özet promptu + isContextError (reactive compact tetiği). |
| memory.ts | Oto-hafıza: SessionMemory tetiği + autoDream gate + PID kilidi. .wormclaude/memory.md. |
| toolSummary.ts | Araç-grubu özeti — 2+ araç sonrası tek satır git-commit tarzı etiket. |
| tips.ts | Spinner/footer ipuçları (14 ipucu, cooldown'lı, .wormclaude/tips.json). |
Değiştirilen dosyalar (mevcuttu, genişletildi)
| Dosya | Eklenen |
|-------|---------|
| tools.ts | Claude Code araç açıklamaları (birebir); Agent + TaskOutput araçları; Bash run_in_background; MCP yönlendirme; paralel araç çalıştırma (executeToolCalls); per-tool metadata (TOOL_META: readOnly/concurrencySafe/needsPermission/validate). |
| api.ts | usage yakalama (stream_options.include_usage); retry/backoff (fetchWithRetry, jitter); abort/interrupt (AbortSignal). |
| cli.tsx | Komut sistemi bağlama; footer task pill; MCP otomatik bağlanma; oto-compact + oto-hafıza tetikleri; usage kaydı; izin dialogu; bütçe/maxTurns/Esc-kes; reactive compact; tip + araç özeti gösterimi. |
| theme.ts | (değişmedi) |
Backend (C:\Users\potur\Desktop\modelegitim\api\server.py)
| Eklenen | Açıklama |
|---------|----------|
| POST /v1/chat/completions | OpenAI-uyumlu gateway: streaming + tools geçişi + usage. Ollama'yı sarar. |
| GET /v1/models | Model listesi. |
| Model takma adı | wormclaude → qwen2.5:7b (env WORMCLAUDE_DEFAULT_MODEL). |
| Opsiyonel auth | WORMCLAUDE_API_KEYS env'i set edilirse Bearer key zorunlu. |
| Billing log | api/billing.jsonl — istek başına {ts, key, model, prompt_tokens, completion_tokens}. |
Not: Eski route'lar (
/chat,/chat/stream) korundu; sadece/v1/*eklendi.
⚙️ Özellikler (tümü çalışır, test edildi)
- Araçlar: Bash, Read, Write, Edit, Glob, Grep, WebFetch (Claude Code birebir açıklamalar) + Agent, TaskOutput
- Çoklu-agent: alt-agent (
Agent), arka plan görevleri (run_in_background), koordinatör, dream - MCP: stdio/SSE/HTTP sunucu desteği
- Paralel araç çalıştırma: salt-okunur araçlar eşzamanlı (limit 10), yazanlar sıralı
- İzin sistemi: Bash/Write/Edit öncesi onay (Evet / Evet-hep / Hayır)
- Billing: token/maliyet ölçümü + oturum bütçe limiti
- Retry/backoff: 408/409/429/5xx/529 + bağlantı hataları
- Oto-compact + reactive compact: bağlam dolunca / taşınca otomatik özetle
- Oto-hafıza: arka planda kalıcı bilgi çıkarımı
- Araç özeti + ipuçları: UX cilası
- Interrupt: çalışırken Esc ile kes
🚫 Dosya dosya: ne EKLENMEDİ (ve neden)
Claude Code kaynağından (Desktop\tools, Desktop\wormclaudegenel) bilerek atlananlar — hepsi Anthropic bulutuna/hesabına/SDK'sına bağlı, yerelde karşılığı yok:
services/ — atlananlar
| Klasör/dosya | Neden eklenmedi |
|--------------|-----------------|
| analytics/ (datadog, growthbook, sink...) | Anthropic telemetrisi |
| api/ (claude.ts, bootstrap, usage, overage, referral) | Anthropic bulut API + faturalandırma (mantığı: retry+billing uyarlandı) |
| oauth/ | Anthropic hesabı/OAuth |
| mcp/ (auth, claudeai, xaa, officialRegistry...) | Bulut-bağımlı MCP (çekirdek MCP istemcisi yeniden yazıldı) |
| plugins/ | Eklenti/marketplace sistemi |
| policyLimits/, remoteManagedSettings/, settingsSync/, teamMemorySync/ | Kurumsal/uzak senkronizasyon |
| voice* (4 dosya) | Harici STT servisi |
| rateLimit*, mockRateLimits, claudeAiLimits* | Anthropic abonelik limitleri |
| notifier, diagnosticTracking, internalLogging, vcr, preventSleep | İç altyapı/OS |
| lsp/ (7 dosya) | Kod dil-sunucusu — opsiyonel, kurulmadı |
| MagicDocs/, AgentSummary/, PromptSuggestion/ (+speculation), awaySummary | İncelendi, orta/düşük değer → opsiyonel bırakıldı |
cli/ (giriş/transport katmanı) — tamamı atlandı
transports/ (WebSocket/SSE/remote), handlers/ (auth/mcp/plugins/agents), print.ts, structuredIO.ts, remoteIO.ts, update.ts → Anthropic uzak agent/SDK protokolü, yerelde gereksiz.
tasks/ — kısmen
| Eklenen | Atlanan |
|---------|---------|
| LocalShellTask (arka plan Bash), LocalAgentTask (alt-agent), DreamTask (hafıza) → tasks.ts'e uyarlandı | RemoteAgentTask (uzak bulut), InProcessTeammateTask (AsyncLocalStorage takım izolasyonu), coordinator/ (analytics-bağımlı) |
Çekirdek motor (query.ts, QueryEngine.ts, Tool.ts, tools.ts) — incelendi
| Uyarlandı | Atlandı (opsiyonel) | |-----------|---------------------| | Agent döngüsü, paralel araç, per-tool arayüz, izin, bütçe/maxTurns/interrupt, reactive compact | Streaming tool executor, stop hooks, max-output-token escalation (8K→64K) |
🔧 Ortam değişkenleri
WORMCLAUDE_BASE_URL=http://127.0.0.1:8788/v1 # backend
WORMCLAUDE_API_KEY=wormclaude # backend key
WORMCLAUDE_MODEL=wormclaude # model (backend qwen2.5:7b'ye çözer)
WORMCLAUDE_MAX_TURNS=25 # tur limiti
WORMCLAUDE_BUDGET_USD=0 # oturum maliyet tavanı (0=sınırsız)
WORMCLAUDE_CONTEXT_WINDOW=32768 # oto-compact için pencere
WORMCLAUDE_MAX_RETRIES=5 # bağlantı retry
WORMCLAUDE_MAX_TOOL_CONCURRENCY=10 # paralel araç limiti
# Backend tarafı:
WORMCLAUDE_DEFAULT_MODEL=qwen2.5:7b # takma ad hedefi
WORMCLAUDE_API_KEYS=key1,key2 # auth (boşsa kapalı)
OLLAMA_NUM_CTX=8192 # Ollama bağlam🚀 Kurulum & çalıştırma
# Backend (ayrı pencere)
powershell -File C:\Users\potur\Desktop\modelegitim\api\BASLAT_API.ps1
# CLI
cd C:\Users\potur\Desktop\wormclaude-cli-ts
npm install
npm run build
wormclaude # veya: npm run devMCP sunucu eklemek
.wormclaude/mcp.json:
{
"mcpServers": {
"filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "C:\\proje\\yol"] }
}
}Sonra CLI'da /mcp ile gör, /mcp reconnect ile yeniden bağla.
💰 Ticari (aylık abonelik) için hazır kancalar
- Auth aç:
WORMCLAUDE_API_KEYS="musteri1,musteri2"— her müşteriye anahtar - Fiyat koy:
usage.setPricing("qwen2.5:7b", { in: 0.5, out: 1.5 })—/costUSD gösterir - Bütçe tavanı:
WORMCLAUDE_BUDGET_USD=5— oturum maliyeti aşınca durur - Faturalandır:
api/billing.jsonl'i aylık topla (server-tarafı = güvenilir kaynak)
