<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[אפליקציות ותוכנות]]></title><description><![CDATA[אפליקציות ותוכנות]]></description><link>https://tochnot-css.duckdns.org/techoclick/category/41</link><generator>RSS for Node</generator><lastBuildDate>Sun, 15 Nov 2026 00:23:31 GMT</lastBuildDate><atom:link href="https://tochnot-css.duckdns.org/techoclick/category/41.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 01 Oct 2026 19:24:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[רוצים שאני יתרגם לכם אפליקציה? כנסו!]]></title><description><![CDATA[
@מחנה-ידידים כתב:
@מטען-נייד כת"ר כותב משמאל לימין

אין יד איזה בעיה
כל נושא שאני מעלה נכתב הפוך
]]></description><link>https://tochnot-css.duckdns.org/techoclick/topic/421/רוצים-שאני-יתרגם-לכם-אפליקציה-כנסו</link><guid isPermaLink="true">https://tochnot-css.duckdns.org/techoclick/topic/421/רוצים-שאני-יתרגם-לכם-אפליקציה-כנסו</guid><dc:creator><![CDATA[מטען נייד]]></dc:creator><pubDate>Thu, 01 Oct 2026 19:24:58 GMT</pubDate></item><item><title><![CDATA[רוצים אפליקציה? בכיף!]]></title><description><![CDATA[פיש אפליקציה שקיימת שאתם יודעים שהיא באנגלית ואתם רוצים בעברית.
**כלליש לכתוב את שם האפליקציה, לעלות אותה ובלי נדר אני יביא אות.מ
]]></description><link>https://tochnot-css.duckdns.org/techoclick/topic/418/רוצים-אפליקציה-בכיף</link><guid isPermaLink="true">https://tochnot-css.duckdns.org/techoclick/topic/418/רוצים-אפליקציה-בכיף</guid><dc:creator><![CDATA[מטען נייד]]></dc:creator><pubDate>Thu, 01 Oct 2026 16:44:46 GMT</pubDate></item><item><title><![CDATA[להורדה | אפליקציה לאתר עוגן פליי]]></title><description><![CDATA[יצרתי‌​‌‌​‌​​​​​‌ אפליקציה לאתר עוגן פליי
עובדת מאנדרואיד 4.1 ומותאמת לניוט מקשים עובדת מעולה גם במגע!
להורדה
98780efc-73c6-44f2-a329-3ab16be4d62b-OgenPlay-debug.apk
למנוטפרים המוערצים! (קרדיט @מטען-נייד
https://ogen-plei-qype.vercel.app/apps/81d7a85a-e440-4891-b426-f956c41fa76d
תהנו!
]]></description><link>https://tochnot-css.duckdns.org/techoclick/topic/387/להורדה-אפליקציה-לאתר-עוגן-פליי</link><guid isPermaLink="true">https://tochnot-css.duckdns.org/techoclick/topic/387/להורדה-אפליקציה-לאתר-עוגן-פליי</guid><dc:creator><![CDATA[חייא שיאומי]]></dc:creator><pubDate>Thu, 01 Oct 2026 13:42:44 GMT</pubDate></item><item><title><![CDATA[שיתוף | תוכנת ממיר שמע לפלייבק, או לווקאלי עם הרבה אפשרויות (לא כ EXE)]]></title><description><![CDATA[יש לי תוכנה של ממיר שמע לפלייבק קריורי עם הרבה אפשרויות
התוכנה גמורה, רק שאין לי כח לקמפל זה יקח הרבה זמן אם מישהו יקח לידים בשמחה..
התוכנה היא בפייתון
נוצרה עם AI היא משתמשת במודלים הכי מתקדמים בעולם
יש לשים לב היא מעט איטית בגלל המודלים..

יכולות:

הפרדה ללא שום רעשי רקע הפרדה מוחלטת.
אפשרות להפריד רק את התופים.
אפשרות להסיר רק את הבס.
או להסיר כמה דברים ולשאיר משהו אחר.
אפשרות לשמוע לפני שמורידים.

חסרונות:

החסרון העיקרי זה שזה בקבצי קוד.
יש עוד חסרון האיטיות של זה.
שוקל 1.2GB.


דרישות:
פייתון
והספרית הבאות:
pip install PyQt6 audio-separator[cpu]


                
                    Spoiler 
                
                
                     מומלץ לעדכן לפני את כלי ההתקנה:
python -m pip install --upgrade pip


                
להורדה:
להורדה: מסיר זמר
לא להעתיק ללא כוכביות!!!
]]></description><link>https://tochnot-css.duckdns.org/techoclick/topic/240/שיתוף-תוכנת-ממיר-שמע-לפלייבק-או-לווקאלי-עם-הרבה-אפשרויות-לא-כ-exe</link><guid isPermaLink="true">https://tochnot-css.duckdns.org/techoclick/topic/240/שיתוף-תוכנת-ממיר-שמע-לפלייבק-או-לווקאלי-עם-הרבה-אפשרויות-לא-כ-exe</guid><dc:creator><![CDATA[CSS]]></dc:creator><pubDate>Thu, 01 Oct 2026 12:58:03 GMT</pubDate></item><item><title><![CDATA[שיתוף | תוכנת AI שמבצעת פעולות במחשב! עם ג&#x27;ימיני, עובד למנוטרפים.]]></title><description><![CDATA[בניתי (עם AI) תוכנה שרצה על המחשב ויכולה ל:

לבצע פעולות מה שתרצו...
לכתוב קוד בממשק מיוחד שיכול גם להריץ את הקוד וכ"ו.
לכתוב מאמרים.
צ'אט.
לכתוב תוכן.
עם - gemini 3.1 pro
עובד למנוטרפים.
דורש API.


כיצד להפעיל:
התוכנה בהפעלה הראשונה תיצור מסביבה תיקיות וקבצים הכל תקין!
יש להכנס לקטגורית API" ושם להזין את ה- API מג'ימיני!
התוכנה משתמש במודל המהיר לצ'אט ו בפרו לביצוע פעולות קוד וכ"ו
להורדה:
AI פועל V.1
לא להעתיק ללא כוכביות!!!

תמונות בספוילר

                
                    Spoiler 
                
                
                    
[image: 420adf2f-3212-4417-b75b-822f8a43fd86-image.png]
[image: f8f398f1-c0e9-4a60-b71a-83583440fa0c-image.png]
[image: cc268e95-284e-42fa-b5c6-c0607bb1c90d-image.png]
[image: 85c6f359-10ff-432e-bb87-ed2c0352c0c5-image.png]
[image: 59011699-0049-446f-b457-aa3116933381-image.png]
[image: 1b768941-cd89-4af1-94a0-e187a4449b16-image.png]
[image: e4a17931-42ce-4cc4-a968-88d43782e4d5-image.png]

                

קוד מקור:
app.py

                
                    Spoiler 
                
                
                    
import os
import io
import sys
import time
import json
import subprocess
import threading
import requests
import urllib3
from flask import Flask, request, jsonify
import google.generativeai as genai
from dotenv import load_dotenv
from werkzeug.utils import secure_filename
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtWebEngineWidgets import QWebEngineView
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import QUrl

if getattr(sys, 'frozen', False):
    sys.stdout = open(os.devnull, 'w')
    sys.stderr = open(os.devnull, 'w')
    BASE_DIR = os.path.dirname(sys.executable)
    ASSETS_DIR = sys._MEIPASS
else:
    BASE_DIR = os.path.dirname(os.path.abspath(__file__))
    ASSETS_DIR = BASE_DIR

CERT_FILE = os.path.join(BASE_DIR, "certificate.crt")
if os.path.exists(CERT_FILE):
    os.environ["REQUESTS_CA_BUNDLE"] = CERT_FILE
    os.environ["SSL_CERT_FILE"] = CERT_FILE
else:
    urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
    old_merge_environment_settings = requests.Session.merge_environment_settings
    def merge_environment_settings(self, url, proxies, stream, verify, cert):
        settings = old_merge_environment_settings(self, url, proxies, stream, verify, cert)
        settings['verify'] = False 
        return settings
    requests.Session.merge_environment_settings = merge_environment_settings

app = Flask(__name__)

ENV_FILE = os.path.join(BASE_DIR, ".env")
if not os.path.exists(ENV_FILE):
    with open(ENV_FILE, "w", encoding="utf-8") as f:
        f.write("GOOGLE_API_KEY=\n")

load_dotenv(ENV_FILE)

PROJECTS_DIR = os.path.join(BASE_DIR, "projects")
UPLOADS_DIR = os.path.join(BASE_DIR, "uploads")
KNOWLEDGE_DIR = os.path.join(BASE_DIR, "knowledge_bases")

for d in [PROJECTS_DIR, UPLOADS_DIR, KNOWLEDGE_DIR]:
    if not os.path.exists(d): os.makedirs(d)

MODEL_MAIN_NAME = 'gemini-3.1-pro-preview' 
MODEL_FAST_NAME = 'gemini-3.1-flash-lite-preview'

model_main = None
model_fast = None
chat_session = None

def init_gemini():
    global model_main, model_fast, chat_session
    api_key = os.getenv("GOOGLE_API_KEY")
    if api_key:
        try:
            genai.configure(api_key=api_key, transport='rest')
            model_main = genai.GenerativeModel(MODEL_MAIN_NAME)
            model_fast = genai.GenerativeModel(MODEL_FAST_NAME)
            chat_session = model_fast.start_chat(history=[])
        except Exception as e:
            pass

init_gemini()

stop_generation_flag = False

HTML_CONTENT = """&lt;!DOCTYPE html&gt;
&lt;html lang="he" dir="rtl"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
    &lt;title&gt;JARVIS V5 ULTIMATE&lt;/title&gt;
    &lt;script src="https://cdn.tailwindcss.com"&gt;&lt;/script&gt;
    &lt;script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"&gt;&lt;/script&gt;
    &lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"&gt;
    &lt;style&gt;
        body { background: #000; color: #e2e8f0; height: 100vh; overflow: hidden; font-family: 'Segoe UI', sans-serif; }
        .glass { background: rgba(15, 15, 20, 0.95); border: 1px solid #333; }
        .active-tab { border-right: 4px solid #3b82f6; background: rgba(59, 130, 246, 0.15) !important; color: #60a5fa; }
        
        button, input, textarea, select { color: #ffffff !important; }
        button { background-color: #1e293b; border: none; cursor: pointer; }
        nav button { background-color: transparent; }
        input, textarea, select { background-color: #0f172a; border: 1px solid #334155; }
        
        .thinking-bar {
            height: 4px; width: 100%; background: linear-gradient(90deg, transparent, #3b82f6, transparent);
            animation: loading 1.5s infinite; position: absolute; top: 0; left: 0;
        }
        @keyframes loading { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }

        .voice-active { animation: pulse 1s infinite; color: #f87171; }
        @keyframes pulse { 0% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.2); opacity: 0.8; } 100% { transform: scale(1); opacity: 1; } }

        .prose h1, h2, h3 { color: #60a5fa; font-weight: bold; margin-top: 0.5rem; }
        .prose pre { background: #111; padding: 10px; direction: ltr; border-radius: 5px; border: 1px solid #333; }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body class="flex h-screen"&gt;

    &lt;aside class="w-64 glass flex flex-col p-4 border-l border-gray-800"&gt;
        &lt;div class="text-center mb-6"&gt;
            &lt;h1 class="text-4xl font-bold text-transparent bg-clip-text bg-gradient-to-r from-blue-500 to-cyan-500"&gt;JARVIS&lt;/h1&gt;
            &lt;div class="text-xs text-gray-500 mt-1"&gt;SYSTEM V5 | NETFREE PATCHED&lt;/div&gt;
        &lt;/div&gt;

        &lt;nav class="space-y-3 flex-1 overflow-y-auto"&gt;
            &lt;button onclick="switchTab('chat')" id="btn-chat" class="active-tab w-full p-3 rounded flex items-center gap-3 transition"&gt;&lt;i class="fas fa-comment-dots"&gt;&lt;/i&gt; צ'אט (מהיר)&lt;/button&gt;
            &lt;button onclick="switchTab('content')" id="btn-content" class="w-full p-3 rounded flex items-center gap-3 transition"&gt;&lt;i class="fas fa-pen-nib"&gt;&lt;/i&gt; כתיבת תוכן&lt;/button&gt;
            &lt;button onclick="switchTab('code')" id="btn-code" class="w-full p-3 rounded flex items-center gap-3 transition"&gt;&lt;i class="fas fa-code"&gt;&lt;/i&gt; קוד ופרויקטים&lt;/button&gt;
            &lt;button onclick="switchTab('agent')" id="btn-agent" class="w-full p-3 rounded flex items-center gap-3 transition"&gt;&lt;i class="fas fa-robot text-red-400"&gt;&lt;/i&gt; סוכן אוטונומי&lt;/button&gt;
            &lt;button onclick="switchTab('knowledge')" id="btn-knowledge" class="w-full p-3 rounded flex items-center gap-3 transition"&gt;&lt;i class="fas fa-server text-yellow-400"&gt;&lt;/i&gt; מפעל המידע&lt;/button&gt;
            &lt;button onclick="switchTab('settings')" id="btn-settings" class="w-full p-3 rounded flex items-center gap-3 transition"&gt;&lt;i class="fas fa-key text-gray-400"&gt;&lt;/i&gt; הגדרות API&lt;/button&gt;
        &lt;/nav&gt;
        
        &lt;div class="text-[10px] text-gray-600 text-center"&gt;
            Main: Gemini 3.0 Pro&lt;br&gt;Chat: Gemini 2.5 Flash
        &lt;/div&gt;
    &lt;/aside&gt;

    &lt;main class="flex-1 p-4 relative flex flex-col"&gt;
        
        &lt;div id="tab-chat" class="flex-1 flex flex-col glass rounded-xl h-full relative overflow-hidden"&gt;
            &lt;div id="chat-loader" class="hidden"&gt;&lt;div class="thinking-bar"&gt;&lt;/div&gt;&lt;/div&gt;
            &lt;div id="chat-box" class="flex-1 overflow-y-auto space-y-4 p-4 pb-20"&gt;&lt;/div&gt;
            
            &lt;div class="absolute bottom-4 left-4 right-4 flex gap-2"&gt;
                &lt;label class="bg-slate-800 p-4 rounded-xl cursor-pointer hover:bg-slate-700 text-gray-400"&gt;
                    &lt;i class="fas fa-paperclip"&gt;&lt;/i&gt;
                    &lt;input type="file" id="file-upload" class="hidden" onchange="fileSelected()"&gt;
                &lt;/label&gt;
                &lt;input id="chat-input" class="flex-1 bg-slate-900 border border-slate-700 rounded-xl p-4 text-white outline-none" placeholder="הקלד או דבר..."&gt;
                &lt;button id="mic-btn" onclick="toggleVoice()" class="bg-slate-800 p-4 rounded-xl text-white hover:bg-slate-700"&gt;&lt;i class="fas fa-microphone"&gt;&lt;/i&gt;&lt;/button&gt;
                &lt;button onclick="sendChat()" class="bg-blue-600 p-4 rounded-xl text-white hover:bg-blue-500"&gt;&lt;i class="fas fa-paper-plane"&gt;&lt;/i&gt;&lt;/button&gt;
            &lt;/div&gt;
            &lt;div id="file-notify" class="absolute bottom-20 right-6 text-xs text-blue-400"&gt;&lt;/div&gt;
        &lt;/div&gt;

        &lt;div id="tab-content" class="hidden flex-1 flex flex-col glass rounded-xl h-full p-6 space-y-4 relative overflow-hidden"&gt;
            &lt;div id="content-loader" class="hidden"&gt;&lt;div class="thinking-bar"&gt;&lt;/div&gt;&lt;/div&gt;
            &lt;h2 class="text-2xl font-bold text-purple-400"&gt;יצירת תוכן (3.0 Pro)&lt;/h2&gt;
            &lt;div class="flex gap-2"&gt;
                &lt;input id="content-topic" class="flex-1 bg-slate-900 border border-slate-700 p-3 rounded outline-none" placeholder="נושא..."&gt;
                &lt;select id="content-type" class="bg-slate-900 border border-slate-700 p-3 rounded"&gt;&lt;option&gt;מאמר&lt;/option&gt;&lt;option&gt;פוסט&lt;/option&gt;&lt;option&gt;מייל&lt;/option&gt;&lt;/select&gt;
                &lt;button onclick="genContent()" class="bg-purple-600 text-white px-6 rounded hover:bg-purple-500"&gt;צור&lt;/button&gt;
            &lt;/div&gt;
            &lt;div id="content-res" class="prose flex-1 bg-black/50 p-6 rounded overflow-y-auto border border-gray-800"&gt;&lt;/div&gt;
        &lt;/div&gt;

        &lt;div id="tab-code" class="hidden flex-1 flex flex-col glass rounded-xl h-full p-6 space-y-4 relative overflow-hidden"&gt;
            &lt;div id="code-loader" class="hidden"&gt;&lt;div class="thinking-bar"&gt;&lt;/div&gt;&lt;/div&gt;
            &lt;h2 class="text-2xl font-bold text-blue-400"&gt;בניית פרויקטים&lt;/h2&gt;
            &lt;input id="proj-name" class="bg-slate-900 border border-slate-700 p-3 rounded outline-none" placeholder="שם הפרויקט (באנגלית)"&gt;
            &lt;textarea id="proj-desc" class="bg-slate-900 border border-slate-700 p-3 rounded outline-none h-32" placeholder="תיאור המערכת..."&gt;&lt;/textarea&gt;
            &lt;button onclick="genCode()" class="bg-blue-600 text-white p-4 rounded hover:bg-blue-500 font-bold"&gt;בנה ושמור&lt;/button&gt;
            &lt;div id="code-res" class="text-center text-gray-400 mt-4"&gt;&lt;/div&gt;
        &lt;/div&gt;

        &lt;div id="tab-agent" class="hidden flex-1 flex flex-col glass rounded-xl h-full p-6 space-y-4 relative overflow-hidden"&gt;
            &lt;div id="agent-loader" class="hidden"&gt;&lt;div class="thinking-bar"&gt;&lt;/div&gt;&lt;/div&gt;
            &lt;h2 class="text-2xl font-bold text-red-500"&gt;סוכן אוטונומי&lt;/h2&gt;
            &lt;div class="flex gap-2"&gt;
                &lt;input id="agent-input" class="flex-1 bg-black border border-red-900 p-4 rounded text-red-100 font-mono" placeholder="פקודה (למשל: תפתח מחשבון ותיצור תיקייה בשם X)"&gt;
                &lt;button onclick="runAgent()" class="bg-red-700 text-white px-6 rounded hover:bg-red-600"&gt;בצע&lt;/button&gt;
            &lt;/div&gt;
            &lt;div id="agent-log" class="flex-1 bg-black p-4 rounded border border-red-900/30 text-green-400 font-mono overflow-y-auto text-sm"&gt;
                &gt; System Ready.
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div id="tab-knowledge" class="hidden flex-1 flex flex-col glass rounded-xl h-full p-6 space-y-4 relative overflow-hidden"&gt;
            &lt;h2 class="text-2xl font-bold text-yellow-400"&gt;מפעל המידע&lt;/h2&gt;
            &lt;div class="flex gap-2"&gt;
                &lt;input id="know-topic" class="flex-1 bg-slate-900 border border-yellow-700 p-3 rounded outline-none" placeholder="נושא למאגר..."&gt;
                &lt;button id="btn-start" onclick="startKnow()" class="bg-green-600 text-white px-6 rounded"&gt;התחל&lt;/button&gt;
                &lt;button id="btn-stop" onclick="stopKnow()" class="hidden bg-red-600 text-white px-6 rounded"&gt;עצור&lt;/button&gt;
            &lt;/div&gt;
            &lt;div id="know-log" class="flex-1 bg-black/50 p-4 rounded border border-yellow-900 text-gray-300 overflow-y-auto"&gt;&lt;/div&gt;
        &lt;/div&gt;

        &lt;div id="tab-settings" class="hidden flex-1 flex flex-col glass rounded-xl h-full p-6 space-y-4 relative overflow-hidden"&gt;
            &lt;h2 class="text-2xl font-bold text-gray-400"&gt;הגדרות API&lt;/h2&gt;
            &lt;div class="flex gap-2"&gt;
                &lt;input id="api-key-input" type="password" class="flex-1 bg-slate-900 border border-slate-700 p-3 rounded outline-none text-left" placeholder="Google Gemini API Key"&gt;
                &lt;button onclick="saveApiKey()" class="bg-gray-700 text-white px-6 rounded hover:bg-gray-600 font-bold"&gt;שמור מפתח&lt;/button&gt;
            &lt;/div&gt;
            &lt;div id="api-status" class="text-green-400 mt-2"&gt;&lt;/div&gt;
        &lt;/div&gt;

    &lt;/main&gt;

    &lt;script&gt;
        function switchTab(t) {
            ['chat','content','code','agent','knowledge','settings'].forEach(x =&gt; {
                document.getElementById('tab-'+x).classList.add('hidden');
                document.getElementById('btn-'+x).classList.remove('active-tab');
            });
            document.getElementById('tab-'+t).classList.remove('hidden');
            document.getElementById('btn-'+t).classList.add('active-tab');
        }

        let voiceActive = false;
        const recognition = new (window.SpeechRecognition || window.webkitSpeechRecognition)();
        recognition.lang = 'he-IL';
        
        recognition.onresult = e =&gt; {
            document.getElementById('chat-input').value = e.results[0][0].transcript;
            sendChat();
        };
        recognition.onend = () =&gt; { if(voiceActive &amp;&amp; !window.speechSynthesis.speaking) recognition.start(); };

        function toggleVoice() {
            voiceActive = !voiceActive;
            const btn = document.getElementById('mic-btn');
            if(voiceActive) {
                recognition.start();
                btn.classList.add('voice-active');
            } else {
                recognition.stop();
                btn.classList.remove('voice-active');
                window.speechSynthesis.cancel();
            }
        }

        let file = null;
        function fileSelected() {
            file = document.getElementById('file-upload').files[0];
            document.getElementById('file-notify').innerText = "קובץ: " + file.name;
        }

        async function sendChat() {
            const inp = document.getElementById('chat-input');
            const txt = inp.value; if(!txt &amp;&amp; !file) return;
            const box = document.getElementById('chat-box');
            
            box.innerHTML += `&lt;div class='flex'&gt;&lt;div class='bg-blue-900/50 p-3 rounded-xl max-w-[80%]'&gt;${txt || '[קובץ]'}&lt;/div&gt;&lt;/div&gt;`;
            inp.value = ''; document.getElementById('file-notify').innerText = '';
            
            document.getElementById('chat-loader').classList.remove('hidden');
            
            const fd = new FormData();
            fd.append('message', txt);
            if(file) { fd.append('file', file); file = null; }

            try {
                const res = await fetch('/api/chat', {method:'POST', body:fd});
                const d = await res.json();
                const html = marked.parse(d.response || d.error);
                box.innerHTML += `&lt;div class='flex justify-end mt-2'&gt;&lt;div class='prose bg-slate-800 p-3 rounded-xl max-w-[80%]'&gt;${html}&lt;/div&gt;&lt;/div&gt;`;
                box.scrollTop = box.scrollHeight;
                
                if(voiceActive) {
                    const u = new SpeechSynthesisUtterance((d.response||'').replace(/[*#]/g, ''));
                    u.lang = 'he-IL';
                    window.speechSynthesis.speak(u);
                }
            } catch(e) {}
            document.getElementById('chat-loader').classList.add('hidden');
        }

        async function runAgent() {
            const txt = document.getElementById('agent-input').value;
            const log = document.getElementById('agent-log');
            log.innerHTML += `\\n&gt; Executing: ${txt}...`;
            document.getElementById('agent-loader').classList.remove('hidden');
            
            try {
                const res = await fetch('/api/agent_execute', {
                    method:'POST', headers:{'Content-Type':'application/json'},
                    body: JSON.stringify({request:txt})
                });
                const d = await res.json();
                log.innerHTML += `\\n${d.log}\\n----------------`;
            } catch(e) { log.innerHTML += `\\nError.`; }
            document.getElementById('agent-loader').classList.add('hidden');
        }

        async function genContent() {
            document.getElementById('content-loader').classList.remove('hidden');
            const res = await fetch('/api/content', {
                method:'POST', headers:{'Content-Type':'application/json'},
                body: JSON.stringify({
                    topic: document.getElementById('content-topic').value,
                    type: document.getElementById('content-type').value
                })
            });
            const d = await res.json();
            document.getElementById('content-res').innerHTML = marked.parse(d.content || d.error);
            document.getElementById('content-loader').classList.add('hidden');
        }

        async function genCode() {
            document.getElementById('code-loader').classList.remove('hidden');
            const res = await fetch('/api/code', {
                method:'POST', headers:{'Content-Type':'application/json'},
                body: JSON.stringify({
                    projectName: document.getElementById('proj-name').value,
                    description: document.getElementById('proj-desc').value
                })
            });
            const d = await res.json();
            document.getElementById('code-res').innerText = d.success ? "✅ הפרויקט נשמר בהצלחה!" : "Error";
            document.getElementById('code-loader').classList.add('hidden');
        }
        
        let knowCtx = '';
        let knowFile = '';
        async function startKnow() {
            document.getElementById('btn-start').classList.add('hidden');
            document.getElementById('btn-stop').classList.remove('hidden');
            const t = document.getElementById('know-topic').value;
            const res = await fetch('/api/knowledge/start', {
                method:'POST', headers:{'Content-Type':'application/json'},
                body: JSON.stringify({topic:t})
            });
            const d = await res.json();
            knowFile = d.filename;
            document.getElementById('know-log').innerHTML = "התחלנו...";
            nextChunk(t);
        }
        async function nextChunk(t) {
            const res = await fetch('/api/knowledge/chunk', {
                method:'POST', headers:{'Content-Type':'application/json'},
                body: JSON.stringify({topic:t, filename:knowFile, context:knowCtx})
            });
            const d = await res.json();
            if(d.status === 'continue') {
                document.getElementById('know-log').innerHTML += `&lt;div&gt;✅ פרק נכתב.&lt;/div&gt;`;
                knowCtx += d.summary;
                nextChunk(t);
            } else {
                document.getElementById('know-log').innerHTML += `&lt;div class='text-red-400'&gt;נעצר.&lt;/div&gt;`;
                stopKnow();
            }
        }
        function stopKnow() {
            fetch('/api/knowledge/stop', {method:'POST'});
            document.getElementById('btn-start').classList.remove('hidden');
            document.getElementById('btn-stop').classList.add('hidden');
        }

        async function saveApiKey() {
            const key = document.getElementById('api-key-input').value;
            if(!key) return;
            const res = await fetch('/api/settings', {
                method:'POST', headers:{'Content-Type':'application/json'},
                body: JSON.stringify({api_key: key})
            });
            const d = await res.json();
            document.getElementById('api-status').innerText = d.success ? "✅ מפתח נשמר והמערכת עודכנה בהצלחה!" : "❌ שגיאה בשמירת המפתח";
        }

        document.getElementById('chat-input').addEventListener('keypress', e=&gt;{if(e.key==='Enter') sendChat()});
        document.getElementById('agent-input').addEventListener('keypress', e=&gt;{if(e.key==='Enter') runAgent()});
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;"""

@app.route('/')
def home():
    return HTML_CONTENT

@app.route('/api/settings', methods=['POST'])
def save_settings():
    try:
        data = request.json
        new_key = data.get('api_key')
        if new_key:
            with open(ENV_FILE, "w", encoding="utf-8") as f:
                f.write(f"GOOGLE_API_KEY={new_key}\n")
            os.environ["GOOGLE_API_KEY"] = new_key
            init_gemini()
            return jsonify({'success': True})
        return jsonify({'success': False})
    except Exception as e:
        return jsonify({'error': str(e)}), 500

@app.route('/api/chat', methods=['POST'])
def chat():
    if not chat_session:
        return jsonify({'error': 'Missing API Key. Please configure it in settings.'}), 400
    try:
        uploaded_file = None
        if 'file' in request.files:
            file = request.files['file']
            if file.filename != '':
                filename = secure_filename(file.filename)
                path = os.path.join(UPLOADS_DIR, filename)
                file.save(path)
                uploaded_file = genai.upload_file(path)

        user_msg = request.form.get('message')
        
        if uploaded_file:
            response = chat_session.send_message([user_msg, uploaded_file])
        else:
            response = chat_session.send_message(user_msg)
            
        return jsonify({'response': response.text})
    except Exception as e:
        return jsonify({'error': str(e)}), 500

@app.route('/api/content', methods=['POST'])
def generate_content():
    if not model_main:
        return jsonify({'error': 'Missing API Key.'}), 400
    try:
        data = request.json
        prompt = f"נושא: {data.get('topic')}. סוג: {data.get('type')}. כתוב בעברית ברמה אקדמית."
        
        response = model_main.generate_content(prompt)
        return jsonify({'content': response.text})
    except Exception as e:
        return jsonify({'error': str(e)}), 500

@app.route('/api/code', methods=['POST'])
def generate_code_direct():
    if not model_main:
        return jsonify({'error': 'Missing API Key.'}), 400
    try:
        data = request.json
        proj_name = data.get('projectName')
        target_dir = os.path.join(PROJECTS_DIR, proj_name)
        if not os.path.exists(target_dir): os.makedirs(target_dir)

        prompt = f'''
        Act as an Expert Developer using {MODEL_MAIN_NAME}.
        Project: {proj_name}
        Description: {data.get('description')}
        OUTPUT FORMAT ONLY:
        ###FILENAME: filename.ext
        content...
        NO MARKDOWN.
        '''
        response = model_main.generate_content(prompt)
        
        files_created = []
        files = response.text.split("###FILENAME: ")
        for f in files:
            if not f.strip(): continue
            parts = f.split("\n", 1)
            if len(parts) &lt; 2: continue
            filename = parts[0].strip()
            content = parts[1].replace("```python", "").replace("```", "")
            
            full_path = os.path.join(target_dir, filename)
            os.makedirs(os.path.dirname(full_path), exist_ok=True)
            with open(full_path, "w", encoding="utf-8") as file:
                file.write(content)
            files_created.append(filename)
            
        if not files_created: raise Exception("No files generated")
        return jsonify({'success': True, 'path': target_dir, 'files': files_created})
    except Exception as e:
        return jsonify({'error': str(e)}), 500

@app.route('/api/agent_execute', methods=['POST'])
def agent_execute():
    if not model_main:
        return jsonify({'log': 'Missing API Key.'})
    try:
        data = request.json
        user_request = data.get('request')
        
        prompt = f'''
        You are an Autonomous System Agent.
        User Request: "{user_request}"
        
        Supported Actions JSON format:
        [
            {{"action": "create_folder", "path": "name"}},
            {{"action": "create_file", "path": "name.txt", "content": "text"}},
            {{"action": "open_app", "app_name": "calc"}},
            {{"action": "run_cmd", "command": "ping 8.8.8.8"}}
        ]
        RETURN ONLY JSON ARRAY.
        '''
        
        plan_response = model_main.generate_content(prompt)
        plan_text = plan_response.text.replace("```json", "").replace("```", "").strip()
        
        try:
            actions = json.loads(plan_text)
        except:
            start = plan_text.find('[')
            end = plan_text.rfind(']') + 1
            if start != -1 and end != -1:
                actions = json.loads(plan_text[start:end])
            else:
                return jsonify({'log': "❌ שגיאה בפענוח הפקודה. נסה שוב."})

        log = []
        for act in actions:
            action = act.get('action')
            try:
                if action == 'create_folder':
                    path = os.path.join(PROJECTS_DIR, act.get('path'))
                    os.makedirs(path, exist_ok=True)
                    log.append(f"✅ תיקייה: {act.get('path')}")
                elif action == 'create_file':
                    path = os.path.join(PROJECTS_DIR, act.get('path'))
                    with open(path, "w", encoding="utf-8") as f: f.write(act.get('content', ''))
                    log.append(f"✅ קובץ: {act.get('path')}")
                elif action == 'open_app':
                    os.system(f"start {act.get('app_name')}")
                    log.append(f"🚀 הפעלה: {act.get('app_name')}")
                elif action == 'run_cmd':
                    res = subprocess.run(act.get('command'), shell=True, capture_output=True, text=True)
                    log.append(f"💻 פקודה: {act.get('command')}\n&gt;&gt; {res.stdout}")
            except Exception as e:
                log.append(f"❌ שגיאה בביצוע {action}: {e}")

        return jsonify({'log': "\n".join(log)})
    except Exception as e:
        return jsonify({'log': f"Critical Error: {str(e)}"})

@app.route('/api/knowledge/start', methods=['POST'])
def start_knowledge():
    global stop_generation_flag
    stop_generation_flag = False
    data = request.json
    topic = data.get('topic')
    filename = f"{topic.replace(' ', '_')}_{int(time.time())}.html"
    filepath = os.path.join(KNOWLEDGE_DIR, filename)
    with open(filepath, "w", encoding="utf-8") as f:
        f.write(f"&lt;h1 dir='rtl' style='text-align:center'&gt;{topic}&lt;/h1&gt;&lt;hr&gt;")
    return jsonify({'filename': filename, 'path': filepath})

@app.route('/api/knowledge/chunk', methods=['POST'])
def generate_chunk():
    if not model_main:
        return jsonify({'status': 'error', 'summary': 'Missing API Key.'})
    if stop_generation_flag: return jsonify({'status': 'stopped'})
    data = request.json
    
    prompt = f'''
    Continue writing the knowledge base about: "{data.get('topic')}".
    Previous context: {data.get('context')}
    Write the next chapter in Hebrew (HTML format). High detail.
    '''
    try:
        response = model_main.generate_content(prompt)
        filepath = os.path.join(KNOWLEDGE_DIR, data.get('filename'))
        with open(filepath, "a", encoding="utf-8") as f:
            f.write(f"&lt;div dir='rtl' style='margin:20px; font-family:sans-serif'&gt;{response.text}&lt;/div&gt;")
        return jsonify({'status': 'continue', 'content': response.text, 'summary': "פרק נוסף נכתב..."})
    except Exception as e:
        return jsonify({'status': 'error'})

@app.route('/api/knowledge/stop', methods=['POST'])
def stop_knowledge():
    global stop_generation_flag
    stop_generation_flag = True
    return jsonify({'status': 'stopping'})

def run_flask_server():
    app.run(host='127.0.0.1', port=5000, debug=False, use_reloader=False)

if __name__ == '__main__':
    server_thread = threading.Thread(target=run_flask_server, daemon=True)
    server_thread.start()
    
    time.sleep(1.5)
    
    qt_app = QApplication(sys.argv)
    qt_app.setStyleSheet("QMainWindow { background-color: #0f0f14; }")
    
    main_window = QMainWindow()
    main_window.setWindowTitle("JARVIS V5 ULTIMATE")
    main_window.resize(1280, 800)
    
    icon_path = os.path.join(ASSETS_DIR, "123.ico")
    if os.path.exists(icon_path):
        main_window.setWindowIcon(QIcon(icon_path))
        
    browser = QWebEngineView()
    browser.setUrl(QUrl("http://127.0.0.1:5000"))
    
    main_window.setCentralWidget(browser)
    main_window.show()
    
    sys.exit(qt_app.exec_())


                
]]></description><link>https://tochnot-css.duckdns.org/techoclick/topic/245/שיתוף-תוכנת-ai-שמבצעת-פעולות-במחשב-עם-ג-x27-ימיני-עובד-למנוטרפים.</link><guid isPermaLink="true">https://tochnot-css.duckdns.org/techoclick/topic/245/שיתוף-תוכנת-ai-שמבצעת-פעולות-במחשב-עם-ג-x27-ימיני-עובד-למנוטרפים.</guid><dc:creator><![CDATA[CSS]]></dc:creator><pubDate>Thu, 01 Oct 2026 12:51:31 GMT</pubDate></item><item><title><![CDATA[שיתוף | פקסלסי - V1.0 גרסת בטא - תוכנת עריכת תמונות מגוונת מאד!]]></title><description><![CDATA[זה גרסת בטא של תוכנת עריכת תמונות:
יש מלא פונקציות ואני מתקשה לבחור מאיפה להתחיל עם כי זה לא הפונקציו המלאות! זה אך ורק גרסת בטא! בגרסה המלאה אני ישלב את כל המנועי AI ובעז"ה נגיע לפוטושופ 
זה התכונות כרגע לא בפירוט:

חיתוך.
סיבוב.
מברשת מחיקה או ציור עם כל הצבעים
צורות.
הוספת תיבת טקסט עם כל הגופנים שמותקנים לכם על המחשב.
רקעים מיוחדים (צבעים מיוחדים יוצאי דופן) למילים או לתיבת טקסט.
עם /  בלי מסגרת.
כל מיני אפקטי 3D למילים ולתיבות.
הסרת רקע עוד לא פעיל!
החלקת עור.
תיקון עינים.
הסרת רעש.
עריכת בהירות.
עריכת ניגודית.
עריכת רווית צבעים.
עריכת חשיפה.
עריכת חדות.
עריכת טמפרטורה.
פילטרים מהירים: שחור לבן, ספייה, היפוך, חמים, קריר וינטאג'.
הפיכת התמונה שתראה כאילו צוירה בעיפרון.
הפיכת התמונה כאילו היא ציור קומיקס.
אפקט HDR מרהיב.
טשטוש תנועה.
זיהוי קצוות.
היסטורית עריכה על מנת לבטל.

תמונות:
[image: Symbol_for_photo_editing_software_202606191427.jpeg]

                
                    Spoiler 
                
                
                    
[image: ed6a97cf-e21b-4946-b56d-6e690356d41f-image.jpeg]
[image: 2382a8a7-00a1-4867-a6e2-eeb6bdab7ab9-image.jpeg]
[image: f8b5201e-d2e0-4343-bfbf-78f25d9088b7-image.jpeg]
[image: 35c1d2cb-e5e8-4339-9586-cde151a2abea-image.jpeg]
[image: 330263bf-b3ed-4ba0-9022-1f1df244b044-image.jpeg]

                
להורדה:
פיקסלסי בטא - V1.0
משום שהאנטי ווירוסים מצביעים על התוכנה כמסוכנת אני מעלה את הקוד אבל אני משאיר את כל הזכויות לי בלבד!
המנוע:
1.py
מסך הפתיחה:
1.html
הממשק עצמו:
2.html
]]></description><link>https://tochnot-css.duckdns.org/techoclick/topic/222/שיתוף-פקסלסי-v1.0-גרסת-בטא-תוכנת-עריכת-תמונות-מגוונת-מאד</link><guid isPermaLink="true">https://tochnot-css.duckdns.org/techoclick/topic/222/שיתוף-פקסלסי-v1.0-גרסת-בטא-תוכנת-עריכת-תמונות-מגוונת-מאד</guid><dc:creator><![CDATA[CSS]]></dc:creator><pubDate>Thu, 01 Oct 2026 12:50:22 GMT</pubDate></item><item><title><![CDATA[להורדה | אפליקציית פיצול מסכים]]></title><description><![CDATA[ב"ה יצרתי אפליקצייה לפיצול מסכים בצורה נוחה וקלה.
באפליקציה יש :

שמירת זוגות של אפליקציות,והצמדתם למסך הבית .
שינוי - עברית/אנגלית/ברירת מחדל של המערכת .
שירות הפעלה נגיש .

להורדה :
להורדה
תהנו !
תמונות:

                
                    Spoiler 
                
                
                    [image: Screenshot_20260918-043704.png] [image: Screenshot_20260918-043726.png] [image: Screenshot_20260918-043750.png] [image: Screenshot_20260918-043800.png] [image: Screenshot_20260918-043814.png] [image: Screenshot_20260918-043840.png] [image: Screenshot_20260918-043917.png]
                
]]></description><link>https://tochnot-css.duckdns.org/techoclick/topic/411/להורדה-אפליקציית-פיצול-מסכים</link><guid isPermaLink="true">https://tochnot-css.duckdns.org/techoclick/topic/411/להורדה-אפליקציית-פיצול-מסכים</guid><dc:creator><![CDATA[מוקד המערכות]]></dc:creator><pubDate>Thu, 01 Oct 2026 12:48:29 GMT</pubDate></item><item><title><![CDATA[להורדה | אפליקציית קופה לחנות ולסופר]]></title><description><![CDATA[אני לאחרונה טיפה משועמם.
החלטתי לקחת רעיון לידיים ויצרתי אפליקצייה לקופה.
זאת אומרת יש קטגוריות של חטיפים שתייה ואתה מכניס איזה מוצר שבא לך ועושה חשבון.
בסוף אתה עושה סיום ויש היסטוריה וכו'
האפליקצייה.
קופהטופ_1_1.0.apk
קרדיט ענק על העזרה וההדרכה...
צילומי מסך:

                
                    Spoiler 
                
                
                    [image: b41b4cb0-6392-4b14-99ec-2f77e8b45937-c33115dd-c7b9-4b26-8f77-af13927dcfec-image.png]
                
]]></description><link>https://tochnot-css.duckdns.org/techoclick/topic/401/להורדה-אפליקציית-קופה-לחנות-ולסופר</link><guid isPermaLink="true">https://tochnot-css.duckdns.org/techoclick/topic/401/להורדה-אפליקציית-קופה-לחנות-ולסופר</guid><dc:creator><![CDATA[מטען נייד]]></dc:creator><pubDate>Thu, 01 Oct 2026 12:32:27 GMT</pubDate></item><item><title><![CDATA[להורדה | צ'אט בבלוטוס]]></title><description><![CDATA[️ ️ ️
צאט שמתכתבים דרך הבלוטוס...
איך זה עובד???
פותחים בשתי הנגנים את הבלוטוס מתקינים את האפליקציה ולהתכתב...

                
                    Spoiler 
                
                
                    בלי לשון הרע בבקשה 
                
Chat.apk
תהנו
]]></description><link>https://tochnot-css.duckdns.org/techoclick/topic/398/להורדה-צ-אט-בבלוטוס</link><guid isPermaLink="true">https://tochnot-css.duckdns.org/techoclick/topic/398/להורדה-צ-אט-בבלוטוס</guid><dc:creator><![CDATA[מטען נייד]]></dc:creator><pubDate>Thu, 01 Oct 2026 12:25:37 GMT</pubDate></item><item><title><![CDATA[בדיקה זמנית]]></title><link>https://tochnot-css.duckdns.org/techoclick/topic/124/בדיקה-זמנית</link><guid isPermaLink="true">https://tochnot-css.duckdns.org/techoclick/topic/124/בדיקה-זמנית</guid><pubDate>Thu, 01 Oct 2026 12:21:59 GMT</pubDate></item><item><title><![CDATA[המלצה | אפליקציית תשעה באב]]></title><description><![CDATA[לאחר חודש של עבודה
האפליקציה מוכנה
בניתי אפליקציה שמכילה את כל הדברים שמותר ללמוד בת"ב
האפליקציה מכילה רקעים של החורבן והופכת את המכשיר למצב כהה
האפליקציה להורדה(להוריד כוכביות) https://drive.google.com/file******/d/1eePFfKHh7Hhi0eXWhuEepX-ON3lfA7KI/view?usp=sharing
גירסה 1.5.1
]]></description><link>https://tochnot-css.duckdns.org/techoclick/topic/290/המלצה-אפליקציית-תשעה-באב</link><guid isPermaLink="true">https://tochnot-css.duckdns.org/techoclick/topic/290/המלצה-אפליקציית-תשעה-באב</guid><dc:creator><![CDATA[רפי סאם]]></dc:creator><pubDate>Thu, 01 Oct 2026 11:45:44 GMT</pubDate></item><item><title><![CDATA[שיתוף | yutfri - V1.5 מנוע חיפוש בסרטונים שפתוחים בנטפרי.]]></title><description><![CDATA[כמובן אי אפשר בלי משפט הפתיחה: בסיעתא דישמיא גמרתי לפתח את המנוע חיפוש ביוטיוב בסרטונים שפתוחים בנטפרי
מה שופר?
- אז  השיפור הכי גדול זה שיש במנוע 420,000 סרטונים מאונדקסים!! שביומים אחרונים עבדתי עליהם (כמובן עם בוטים שחיפושו באינטרנט..)

מעכשיו המנוע לא מחזיר רק את הכתובת URL אלא הוא מחזיר גם את השם של הסרטון וגם את השם של הערוץ שבו הסרטון הופיע...

איך מפעילים
(לקרוא עד הסוף ההתחלה כמו במדריך הקודם אבל שימו לב שהפלט של המנוע הוא שונה)
טוב אז הקריאה מהפעם הקודמת לא השתנתה כדי לקרוא אל המנוע קוראים באותה צורה עם הפקודה:
yutfri.exe 10 "רולי דיקמן"

כשאת המילה "רולי דיקמן" כמובן יש להחליך המילות החיפוש
ואת המספר 10 יש להחליף בכמות התוצאות שרוצים שהמנוע יחזיר.
לקבלת כל התוצאות יש להשתמש בתיגית all במקום המספר כך שהפקודה תראה ככה:
yutfri.exe all "רולי דיקמן"

על מנת לקרוא לתוכנה מה CMD הפקודה היא:
yutfri.exe 10 "רולי דיקמן"

על מנת לקרוא אליה מה PowerShell הפקודה היא:*
.\yutfri.exe 10 "רולי דיקמן"

הפלט של המנוע:
מעכשיu והמנוע מחזיר קודם, שורה ראשונה זה שורה שמודיעה על תחילת החיפוש, יש להגדיר בתוכנות להתעלם מהשורה הזו. יש לשים לב שלא תמיד השורה מופיעה! אלא רק לפעמים!
ואז מאס מתחיל הסיפור, מאז זה מחזיר:

שורה ראשונה: כתובת ה URL.
שורה שניה: שם המלא של הסרטון כפי שמופיע ביוטיוב.
שורה שלישית: שם הערוץ שבו הסרטון עלה.

לדוגמא:
הפקודה:
&gt;yutfri.exe 1 "רולי דיקמן"

הפלט:
https://www.youtube.com/watch?v=kh7xJDP5wPk
אדרבה - רולי דיקמן &amp; יואלי דיקמן ותזמורתו
רולי דיקמן הערוץ הרשמי Ruli Dikman

להורדה:
yutfri.exe
]]></description><link>https://tochnot-css.duckdns.org/techoclick/topic/214/שיתוף-yutfri-v1.5-מנוע-חיפוש-בסרטונים-שפתוחים-בנטפרי.</link><guid isPermaLink="true">https://tochnot-css.duckdns.org/techoclick/topic/214/שיתוף-yutfri-v1.5-מנוע-חיפוש-בסרטונים-שפתוחים-בנטפרי.</guid><dc:creator><![CDATA[CSS]]></dc:creator><pubDate>Thu, 01 Oct 2026 11:28:40 GMT</pubDate></item><item><title><![CDATA[להורדה | MAESTRO STUDIO – אולפן ליצירת מקצבים]]></title><description><![CDATA[יצרתי קובץ HTML שיבנה ביחד אתכם מקצבים .
העיצוב שלו פשוט מטורף !!!
זה עוד לא נבדק מול אורגן אמיתי, אבל נראה טוב ומעניין .
אז יאללה מעניין אותי מה אתם חושבים, האם זה עובד, ו/או נצרך.
אשמח לשמוע הערות והארות...
להורדה :
adce07e9-2340-4bb5-9981-beb40c3f3133-Maestro-Studio.htm
פירוט מgpt :

                
                    Spoiler 
                
                
                     MAESTRO STUDIO — אולפן ליצירת מקצבים
סביבת עבודה בעברית ליצירה, עריכה והשמעה של מקצבי תופים — בקובץ HTML עצמאי, ללא התקנה.
התוכנה משלבת עורך מקצבים, כלי נגינה להדגמה, טעינת דגימות אישיות, מיקסר, חלוקה לחלקי מקצב וייצוא קבצים. בנוסף, ניתן לחבר מפתח Gemini אישי לקבלת הצעות מקצב ושינויים באמצעות הנחיות בעברית.
━━━━━━━━━━━━━━━━━━
 עורך מקצבים אינטראקטיבי
יצירת מקצב באמצעות רשת צעדים: כל שורה מייצגת כלי, וכל משבצת מייצגת נקודת זמן.
• לחיצה על משבצת מוסיפה או מסירה נקישה.
• שילוב Shift ולחיצה משנה את עוצמת הנקישה.
• שליטה בטמפו בטווח של 40–240 BPM.
• תמיכה במשקלים 4/4, 3/4 ו־6/8.
• שליטת Swing לשינוי תחושת הקצב.
• סימון הצעד המתנגן בזמן ההשמעה.
• הפעלה ועצירה באמצעות כפתור הנגינה או מקש הרווח.
• העתקה והדבקה בין חלקים, ניקוי חלק וביטול שינויים.
• גיוון עוצמות ליצירת הדגשות, בלי לשנות את מיקום הנקישות.
בגרסה הנוכחית כל חלק במקצב מכיל תיבה אחת.
━━━━━━━━━━━━━━━━━━
 מבנה מקצב מחולק לחלקים
העבודה מחולקת לשמונה חלקים שאפשר לערוך בנפרד:
• פתיחה — כניסה למקצב.
• וריאציות 1–4 — גרסאות שונות לגרוב.
• מעברים 1–2 — משפטי תופים למעבר בין חלקים.
• סיום — סגירת המקצב.
ניתן להשמיע חלק אחד בלולאה, או את כל החלקים ברצף.
התוכנה כוללת תבניות התחלה בסגנונות פופ, דאנס, מזרחי ופאנק. אלו תבניות מובנות המבוססות על כללים, ואינן נוצרות באמצעות AI.
━━━━━━━━━━━━━━━━━━
 חדר כלים והדגמות
אזור ייעודי להיכרות עם הצלילים, האזנה והשוואה בין ערכות.
שישה ערוצי תופים:
 קיק — צליל הבס והבסיס של הגרוב.
 סנר — הדגשות חדות שנותנות דחיפה למקצב.
 היי־האט סגור — חלוקה קצבית קצרה ומדויקת.
 היי־האט פתוח — צליל מתכתי עם דעיכה ארוכה יותר.
 טום — כלי להדגשות, תשובות ומעברים.
 קראש — מצילה להדגשת כניסה או שינוי בחלק.
לכל כלי אפשר:
• להשמיע צליל בודד.
• להאזין למשפט נגינה קצר.
• לראות את צורת הגל של מקור הצליל.
• לשנות את מאפייני הצליל במיקסר.
• להוריד את הצליל כקובץ WAV עם הגדרות המיקס.
━━━━━━━━━━━━━━━━━━
️ ארבע ערכות צלילים — 24 צלילים מובנים
Studio One
ערכת סינתזה מאוזנת עם קיק עמוק, סנר בעל גוף ומצילות בהירות.
Voltage
אופי אלקטרוני: קיק נמוך וארוך יותר, סנר אלקטרוני והיי־האט מתכתי.
Dust &amp; Tape
צלילים קצרים ומרוככים, עם אופי מחוספס שמתאים לגרובים רגועים.
Desert Pulse
ערכת סינתזה בהשראת כלי הקשה, עם קיק קצר וטום גבוה יותר.
אפשר להחליף ערכה ולהשמיע הדגמה מלאה שלה.
הצלילים המובנים מסונתזים; הם אינם הקלטות של כלים אקוסטיים או דגימות דרבוקה אמיתיות.
━━━━━━━━━━━━━━━━━━
️ פדים לנגינה חיה
נגינה ישירה באמצעות לחיצה על פדים במסך או באמצעות המקלדת:
• A — קיק.
• S — סנר.
• D — היי־האט סגור.
• F — היי־האט פתוח.
• G — טום.
• H — קראש.
הפדים מאפשרים לבדוק צלילים ולנגן רעיונות בזמן אמת. הנגינה בפדים אינה מוקלטת אוטומטית לתוך רשת המקצב.
━━━━━━━━━━━━━━━━━━
️ מיקסר ועיצוב צליל
לכל ערוץ קיימות בקרות נפרדות:
• עוצמה — איזון הכלי ביחס לשאר הערוצים.
• סטריאו — מיקום הצליל בין ימין לשמאל.
• כיוון — העלאה או הורדה של גובה הצליל.
• אורך — קיצור משך הצליל.
• בהירות — ריכוך התדרים הגבוהים.
• השתקה — הוצאת הערוץ מהמיקס.
• סולו — האזנה לערוץ אחד או לקבוצת ערוצים נבחרת.
בנוסף קיימות שליטה בעוצמה הראשית ואפשרות לאיפוס המיקס.
ההגדרות משפיעות על ההשמעה ועל ייצוא השמע, ונשמרות בקובץ הפרויקט.
━━━━━━━━━━━━━━━━━━
 טעינת דגימות אישיות
אפשר לטעון קובצי WAV ופורמטי שמע נוספים שהדפדפן תומך בפענוח שלהם.
• טעינת כמה דגימות יחד.
• האזנה לדגימה לפני השימוש.
• שיוך דגימה לערוץ תופים.
• הצעת שיוך ראשונית לפי שם הקובץ, כאשר הוא מזוהה.
• החלפה בין דגימה אישית לצליל המובנה.
• שמירת הדגימות בתוך קובץ הפרויקט.
מגבלות הטעינה הנוכחיות: עד 30 דגימות, עד 5MB ועד 10 שניות לכל דגימה.
השיוך לפי שם הקובץ אינו זיהוי מוזיקלי מבוסס AI, ולכן ניתן וחשוב לתקן אותו ידנית.
━━━━━━━━━━━━━━━━━━
 מיפוי תווים לאורגן
לכל ערוץ אפשר לקבוע מספר תו MIDI בין 0 ל־127.
כך ניתן, למשל, לשנות את מספר התו של הקיק או הסנר כדי שיפעיל את הצליל המתאים בערכת התופים של המשתמש.
המיפוי מיושם בייצוא ה־MIDI. מומלץ לעבוד לפי מספר התו, משום ששמות האוקטבות עשויים להשתנות בין תוכנות וכלי נגינה.
ההתאמה לאורגן תלויה גם בערכה ובהגדרות שלו; שינוי מספר התו לבדו אינו מבטיח תאימות מלאה.
━━━━━━━━━━━━━━━━━━
 ניתוח קצב מתוך קובץ שמע
כלי מקומי וניסיוני ליצירת נקודת התחלה מתוך רצועת תופים.
תהליך העבודה:

טוענים קובץ שמע.
מאזינים ובוחרים את תחילת הקטע.
מגדירים טמפו ומשך לניתוח.
מפעילים ניתוח מקומי.
בודקים ועורכים את הווריאציות שהתקבלו.

המנוע מזהה התקפות צליל, משייך אותן באופן משוער לקיק, לסנר ולהיי־האט, ומחפש חזרתיות בין התיבות. מתוך החזרתיות הוא מציע ארבע וריאציות ברמות צפיפות שונות.
• קובץ מקור: עד 25MB וחמש דקות.
• קטע לניתוח: 2–30 שניות.
• עדיפות לרצועת תופים מבודדת.
זהו ניתוח אות בסיסי, לא הפרדת ערוצים ולא תמלול תופים מדויק באמצעות AI. מוזיקה מלאה עלולה להפיק תוצאות שגויות.
━━━━━━━━━━━━━━━━━━
 חיבור אופציונלי ל־Gemini
ניתן להזין מפתח Google AI Studio אישי ולבקש מהמודל:
• להציע מקצב בהשראת קטע שמע.
• ליצור פתיחה, וריאציות, מעברים וסיום.
• להתמקד בגרוב חוזר ולא בכל שינוי מקרי בביצוע.
• לשנות את המקצב באמצעות הוראות בעברית.
דוגמאות להנחיות:
 „צור וריאציה עדינה יותר לבית.”
 „הוסף מעבר צפוף לפני הפזמון.”
 „שמור על הקיק ושנה את ההיי־האט.”
 „הפוך את המקצב לאלקטרוני יותר.”
התוכנה בודקת את מבנה התוצאה לפני החלתה. אם התוצאה אינה תקינה, המקצב אינו מוחלף. אפשר גם לבטל שינוי שהוחל.
החיבור דורש אינטרנט, מפתח תקין ומודל מתאים. פעולות AI שולחות את ההנחיה או את קטע השמע ל־Google ועשויות לצרוך מכסה בתשלום. המפתח אינו נשמר בקובץ הפרויקט.
החיבור נכתב אך טרם אומת מול חשבון פעיל מתוך קובץ HTML מקומי. איכות ההצעות דורשת בדיקה והאזנה.
━━━━━━━━━━━━━━━━━━
 פקודות מקומיות — ללא מפתח AI
לצד Gemini קיימות פקודות מוגדרות מראש, שפועלות מקומית:
• „הגבר את הסנר.”
• „הנמך את הקיק.”
• „הוסף היי האט.”
• „צור מעבר מהיר יותר.”
• „טמפו 120.”
אלו פקודות עריכה מבוססות כללים, ולא צ׳אט שמבין כל בקשה בשפה חופשית.
━━━━━━━━━━━━━━━━━━
 שמירת פרויקט ופתיחתו מחדש
שמירת פרויקט כקובץ JSON הכולל:
• שם הפרויקט.
• הטמפו, המשקל והסווינג.
• שמונת חלקי המקצב.
• מיקומי הנקישות והעוצמות שלהן.
• מפת תווי ה־MIDI.
• ערכת הצלילים שנבחרה.
• הדגימות האישיות.
• הגדרות המיקס ועיצוב הצליל.
אפשר לפתוח את הקובץ בהמשך ולהמשיך לעבוד.
השמירה ידנית: שינויים אינם נכתבים לתוך קובץ ה־HTML עצמו. יש ללחוץ על „שמירת פרויקט” לפני הסגירה.
━━━━━━━━━━━━━━━━━━
 אפשרויות ייצוא
MIDI — כל חלקי המקצב
קובץ תקני בפורמט SMF 0, עם סמנים לחלקים ונתוני תופים בערוץ MIDI מספר 10.
MIDI — החלק הנבחר
ייצוא של וריאציה, מעבר, פתיחה או סיום בנפרד.
WAV — החלק הנבחר
הפקת קובץ שמע עם הצלילים והגדרות המיקס שנבחרו.
WAV — כלי בודד
הורדת צליל מהערכה או מדגימה אישית, עם הגדרות עיצוב הצליל.
MIDI אינו מכיל את הדגימות או את עיצוב הסאונד, ואינו קובץ STY מקורי של Korg. התאמת סמני החלקים וייבואם דורשים בדיקה מול דגם האורגן.
━━━━━━━━━━━━━━━━━━
 קובץ HTML עצמאי — ללא התקנה
כל הממשק, העיצוב וקוד האולפן כלולים בקובץ אחד.
• פתיחה מקומית בדפדפן, למשל Chrome או Edge.
• אין צורך בהתקנת סביבת פיתוח או בהפעלת שרת.
• העורך, הצלילים המובנים, הדגימות, הניתוח המקומי והייצוא אינם תלויים בשירות AI.
• רק פעולות Gemini דורשות חיבור לאינטרנט.
━━━━━━━━━━━━━━━━━━
 יכולות שעדיין אינן כלולות
• פענוח קובצי SET/KMP של Korg.
• חילוץ דגימות מתוך סט של אורגן.
• הפרדת שיר לערוצים באמצעות Demucs.
• תמלול תופים מדויק באמצעות מודל ייעודי.
• יצירת ליווי מלודי והרמוני, בס ואקורדים.
• ייבוא מוזיקה מקישורי YouTube.
• יצירת קובץ STY מקורי.
• אימות תאימות מלא לדגם Korg מסוים.
מצב הגרסה: אולפן תופים ראשוני עם כלי עריכה, צלילים, הדגמות וייצוא. בדיקות הקוד, מבנה ה־MIDI ושמירת הפרויקט עברו; בדיקת השמעה חזותית ושמיעתית בדפדפן ובדיקה מול אורגן אמיתי עדיין נדרשות.
                
]]></description><link>https://tochnot-css.duckdns.org/techoclick/topic/416/להורדה-maestro-studio-אולפן-ליצירת-מקצבים</link><guid isPermaLink="true">https://tochnot-css.duckdns.org/techoclick/topic/416/להורדה-maestro-studio-אולפן-ליצירת-מקצבים</guid><dc:creator><![CDATA[מוקד המערכות]]></dc:creator><pubDate>Thu, 01 Oct 2026 10:58:35 GMT</pubDate></item><item><title><![CDATA[שיתוף | הקריין V1.0 - תוכנת AI של  קריינות אנושית מלאה אופליין! - שלושה קולות לבחירה.]]></title><description><![CDATA[בסיעתה דשמיא פתחתי תוכנת AI אופליין מטורפת ליצירת קריינות
התוכנה יש בה שלושה קולות:

שאול.
שמעון.
יעקב.

השתדלתי לעשות את התוכנה מותאמת לכל סוגי הווינדאוס והמעבדים! ורצה בהצלחה גם על CPU בהצלחה מרובה! 
התוכנה משתמש במודל של HebTTS (2024) יש מלא אופציות בתוכנה
התכונות:

מיצב מודל בהתאם למעבד והזיכרון RAM.
שליטה במהירות הדיבור.
שליטה גובה הטון של הדיבור.
שליטה בעוצמת השמע של הדיבור.
עצירה באמצע.
קפיצה קדימה / אחורה 5 שניות.
מצב לולאה.
מגבר בס.
מגבר טריבל.
הדגשת קול.
אפשרות אפקט רדיו.
אפשרות לסאונד עמום.
אפשרות לקול עמוק / גבוה.
אפשרות לעשות סאונד שמאל / ימין / מרכז.
קומפטור.
אפקט הד.
איפוס אפקטים.
הורדת קובץ.
עליה במהירות.
הסרת המודל מה RAM בסיום.
וכמובן לא צריך  להזכיר ממשק מעוצב היטב.


תמונות.

[image: סמל תוכנת קרינות.jpeg]

                
                    Spoiler 
                
                
                    
[image: 24b67a34-ec20-4011-bb3e-83b328c3cf2d-image.png]
[image: 1eb062c0-3d9f-4f0c-90d2-5dff68a5599c-image.png]
[image: 632bee9a-4520-489f-86ca-5f4aeabc9dea-image.png]

                
להורדה:


התוכנה בפרו שוקלת 4:80 GB במיני.


הניקוד שבתוכנה זה סתם אין צורך לנקד! הניקוד לא מוזיז כלום גם ככה זה לא משנה כלום כי המודל לא מקבל ניקוד...



pro
הקריין - V1.0 Pro
Mini
הקריין - 1.0 Mini
בהצלחה.... 

                
                    Spoiler 
                
                
                     ניתן לפענח את הקובץ לחילוץ הקוד, אבל אין לפרסם אותו בשום מקום לא ציבורי ולא פרטי! התוכנה נבנתה עם עזרה מסוימת מ AI
                
]]></description><link>https://tochnot-css.duckdns.org/techoclick/topic/225/שיתוף-הקריין-v1.0-תוכנת-ai-של-קריינות-אנושית-מלאה-אופליין-שלושה-קולות-לבחירה.</link><guid isPermaLink="true">https://tochnot-css.duckdns.org/techoclick/topic/225/שיתוף-הקריין-v1.0-תוכנת-ai-של-קריינות-אנושית-מלאה-אופליין-שלושה-קולות-לבחירה.</guid><dc:creator><![CDATA[CSS]]></dc:creator><pubDate>Thu, 01 Oct 2026 10:47:20 GMT</pubDate></item><item><title><![CDATA[שיתוף | תוכנה שתתמלל לכם מדיבור לטקסט &#x2F; מקובץ שמע, לטקסט אופליין!]]></title><description><![CDATA[פיתחתי תוכנת תמלול אופליין מתקדמת
כתבתי ידנית את כל הקוד חוץ מהעיצוב שבזה השתמשתי בAI.
התוכנה מאפשרת תמלול מדויק ומהיר, כולל תמלול מקבצי שמע בהרבה פורמטים:
MP3, WAV, M4A.
תכונות בולטות:


תמלול איכותי, ברור ומדויק, גם מקבצים ארוכים.


המרת קובץ לא מוכר לקובץ שהיא מכירה לצורך התמלול.


תמלול מקובץ או מדיבור.


ממשק נעים לעין.


עבדתי קשה זמן רב כדי לפתח את התוכנה בלי AI כמעט
אשמח לשמוע ביקורת בונה על התוכנה.
להורדה:
תמללן V1
תמונות בספוילר

                
                    Spoiler 
                
                
                    
[image: 2cbfe1f3-61b3-4739-8ace-23ba391c657d-image.png]
[image: 3278ee6c-0115-41fe-8ff9-a4ee22dd73ae-image.png]
[image: 538db683-50e6-475a-9799-5b51f611ce98-image.png]
[image: 5de5c856-4786-4466-bc88-c352d1ce199c-image.png] 
                
]]></description><link>https://tochnot-css.duckdns.org/techoclick/topic/250/שיתוף-תוכנה-שתתמלל-לכם-מדיבור-לטקסט-x2f-מקובץ-שמע-לטקסט-אופליין</link><guid isPermaLink="true">https://tochnot-css.duckdns.org/techoclick/topic/250/שיתוף-תוכנה-שתתמלל-לכם-מדיבור-לטקסט-x2f-מקובץ-שמע-לטקסט-אופליין</guid><dc:creator><![CDATA[CSS]]></dc:creator><pubDate>Thu, 01 Oct 2026 10:35:24 GMT</pubDate></item><item><title><![CDATA[שיתוף | לאונצ&#x27;ר תומך מקשים שיצרתי!]]></title><description><![CDATA[[image: Screenshot_20260603-183552.png]
הגרסה הראשונית:
nokia-launcher.apk
גרסה עם הפונט של נוקיה:
nokia-hebrew.apk
לשיאומי מקשים:
nokia-hebrew.apk
]]></description><link>https://tochnot-css.duckdns.org/techoclick/topic/352/שיתוף-לאונצ-x27-ר-תומך-מקשים-שיצרתי</link><guid isPermaLink="true">https://tochnot-css.duckdns.org/techoclick/topic/352/שיתוף-לאונצ-x27-ר-תומך-מקשים-שיצרתי</guid><dc:creator><![CDATA[מחנה ידידים]]></dc:creator><pubDate>Thu, 01 Oct 2026 10:34:45 GMT</pubDate></item><item><title><![CDATA[שיתוף | הנקדן - V1.0 תוכנת ניקוד טקסט פול מהירה, עם מודל AI אופליין מתקדם!]]></title><description><![CDATA[ברוך השם גמרתי לפתח תוכנה לניקוד טקסט עם מודל AI מתקדם אופליין!
התוכנה היא בממשק נח מאד ופשוט ניתן גם לערוך את הניקוד ידנית אחרי ה AI, אין הגבלה על טקסט אפשר לעלות כל גול של טקסט כולל העלעת קבצים!
הפונקציות בתוכנה: (אין הרבה כי את הרוב ה AI עושה..)

הכנסת טקסט לניקוד.
העלעת קובץ לניקוד.
עריכת הניקוד ידנית.
העתקת הטקסט המנוקד.
הורדה של הטקסט המנוקד.
מהירות מטורפת גם על מחשבים חלשים.
ממשק נח מאד.

תמונות:
[image: 1 (2).jpeg]

                
                    Spoiler 
                
                
                    
[image: 92af8376-211f-4f43-83f7-6d981f557d87-image.jpeg]
[image: f3771cb4-01da-4ac3-b5c3-8af0c31f62da-image.jpeg]

                
להורדה:
הקובץ שוקל 450MB
הנקדן - V1.0
]]></description><link>https://tochnot-css.duckdns.org/techoclick/topic/220/שיתוף-הנקדן-v1.0-תוכנת-ניקוד-טקסט-פול-מהירה-עם-מודל-ai-אופליין-מתקדם</link><guid isPermaLink="true">https://tochnot-css.duckdns.org/techoclick/topic/220/שיתוף-הנקדן-v1.0-תוכנת-ניקוד-טקסט-פול-מהירה-עם-מודל-ai-אופליין-מתקדם</guid><dc:creator><![CDATA[CSS]]></dc:creator><pubDate>Thu, 01 Oct 2026 10:33:52 GMT</pubDate></item><item><title><![CDATA[שיתוף | חדש! חדש! צ&#x27;אט בינה מלאכותית קולית!]]></title><description><![CDATA[יצרתי תוכנת דפדפן של צ'אט בינה מלאכותית קולית עם gpt בקובץ html יחיד!
להוריד מפה:
בינה מלאכותית קולית.zip
יש להגדיר את ה api בהגדרות!!
]]></description><link>https://tochnot-css.duckdns.org/techoclick/topic/273/שיתוף-חדש-חדש-צ-x27-אט-בינה-מלאכותית-קולית</link><guid isPermaLink="true">https://tochnot-css.duckdns.org/techoclick/topic/273/שיתוף-חדש-חדש-צ-x27-אט-בינה-מלאכותית-קולית</guid><dc:creator><![CDATA[CSS]]></dc:creator><pubDate>Thu, 01 Oct 2026 09:45:34 GMT</pubDate></item><item><title><![CDATA[מדריך | תוכנת צ&#x27;אט בינה מלאכותית שמתחברת עם API]]></title><description><![CDATA[יצרתי תוכנת בינה מלאכותית שמתחברת עם API של OpenAI לדגם: gpt-4o mini
תשאלו מה שונה מה שיצרתי מהרבה תוכנות?
כל התוכנות מי שיודע מי שעובד עם API בגרסה החינמית זה מספיק לבערך 5 שאלות וזהו אחר כך זה כותב שנגמר הטוקנים למה זה עושה את זה? לא בגלל שבאמת זה השתמש בכל הטוקנים שלך
אלא זה סתם מבזבז לך בלי סיבה טוקנים! (זה מגיעה עם 100,000 טוקנים לאיכול להיות שזה נגמר אחרי 5 שאלות)
לכן התוכנה שלי עובדת עם חיסכון בטוקנים ויש ממשק הגדרות שממנו אתה קובע את ה API וכמה וטקנים זה יבזבז לכל תשובה וכך זה מספיק לבערך 500 שאלות (שזה המון!) במקום 5!!!!!!
התוכנה פה:
בינה מלאכותית.zip
]]></description><link>https://tochnot-css.duckdns.org/techoclick/topic/284/מדריך-תוכנת-צ-x27-אט-בינה-מלאכותית-שמתחברת-עם-api</link><guid isPermaLink="true">https://tochnot-css.duckdns.org/techoclick/topic/284/מדריך-תוכנת-צ-x27-אט-בינה-מלאכותית-שמתחברת-עם-api</guid><dc:creator><![CDATA[CSS]]></dc:creator><pubDate>Thu, 01 Oct 2026 09:28:19 GMT</pubDate></item><item><title><![CDATA[להורדה | לבעלי מחשב לנובו v14 - הסוף ללחצן קופיילוט...]]></title><description><![CDATA[עצבן אותי הלחצן קופיילוט שלא עושה כלום אז פיתחתי תוכנה - מבוססת AutoHotkey
test.exe
הוא הופך את לחצן קופיילוט המיותר ללחצן קונטרול הימני - מה שאין במקלדת של לנובו v14
]]></description><link>https://tochnot-css.duckdns.org/techoclick/topic/311/להורדה-לבעלי-מחשב-לנובו-v14-הסוף-ללחצן-קופיילוט...</link><guid isPermaLink="true">https://tochnot-css.duckdns.org/techoclick/topic/311/להורדה-לבעלי-מחשב-לנובו-v14-הסוף-ללחצן-קופיילוט...</guid><dc:creator><![CDATA[רפי סאם]]></dc:creator><pubDate>Thu, 01 Oct 2026 09:23:42 GMT</pubDate></item><item><title><![CDATA[שיתוף | תוכנת מגדיל התמונות גרסה 2.0 - שינויים ותוספות]]></title><description><![CDATA[כהמשך לגרסאות שהועלו כאן: לנושא הקודם

הסבר על השימוש:
התוכנה בפתיחה הראשונה תציג לוח עם כמה מודלים לבחירה, יש לבחור את המודלים שתרצו שהתוכנה תשתמש בהם!(מודל אחד)
המודלים:
מודל זה הוא המודל הכי חזק שיש, יש לשים לב!! זה נועד למחשבים חזקים! על מחשב חלש זה עלול לקחת הרבה זמן!!
RealESRGAN_x4plus.pth
מודל זה הוא המודל מאד חזק כמו המודל הקודם רק שהוא יותר נועד לתמונות מציאותיות.
RealESRNet_x4plus.pth
מודל זה הוא מודל מהיר ונועד יותר למחשבים חלשים הוא המומלץ למחשב רגיל.
RealESRGAN_x2plus.pth
מודל זה הוא המודל שנועד לציורים ולאירוים וקריקטורות, יש לשים לב!! אם תעלו לו תמונה רגילה היא תהפך לקריקטורה!!!
RealESRGAN_x4plus_anime_6B.pth
מודל זה הוא המודל הכי מהיר שיש לתמונות רגילות
realesr-general-x4v3.pth
מודל זה הוא גרסה דומה לקודמת רק יותר אגרסיבי לתמונות
realesr-general-wdn-x4v3.pth
לידיעת הכלל, יש מודל בשם:  realesr-animevideov3.pth שהוא יורד ביחד עם המודל שתבחרו, זה המודל לווידיאו! הוא המודל הכי מהיר שיש ונועד לווידיאו 
נוסף מודל לווידיאו רק שימו לב שזה ממש איטי זה יכול לקחת אפילו  שעות!
השמח לקבל הערות והארות בונות..

להורדה:
מגדיל התמונות V2.0

לא להעתיק ללא כוכביות!!!

תמונות בספוילר:

                
                    Spoiler 
                
                
                    
[image: d0de26a0-3f86-4a29-b60d-41b3aff42b6a-image.png]
[image: 12799da4-1b57-4ebf-bf4e-008563037efa-image.png]
[image: 14bd7971-8398-4494-a19d-1d9a73e92a90-image.png]
[image: 0cb0f126-e576-45b2-9f1f-15a7727c3b92-image.png]

                

השיפורים בתוכנה

                
                    Spoiler 
                
                
                    
גרסה V1

התוכנה מקבלת גם שמות של תמונות בעברית.
עובדת על מודלי AI מקומיים באופליין!
הגדלה עד פי 32!! ללא טשטוש כלל!
ממשק נעים לעין.

גרסה V1.5

תוקנה הגלישת תמונה לכפתורים.
ביטול הפעולה באמצע.
בחירת כמה תמונות.
שיפור המהירות.
צמצום הגודל הסופי.
שינוי הגודל של התמונה.
גרירת תמונות.
שיפורים בעיצוב.
שמירת נתוני EXIF.
שחרור זיכרון.
עוצמת עיבוד ביחס למחשב.
שעון זמן הפעולה.

גרסה V2.0

העיצוב שונה לגמרי!!!
אפשרות בחירת מודל.
הזמן שופר משמעותית לכמה שניות!
שיפור סרטונים.
שינוי ניגודית.
שינוי בהירות.
שינוי רוויה.
כפתור העתקה.
כפתור חידוד אוטומטי.
מצב בהיר/כהה.
כפתור השהיה.
שינוי יחס תמונה.
סיבוב תמונה (ימינה/שמאלה).


                

מידע למפתחים

                
                    Spoiler 
                
                
                    
המודלים
RealESRGAN_x4plus.pth
RealESRNet_x4plus.pth
RealESRGAN_x2plus.pth
RealESRGAN_x4plus_anime_6B.pth
realesr-general-x4v3.pth
realesr-general-wdn-x4v3.pth
realesr-animevideov3.pth
טכנולוגיות וספריות מרכזיות
PyTorch מנוע הלמידה העמוקה המריץ את חישובי ה-AI כולל תמיכה בהאצת חומרה.
PyQt5 תשתית פיתוח הממשק הגרפי של התוכנה.
OpenCV ו NumPy לעיבוד התמונה המרכזיות לניהול פיקסלים חישובי מערכים וחלוקה לאריחים למניעת עומס על הזיכרון.
Pillow לשמירה וקריאה של נתוני EXIF מקוריים של התמונה.

                
]]></description><link>https://tochnot-css.duckdns.org/techoclick/topic/246/שיתוף-תוכנת-מגדיל-התמונות-גרסה-2.0-שינויים-ותוספות</link><guid isPermaLink="true">https://tochnot-css.duckdns.org/techoclick/topic/246/שיתוף-תוכנת-מגדיל-התמונות-גרסה-2.0-שינויים-ותוספות</guid><dc:creator><![CDATA[CSS]]></dc:creator><pubDate>Thu, 01 Oct 2026 09:21:20 GMT</pubDate></item><item><title><![CDATA[שיתוף | הורדה מיוטיוב לדרייב בכפתור אחד]]></title><description><![CDATA[הנושא הקודם נמחק מכיוון שהייתה בעיה בקוד שהובילה לפריצת סינונים.
כעת הדבר תוקן וכל סרטון עובר בדיקת נטפרי.
לאחר‌​‌‌​‌​​​​​‌ שריפת אינספור טוקונים בקלוד ואינספור שעות בגמיני, הגעתי לתוצאה המוגמרת!
כפתור פשוט ששולח לך למייל קישור לדרייב!
בשביל להתקין צריך תוסף tampermonkey מותקן והפעלת אישור סקריפט של משתמש.
הדרכה להתקנת התוסף ואישור סקריפט של משתמש בספויילר.

                
                    Spoiler 
                
                
                    יש להכנס לכתובת הזאת וללחוץ בצד ימין למעלה על הוספה לכרום.
לאחר מכן נפתח דף חדש בדפדפן עם עמוד הבית של אתר התוספים לא צריך להתייחס אליו אפשר לסגור אותו.
לאחר מכן יש ללחוץ על הלשונית הזאת בכרום
[image: a914cc5a-0c73-4130-b9ae-e5d93917c163-image.jpeg]
לוחצים הכי למטה על לשונית ניהול תוספים, ובדף שנפתח לוחצים על הכפתור שליד המילים מצב פיתוח שיהפוך לכחול
לפני:
[image: 9e9e1382-042e-4aae-a29b-e8ee78c93c43-image.jpeg]
אחרי:
[image: f724edfd-2c06-4298-afe4-75ffedd8c770-image.jpeg]
ואז באותו דף מחפשים את החלונית הזאת:
[image: acdca40d-969e-45ab-82c4-645d20e9d01e-image.jpeg]
ולוחצים על פרטים
יורדים טיפה ומאשרים את ההגדרה הזאת:
[image: b8626bf8-37f6-47f1-adb2-40e3381030bf-image.jpeg]
וזהו בגדול.
למי שלא מבין בזה בכלל לאחר הלחיצה על הקישור להתקנה שמופיע בסוף הפוסט נפתח התפריט הזה:
[image: 31d982a8-81e0-4f87-ab4c-e2fe17ca9ffc-image.jpeg]
ושם יש ללחוץ על התקן
לאחר מילוי כתובת המייל בלחיצה על הכפתור ביוטיוב יפתח חלונית אישור ושם יש ללחוץ על אפשר תמיד דומיין זה או משהו דומה.

                
כרגע הגבלתי את הבקשות ל3 בשעה למניעת הצפה.
הכפתור מופיע ביוטיוב בצד שמאל למטה, לחיצה עליו בפעם הראשונה פותחת חלונית שאליה צריך להזין כתובת מייל שאליה ישלח הקישור לדרייב.
בשימוש הראשון בלחיצה על הכפתור יפתח חלונית שבה יש למלא כתובת מייל, יש למלא את הכתובת מייל שאליה אתם רוצים שישותף הסרטון.
בדרך כלל לאחר לחיצה על אישור לאחר מילוי כתובת המייל יפתח דף של tampermonkey שבו יש לאשר את השימוש בתוסף.
לאחר מכן תחזרו לדף ביוטיוב ושם יופיע בקשה לקוד אישור, תחזרו למייל ושם תראו שקבלתם מייל שבו יש קוד בן 6 ספרות אותו יש להדביק בחלונית וללחוץ על אישור.
ואז יש ללחוץ על וידאו או אודיו, וזהו!
לאחר כמה שניות תצוץ חלונית שתראה האם הסרטון ירד בהצלחה ויופיע קישור לדרייב, ובמקביל תקבלו למייל מייל שיתוף לקובץ.

                
                    Spoiler 
                
                
                    לכאורה אמור גם להופיע מיד בפריטים ששותפו איתי אבל לא בדקתי את זה עדיין
                
שימו לב
השרת שמקבל את הבקשות לפעמים נחסם על ידי יוטיוב לכמה דקות ולאחר מכן חוזר לפעילות, ולכן אם קיבלתם שגיאה, אל תנסו שוב ושוב אלא חכו 20 דקות ותנסו שוב.
קרדיט ענק על העזרה והעבודה, שבלעדה זה לא היה עולה שוב. באמת תודה רבה!
כמו כן, קרדיט ל @אברהם-גלסר על בדיקת התוסף.
להתקנה ישירה דרך גיטאהב לחצו כאן
להערות והארות הגיבו כאן למטה
בהנאה!
]]></description><link>https://tochnot-css.duckdns.org/techoclick/topic/405/שיתוף-הורדה-מיוטיוב-לדרייב-בכפתור-אחד</link><guid isPermaLink="true">https://tochnot-css.duckdns.org/techoclick/topic/405/שיתוף-הורדה-מיוטיוב-לדרייב-בכפתור-אחד</guid><dc:creator><![CDATA[מטען נייד]]></dc:creator><pubDate>Thu, 01 Oct 2026 09:10:51 GMT</pubDate></item><item><title><![CDATA[תוסף חמוד שפיתחתי ✨ במקום לחפש אימוג'י - פשוט תתארו אותו וה-AI ימצא לכם]]></title><description><![CDATA[בניתי תוסף חמוד עם קלוד
מבוסס מפתח API של גמיני 3.5 פלאש לייט
שמוסיף לכם למתמחים טופ או לפרוג כפתור צף
ששם תוכלו למצוא את כל האימוג'ים שיש (או כל מה שגמיני מכיר)
ואפילו לקבל אותם ברצף מסוים
שימו לב לא לחלץ את הזיפ הזה (אחרי שהוספתם לו סיומת )
אלא פשוט להכניס אותו ככה לדף התוספים
מתמחים טופ=מתמחים טופ.zi
פרוג=פרוג.zi
תמונות בספוילר

                
                    Spoiler 
                
                
                    
זה הכפתור צף
[image: 850f8082-8218-4e80-8335-dba3aa8f180c-image.jpeg]
[image: 88b73313-1040-459e-a3a6-09554a441ef2-image.jpeg]
[image: 4b486580-4ab6-48a1-a2a3-e2a217608182-image.jpeg]
אפשר גם לעשות כזה דבר
[image: 159af337-a623-4870-8e3a-abde7ea64670-image.jpeg]


                
]]></description><link>https://tochnot-css.duckdns.org/techoclick/topic/432/תוסף-חמוד-שפיתחתי-במקום-לחפש-אימוג-י-פשוט-תתארו-אותו-וה-ai-ימצא-לכם</link><guid isPermaLink="true">https://tochnot-css.duckdns.org/techoclick/topic/432/תוסף-חמוד-שפיתחתי-במקום-לחפש-אימוג-י-פשוט-תתארו-אותו-וה-ai-ימצא-לכם</guid><dc:creator><![CDATA[חובב תכנות]]></dc:creator><pubDate>Thu, 01 Oct 2026 08:57:37 GMT</pubDate></item><item><title><![CDATA[להורדה | עוזר קולי חכם עם Whisper (זיהוי דיבור מקומי)]]></title><description><![CDATA[מעניין אותי מה דעתכם על זה – עוזר קולי לאנדרואיד.
המטרה הייתה ליצור עוזר שאפשר פשוט לדבר איתו, בלי להסתמך על מערכת זיהוי הדיבור הרגילה של המכשיר.
מה שיש כרגע באפליקציה:


זיהוי דיבור באמצעות Whisper
האפליקציה כוללת מודל Whisper מובנה בתוך ה־APK, כך שהמרת הדיבור לטקסט מתבצעת ישירות דרך המודל.


עיבוד מקומי
המודל נמצא בתוך האפליקציה עצמה, ולכן זיהוי הדיבור יכול להתבצע על המכשיר ולא חייב לעבור בכל פעם דרך שירות חיצוני.


דיבור → טקסט
מדברים אל האפליקציה, היא מזהה את הדיבור וממירה אותו לטקסט שאפשר לעבד בהמשך.


זיהוי קולי מתקדם
יש גם מנגנון לזיהוי מקטעי דיבור, כך שהמערכת יכולה להתמקד בדיבור עצמו ולא לעבד סתם רעשי רקע לאורך כל ההקלטה.


נבנה עם דגש על עבודה מקומית
אחד הדברים שהיה לי חשוב בפרויקט הוא שהחלק של זיהוי הדיבור יהיה כמה שיותר עצמאי ולא יהיה תלוי רק ב־API חיצוני.


תמיכה במכשירי Android
האפליקציה בנויה לאנדרואיד וכוללת את רכיבי העיבוד הקולי בתוך האפליקציה.


הפרויקט עדיין בפיתוח, ויש עוד הרבה דברים שאני רוצה לשפר ולהוסיף בהמשך – בעיקר סביב הפקודות הקוליות, מה שהעוזר יכול לעשות עם הטקסט שהוא מזהה, ומהירות ונוחות השימוש.


אשמח לשמוע פידבק ממי שמנסה – במיוחד לגבי מהירות הזיהוי, דיוק הזיהוי ומה לדעתכם כדאי להוסיף לעוזר.
להורדה מעוגן פליי :
https://ogenplay.com/apps/7fccd94d-e37b-4121-9a63-82979090bc13
תמונות :

                
                    Spoiler 
                
                
                    [image: 1ec23557-3852-4106-b225-6e92a98771e2.jpe] [image: Screenshot_20260924-025609[1].png]  
                
]]></description><link>https://tochnot-css.duckdns.org/techoclick/topic/413/להורדה-עוזר-קולי-חכם-עם-whisper-זיהוי-דיבור-מקומי</link><guid isPermaLink="true">https://tochnot-css.duckdns.org/techoclick/topic/413/להורדה-עוזר-קולי-חכם-עם-whisper-זיהוי-דיבור-מקומי</guid><dc:creator><![CDATA[מוקד המערכות]]></dc:creator><pubDate>Thu, 01 Oct 2026 08:49:24 GMT</pubDate></item><item><title><![CDATA[שיתוף | ציבען - V1.0 תוכנת צביעת תמונות שחור - לבן לצבעוני אופליין!]]></title><description><![CDATA[ברוך השם סימתי לפתח תוכנה אופליין! של צביעת תמונות שחור לבן, אני אישית לא מכיר תוכנות כאלה אם אתם מכירים אין צורך להעיר כי עוד תוכנה בשוק לא תזיק תתמכו זה לא יזיק לכם מבטיח..
[image: Field_with_mountains_snow-capped_202608030313.jpeg]
קיצער התוכנה לא מכילה הרבה אופציות מלבד הצביעת תמונה בתוכנה בעצם אתם בוחרים את התמונה ואז יש כפתור לצביעה וזהו..

אחרי הצביעה אפשר לגרור את העכבר על התמונה כדי לראות את ההשוואה.
יש תמיכה במצב יום / לילה.
וזהו..
אבל! התוכנה כמובן ברמה גבוהה מאד! ומהירה מאד! אני יתן דוגמא:
[image: 1.png] [image: 2.png]
רואים שזה מאד מקוצעי לכן בחרתי במודל שבחרתי!

גרסה - V2.0
השיפורים:

נוסף אפשרות המרה מצבעוני לשחור לבן.
נוסף אפשרות המרה חכמה שלוקחת יותר זמן אבל לא מאבדת איכות.

להורדה:
התוכנה מגיעה כקובץ EXE יחיד נייד ולא התקנה,
התוכנה שוקלת 190MB
ציבען - V2.0
גרסאות ישנות:
ציבען - V1.0
]]></description><link>https://tochnot-css.duckdns.org/techoclick/topic/209/שיתוף-ציבען-v1.0-תוכנת-צביעת-תמונות-שחור-לבן-לצבעוני-אופליין</link><guid isPermaLink="true">https://tochnot-css.duckdns.org/techoclick/topic/209/שיתוף-ציבען-v1.0-תוכנת-צביעת-תמונות-שחור-לבן-לצבעוני-אופליין</guid><dc:creator><![CDATA[CSS]]></dc:creator><pubDate>Thu, 01 Oct 2026 07:11:50 GMT</pubDate></item></channel></rss>