npm.io
1.0.238 • Published 6h agoCLI

wormclaude

Licence
UNLICENSED
Version
1.0.238
Deps
17
Size
682 kB
Vulns
0
Weekly
11.4K

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ı wormclaudeqwen2.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 dev
MCP 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

  1. Auth aç: WORMCLAUDE_API_KEYS="musteri1,musteri2" — her müşteriye anahtar
  2. Fiyat koy: usage.setPricing("qwen2.5:7b", { in: 0.5, out: 1.5 })/cost USD gösterir
  3. Bütçe tavanı: WORMCLAUDE_BUDGET_USD=5 — oturum maliyeti aşınca durur
  4. Faturalandır: api/billing.jsonl'i aylık topla (server-tarafı = güvenilir kaynak)

Keywords