Instructions to use Tayrrr/KaliSupport with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use Tayrrr/KaliSupport with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf Tayrrr/KaliSupport:Q6_K # Run inference directly in the terminal: llama cli -hf Tayrrr/KaliSupport:Q6_K
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf Tayrrr/KaliSupport:Q6_K # Run inference directly in the terminal: llama cli -hf Tayrrr/KaliSupport:Q6_K
Build from source code
git clone https://github.com/ggml-org/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-app # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama serve -hf Tayrrr/KaliSupport:Q6_K # Run inference directly in the terminal: ./build/bin/llama cli -hf Tayrrr/KaliSupport:Q6_K
Use Docker
docker model run hf.co/Tayrrr/KaliSupport:Q6_K
- Llama new
- LM Studio
- Jan
- Ollama
How to use Tayrrr/KaliSupport with Ollama:
ollama run hf.co/Tayrrr/KaliSupport:Q6_K
- Unsloth Desktop
- Pi
How to use Tayrrr/KaliSupport with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Tayrrr/KaliSupport:Q6_K
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "Tayrrr/KaliSupport:Q6_K" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use Tayrrr/KaliSupport with Docker Model Runner:
docker model run hf.co/Tayrrr/KaliSupport:Q6_K
- Lemonade
How to use Tayrrr/KaliSupport with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull Tayrrr/KaliSupport:Q6_K
Run and chat with the model
lemonade run user.KaliSupport-Q6_K
List all available models
lemonade list
- Hermes Agent
How to use Tayrrr/KaliSupport with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Tayrrr/KaliSupport:Q6_K
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default Tayrrr/KaliSupport:Q6_K
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use Tayrrr/KaliSupport with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Tayrrr/KaliSupport:Q6_K
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "Tayrrr/KaliSupport:Q6_K" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
Install from WinGet (Windows)
winget install llama.cpp
# Start a local OpenAI-compatible server with a web UI:
llama serve -hf Tayrrr/KaliSupport:Q6_K# Run inference directly in the terminal:
llama cli -hf Tayrrr/KaliSupport:Q6_KBuild from source code
git clone https://github.com/ggml-org/llama.cpp.git
cd llama.cpp
cmake -B build
cmake --build build -j --target llama-app# Start a local OpenAI-compatible server with a web UI:
./build/bin/llama serve -hf Tayrrr/KaliSupport:Q6_K# Run inference directly in the terminal:
./build/bin/llama cli -hf Tayrrr/KaliSupport:Q6_KUse Docker
docker model run hf.co/Tayrrr/KaliSupport:Q6_KYAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
Kali Agent (LocalAI)
Yerel bir LLM (BaronLLM Llama-3.1) ile Kali Linux sanal makinesini SSH üzerinden süren otonom bir sızma testi (pentest) ajanı. Beyin Windows'ta, "kollar" Kali'de. Artık sesli komutla da kontrol edilebilir (offline STT, Türkçe).
Eğitim ve yetkili sızma testi senaryoları içindir. Sadece izin aldığın sistemler üzerinde çalıştır.
Mimari Özet
[Kullanıcı: klavye veya mikrofon]
|
v
+------------------- Windows --------------------+
| agent.py (REPL + ReAct loop) |
| | |
| +-- voice.py (faster-whisper STT, ops.) |
| +-- ollama.Client -> BaronLLM (Modelfile) |
| +-- tool_call.py (parse + dispatcher) |
| +-- safety.py (komut filtresi) |
| +-- ssh_client.py |
| +-- logger.py (JSONL session logu) |
+-----------------------|------------------------+
| paramiko / SSH (anahtar)
v
+--------- Kali VM ---------+
| bash + nmap/sqlmap/... |
+---------------------------+
ReAct döngüsü her adımda şu akışı izler:
Thought: <kısa, tek paragraf>
Action: run_cmd
Action Input: <tek satır bash>
Komut Kali'de çalıştırılır, çıktı Observation: olarak modele geri verilir. Görev Final Answer: ile veya --max-steps limitiyle biter. Manuel modda her adımda Enter ile onay alınır.
Klasör Yapısı
LocalAI/
agent.py # Ana orkestrator, REPL, ReAct döngüsü
config.py # .env'den dataclass'lara mapping
ssh_client.py # paramiko sarmalayıcısı (Kali SSH)
tool_call.py # ReAct parser + ToolDispatcher
safety.py # Yıkıcı komut filtresi (block/warn)
voice.py # Sesli komut: faster-whisper + sounddevice
logger.py # Oturum başına JSONL log
Modelfile # Ollama: BaronLLM + sistem promptu + parametreler
requirements.txt
.env / .env.example
test_ssh.py # SSH bağlantısı için izole test
logs/ # session-YYYYMMDD-HHMMSS.jsonl
Kurulum
1. Kali VM tarafı
sudo apt update && sudo apt install -y openssh-server
sudo systemctl enable --now ssh
ip a # bridged adapter ise LAN IP'sini not al
Windows'ta üretilmiş public key'i (~/.ssh/id_ed25519.pub içeriği) Kali'de:
mkdir -p ~/.ssh && chmod 700 ~/.ssh
echo "ssh-ed25519 AAAA... kerem@windows" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
2. Windows tarafı
cd C:\Users\kerem\Documents\LocalAI
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
Python 3.12 / 3.13 / 3.14 destekleniyor.
faster-whisperarka plandactranslate2derler; wheel mevcut değilse Visual Studio Build Tools gerekebilir.
3. Ollama + model
# Ollama kurulu degilse: https://ollama.com/download
ollama serve # arka planda calissin
# baronllm-llama3.1-v1-q6_k.gguf dosyasini proje koküne koyduktan sonra:
ollama create KaliSupport -f .\Modelfile
ollama list # KaliSupport gorulmeli
4. .env
.env.example dosyasını kopyalayıp düzenle:
Copy-Item .env.example .env
notepad .env
Doldurulması zorunlu alanlar:
KALI_HOST— Kali VM'in LAN IP'siKALI_SSH_KEY— Windows'taki private anahtarın tam yoluOLLAMA_MODEL—ollama list'te gördüğün isim (örn.KaliSupport)
5. SSH'i tek başına doğrula
python test_ssh.py
pong görüyorsan bağlantı sağlam.
Çalıştırma
REPL (varsayılan)
python agent.py
REPL komutları:
| Giriş | Anlamı |
|---|---|
<metin> |
Görev metni; ajan ReAct'e başlar |
:v veya voice |
Mikrofonu aç, konuşmayı transkript et, görev olarak gönder |
:r veya reset |
Mesaj geçmişini temizle (model konteksini sıfırla) |
:q / quit / exit |
Çık |
Voice-first mod
Her prompt'ta otomatik mikrofon açılsın (yine de Enter'a basıp metin de yazabilirsin):
python agent.py --voice
Otomatik mod (her adımı sormadan)
python agent.py --auto
python agent.py --auto --voice
Tek seferlik görev
python agent.py "192.168.1.20 portlarini tara ve 80 acıksa dirb yap"
Manuel mod adım onayı
| Tuş | Etki |
|---|---|
Enter / e |
Komutu çalıştır |
d |
Komutu düzenle |
s |
Bu adımı atla (modele "skipped" döner) |
q |
Loop'u durdur |
Voice (Sesli Komut)
Nasıl çalışıyor
:vyazınca mikrofon akışı (sounddevice, 16 kHz mono float32) açılır.Ekrana akan
.ve#karakterleri mini bir VU-meter gibi davranır (.sessizlik,#ses var).Konuşmaya başlayınca kayıt başlar;
VOICE_SILENCE_SECONDS(varsayılan 1.5sn) kesintisiz sessizlikten sonra otomatik kapanır.Ses parçası
faster-whisperile yerelde transkript edilir (varsayılan model:small, dil:tr).Transkript ekrana yazılır; onay/düzenleme menüsü gelir:
Tuş Etki Enter / eAynen görev olarak gönder dÖnce düzenle, sonra gönder rYeniden dinle qİptal
Ortam değişkenleri (.env)
| Değişken | Varsayılan | Açıklama |
|---|---|---|
VOICE_ENABLED |
true |
false -> :v komutu kapalı, kütüphaneler yine de yüklenmeyebilir |
VOICE_PREWARM |
true |
Agent başlangıcında modeli yükle. Açıkken startup ~5-30 sn uzar, ama ilk :v'de bekleme olmaz |
VOICE_MODEL |
small |
tiny / base / small / medium / large-v3. Türkçe için minimum small öneririm |
VOICE_DEVICE |
cpu |
cpu / cuda / auto. CUDA seçersen compute_type'ı da güncelle |
VOICE_COMPUTE_TYPE |
int8 |
CPU: int8. GPU: float16 veya int8_float16 |
VOICE_LANGUAGE |
tr |
tr, en, ... auto -> dili Whisper tahmin eder |
VOICE_SAMPLERATE |
16000 |
16 kHz Whisper'in beklediği değer; değiştirme |
VOICE_SILENCE_THRESHOLD |
0.012 |
RMS eşiği. Klavye/fan yüzünden tetiklenirse yükselt; konuşma duyulmuyorsa düşür |
VOICE_SILENCE_SECONDS |
1.5 |
Kayıt durduran kesintisiz sessizlik süresi |
VOICE_MAX_SECONDS |
60 |
Sert üst sınır |
VOICE_INITIAL_TIMEOUT |
8 |
Konuşma hiç başlamazsa kaç saniye sonra iptal |
VOICE_INPUT_DEVICE |
(boş) | Boş = sistem default. Sayı ya da isim parçası verilebilir |
VOICE_CONFIRM |
true |
false -> transkript görünür ama onay sormadan görev olarak gider |
Mikrofon listesi
python -m voice devices
Çıktıdaki numarayı VOICE_INPUT_DEVICE'a yaz, ya da ismin bir parçasını (örn. Realtek).
Sadece STT'yi test et
python -m voice listen
Konuş, transkript ekranda. Ajan, SSH, hiçbiri açılmaz; mikrofon + Whisper bütünleşmesini izole etmek için ideal.
Voice kapanırsa
:v'yi her tuşladığında "voice kapali" diyorsa:
python -c "import voice; print(voice.VoiceInput(__import__('config').VoiceConfig.from_env()).is_available())"
Çıkan mesaj:
sounddevice yuklu degil→pip install sounddevice(PortAudio sürücüsü Windows'ta gömülü gelir)faster-whisper yuklu degil→pip install faster-whisperVOICE_ENABLED=false→.env'detrueyapMikrofon akisi acilamadi→python -m voice devicesile başka cihaz dene
Performans ipuçları
- CPU +
small+int8ortalama bir laptop'ta ~5-10 sn'lik bir görev için 1-3 sn transkript verir. - GPU yetmezse
VOICE_DEVICE=cpukalsın; BaronLLM zaten 4-6 GB VRAM kullanıyor, paylaşmaktansa CPU'da Whisper koşturmak daha sağlıklı. - Daha hızlı istiyorsan:
VOICE_MODEL=base. Daha doğru:medium(CPU'da yavaşlar ~2x).
İlk çalıştırma: model indirme
İlk :v'de (veya VOICE_PREWARM=true ile agent başlangıcında) faster-whisper modeli HuggingFace Hub'dan indirilir. Boyutlar (yaklaşık):
| Model | İndirme | Bellek |
|---|---|---|
tiny |
75 MB | ~150 MB |
base |
150 MB | ~300 MB |
small |
466 MB | ~700 MB |
medium |
1.5 GB | ~2.5 GB |
large-v3 |
2.9 GB | ~5 GB |
İndirilen dosyalar C:\Users\<sen>\.cache\huggingface\hub\ altında saklanır.
HF rate limit / hız: anonim indirme yavaş olabilir. Hızlandırmak için bir HuggingFace token üret (huggingface.co/settings/tokens) ve PowerShell'de:
$env:HF_TOKEN = "hf_xxxxxxxxxxxxxxxxxx"
python agent.py
Ya da .env dosyasına HF_TOKEN=hf_... ekle (python-dotenv zaten yükler).
Mikrofon ayarı: konuşmama tetiklenmiyor / kayıt durmuyor
Recording sonu basılan [voice] kayit bitti: 9.7s, rms=0.011 (esik=0.012) satırı en kritik tanı çıktısı:
rms < esikise kayıt boyunca eşiğin altındasın; transkript boş gelebilir. Çözüm: mikrofona daha yakın konuş, ya daVOICE_SILENCE_THRESHOLD'u düşür (örn.0.005).- Kayıt hiç durmuyor (sürekli
#): arka plan gürültüsü yüksek; eşiği yükselt (0.020+) ya daVOICE_MAX_SECONDS'i kısalt.
Konfigürasyon Referansı
Ollama
| Değişken | Açıklama |
|---|---|
OLLAMA_HOST |
http://127.0.0.1:11434 |
OLLAMA_MODEL |
Modelfile'dan ürettiğin isim |
OLLAMA_NUM_GPU |
GPU katmanı sayısı. CUDA OOM alırsan düşür |
OLLAMA_NUM_CTX |
Bağlam penceresi (token). 4096 tipik nmap çıktıları için yeterli |
OLLAMA_TEMPERATURE |
Pentest komutları için 0.3-0.5 öneririm |
OLLAMA_KEEP_ALIVE |
Birim zorunlu. 30m, 1h, 0 (anında unload), -1 (sonsuz). Birimsiz sayı yazarsan config.py otomatik dakikaya çevirir |
SSH
| Değişken | Açıklama |
|---|---|
KALI_HOST / KALI_PORT / KALI_USER |
Kali VM bağlantısı |
KALI_SSH_KEY |
Private key tam yolu |
KALI_SSH_KEY_PASSPHRASE |
Boş bırak ya da parola |
KALI_SSH_PASSWORD |
Public key oturana kadar fallback |
SSH_COMMAND_TIMEOUT |
Saniye. nmap full scan için 600+ tut |
Safety
| Değişken | Açıklama |
|---|---|
SAFETY_MODE |
enforce (varsayılan; block kuralları durdurur) / audit (her şey geçer, sadece loglanır) |
safety.py içinde tanımlı kurallar (özet):
rm -rf /,rm -rf ~, kritik/etcüzerine yazmamkfs,dd of=/dev/sd*,wipefs- Fork bomb (
:(){ :|:& };:) shutdown/reboot/systemctl poweroff~/.sshveyaauthorized_keyssilme;sshddurdurmauserdel root/kalicurl ... | bash(warn)
Kuralları elle test:
python safety.py "rm -rf /"
python safety.py "nmap -sV 192.168.1.10"
Loglar
Her oturum yeni bir JSONL dosyası: logs/session-YYYYMMDD-HHMMSS.jsonl. Olay tipleri:
session_start/session_endinfo/warn/errormodel— modelden dönen metin (thought/response)tool_call— ajanın istediği tool ve argümanlarcommand— Kali'de çalışan komutun stdout/stderr/exit_codesafety_match— kuralla eşleşen komutlarvoice_*— voice yaşam döngüsü (voice_record_start,voice_transcript,voice_cancelled, ...)
Ham logları görmek için:
Get-Content .\logs\session-*.jsonl -Tail 30 | ConvertFrom-Json | Format-Table ts,type,message
Sorun Giderme
| Belirti | Sebep / Çözüm |
|---|---|
time: missing unit in duration "1" |
OLLAMA_KEEP_ALIVE birim içermiyor. 30m, 1h, -1 yaz. (config.py artık otomatik düzeltir) |
Ollama'ya ulasilamadi |
ollama serve çalışmıyor veya OLLAMA_HOST yanlış |
Ollama'da '<model>' modeli yok |
ollama create <ad> -f Modelfile çalıştır |
Kimlik dogrulama basarisiz: kali@... |
Public key Kali'deki ~/.ssh/authorized_keys'te değil; ya da KALI_SSH_KEY private değil |
Komut zaman asimina ugradi |
SSH_COMMAND_TIMEOUT'u artır |
[voice kapali] sounddevice yuklu degil |
pip install sounddevice |
Mikrofon akisi acilamadi |
python -m voice devices ile mevcut cihazları gör; uygun olanı VOICE_INPUT_DEVICE'a yaz |
Konuşunca hiçbir şey kaydedilmiyor (...........) |
VOICE_SILENCE_THRESHOLD çok yüksek; 0.005 deneyebilirsin |
Sürekli # çıkıyor, kayıt durmuyor |
Mikrofon arka plan gürültüsü yüksek; eşiği yükselt veya VOICE_MAX_SECONDS düşür |
:v sonrası uzun süre tepkisiz |
Model indiriyor (ilk seferde 466 MB / small). VOICE_PREWARM=true ile bunu agent başlangıcına taşı; veya HF_TOKEN set et |
unauthenticated requests to the HF Hub uyarısı |
Anonim indirme; HF_TOKEN set edilirse kaybolur ve indirme hızlanır |
| CUDA OOM | OLLAMA_NUM_GPU'yu düşür; voice'u CPU'da bırak (VOICE_DEVICE=cpu) |
Geliştirici Notları
Kod stili
- Python 3.12+ syntax (
X | Y,dict[str, Y]) - Tüm fonksiyon imzalarında tip ipucu
- Yan etki içeren her modül
if __name__ == "__main__":self-test'iyle gelir:
python tool_call.py # ReAct parser testi
python safety.py # safety kural testi
python -m voice listen # STT entegrasyon testi
python test_ssh.py # SSH end-to-end
Yeni tool eklemek
tool_call.py içinde ToolDispatcher.register("benim_tool", fn) ile dinamik kayıt:
def my_tool(args: dict[str, str]) -> str:
return f"Observation gibi geri dönecek string"
dispatcher.register("my_tool", my_tool)
Modelin bu tool'u tetiklemesi için Modelfile'daki sistem promptuna kullanım örneği eklemen gerekir.
Yol haritası
- TTS (sesli yanıt) — modelin Final Answer'ını sesli okusun
- Wake-word (her zaman dinle, "Kali" deyince devreye gir)
- Çoklu tool (
run_python,read_file,download) - Web dashboard (logs/
*.jsonlüzerinden canlı izleme)
Lisans
Kişisel/eğitim amaçlı. Bağımlı oldukları kütüphanelerin lisansları geçerlidir (paramiko BSD, ollama-python MIT, faster-whisper MIT, sounddevice MIT).
- Downloads last month
- 6
6-bit
Install (macOS, Linux)
# Start a local OpenAI-compatible server with a web UI: llama serve -hf Tayrrr/KaliSupport:Q6_K# Run inference directly in the terminal: llama cli -hf Tayrrr/KaliSupport:Q6_K