Maher-Bhatt/KALKI

GitHub: Maher-Bhatt/KALKI

KALKI 是一款 Windows 原生的语音控制 AI 个人助手,融合日常效率管理与网络安全工具箱,以钢铁侠风格的 HUD 界面呈现。

Stars: 3 | Forks: 0

# K.A.L.K.I. ### *最终化身 · 自主 AI* 一款原生支持 Windows、语音优先的 AI 个人助手,灵感来自《钢铁侠》中的 JARVIS —— 使用 Python 和单个 HTML 文件从零开始构建。以 Vishnu 的最终化身 Kalki 命名。 它在后台默默运行。通过 **"Hey KALKI"** 唤醒。以自然的神经网络语音说话。管理你的日常、运行你的代码、破解你的 hashes、扫描网站漏洞并读取你的日历 —— 所有这些都在一个钢铁侠风格的 HUD 中完成。 ![KALKI HUD](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/4a1438e508023530.png) | 待机 (藏红花色) | 监听 (孔雀色) | |:---:|:---:| | ![待机](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/174289ed5c023536.png) | ![监听](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/110983c74f023542.png) | ## 核心亮点 - 🎙 **语音优先,常驻待机** — "Hey KALKI" 唤醒词;云端 STT,并提供可选的**离线 Vosk** 引擎。内置麦克风选择功能可使蓝牙耳机保持高音质的 A2DP 状态。 - 🧠 **智能模型路由** — 日常对话使用快速的 8B 模型,代码/网络安全任务使用 LLaMA-3.3-70B。支持**离线回退**至本地 Ollama 模型。 - 🔐 **Web 漏洞扫描器** — *"scan this website"* 可读取你打开的浏览器标签页,审计 TLS / headers / cookies / CORS / 暴露的文件 / 危险的 HTTP 方法,抓取源码 + JS,搜寻泄露的密钥,映射表单/注入面,并运行主动的反射型 XSS / 开放重定向检查。非破坏性,提供漏洞发现与修复建议。 - 🛰 **站点看门狗** — 为你的网站提供后台监控:宕机/恢复警报 + SSL 过期警告(提前 14/7/2 天)。 - 📋 **剪贴板精灵** — *"decode my clipboard"* 自动识别 JWT / base64 / hex / hashes。 - 🌅 **晨间安全简报** — 提供与你所用技术栈相关的最新严重 CVE 漏洞 + 已监控网站的状态。 - 🎨 **印度“宫殿”风格 HUD** — 绛红 + 金色,jali 格栅,Ashoka-chakra / 莲花 / 苏里亚曼陀罗反应堆,以及rangoli点缀。 ## 功能 ### 语音与智能 - **常驻待机的唤醒词** — 随时随地说 "Hey KALKI";即使在浏览器标签页关闭的情况下也能工作 - **纯语音操作** — 监听器会在唤醒词后捕获后续语句;无需任何点击 - **Groq 驱动的大脑** — 使用 `llama-3.3-70b-versatile` 进行思考,使用 `llama-4-scout` 处理视觉 - **神经 TTS** — Microsoft edge-tts `en-GB-RyanNeural`(最接近电影配音的声音) - **停止指令** — 随时说 "stop",音频会立即切断 ### 个人助手 - **Google Calendar** — 每次开机时播报今天和明天的日程 - **自动日程提醒** — KALKI 会在每次会议前 15 分钟主动提醒你 - **Gmail(主要收件箱过滤)** — 只读取重要的未读邮件;忽略促销、社交、动态、论坛和垃圾邮件 - **任务 + 提醒** — 支持自然语言,如 "remind me to X in 10 minutes"(10 分钟后提醒我做 X) / "at 5 PM"(下午 5 点) - **笔记 + 日记** — "take a note"(记个笔记)、"what did I note yesterday"(我昨天记了什么),自动解析 `#tags` - **密码保险库** — 使用 DPAPI 加密(锁定在 Windows 用户账户下,无需主密码) - **WhatsApp 消息** — "send a WhatsApp to Dev saying I'll be late"(给 Dev 发个 WhatsApp 说我晚点到)(通过 pywhatkit 实现) - **Spotify 控制** — "play lo-fi"、"next song"、"pause"、"what's playing";如果未运行会自动启动 - **工作流模式** — "study mode"、"gaming mode"、"CTF mode" 可触发多步骤动作链 ### 网络安全工具包 - **Hashes** — 识别、生成 (MD5/SHA1/SHA256/SHA512/SHA3/NTLM/MD4) 及字典破解 - **编码/解码** — base64、hex、URL、rot13、二进制、摩斯密码 - **CVE 情报** — `lookup CVE-2024-3094`(通过 NVD API)以及 "recent critical CVEs"(最近 30 天,按最新排序) - **子域名枚举** — 通过 crt.sh,并以 hackertarget.com 作为备选 - **GitHub dorking** — 预制的搜索链接,用于查找 AWS keys、API keys、密码、.env 文件、SSH keys - **反弹 shell payload** — Bash、sh、Python、Python3、PowerShell、nc、mkfifo、PHP、Perl、Ruby - **端口扫描 / DNS / HTTP headers / WHOIS / ping** — 对标准的 42 个端口进行快速 TCP 探测 - **WiFi 密码恢复** — 通过 `netsh wlan show profile` 获取自有网络密码 - **屏幕视觉** — Groq vision API 可分析屏幕截图("look at my screen and solve this",查看我的屏幕并解决这个问题) ### 视觉与文件上传 - **点击 📎、拖放或按 Ctrl+V 粘贴** 以附加图片 / 代码 / 文本 - 图片会发送给 Groq vision 进行分析(CTF 挑战、代码截图、错误对话框) - 文本/代码文件会直接附加在你的消息前,以便 AI 查看完整内容 ### 代码引擎 - **"Write and run a Python script that scans port 80 on 10 IPs"**(编写并运行一个扫描 10 个 IP 的 80 端口的 Python 脚本)— 生成、保存并执行 - 支持 Python、PowerShell、Batch、Node、HTML - 脚本会带有时间戳并保存在 `data/scripts/` 目录下 ### 主动后台警报 - **电池** — 低于 20% 和 10% 时主动播报 - **CPU** — 持续过高(连续 3 次检测使用率 >95%) - **RAM** — 超过 90% - 所有警报均设有冷却时间(8–25 分钟),以避免频繁打扰 ### HUD - **中心方舟反应炉** — 60fps canvas,72 个随麦克风动态变化的频率条,32 个环绕粒子,12 个六边形单元,6 个耀斑光晕,旋转的文字环("KALKI · GROQ · LLAMA · NEURAL"),状态改变时的脉冲环 - **状态响应式主题** — 当 KALKI 处于待机/监听/思考/说话状态时,整个 UI 的色调都会随之改变(面板、品牌标志、读数条纹都会重新调整) - **实时 HUD 面板** — CPU/RAM/磁盘/网络/电源状态条,今日日历,未读邮件计数,正在播放的曲目,滚动遥测数据流 - **带复制按钮的代码块** — KALKI 的回复使用三反引号标记;UI 会以等宽字体渲染它们,并提供一键复制的按钮 - **TTS 中不会出现 "星号 星号"** — 在语音播报前会自动剥离 Markdown 标记 ## 架构 ``` ┌─────────────────────────┐ │ index.html (the HUD) │ │ Canvas + JS + CSS │ └──────────┬──────────────┘ │ /api/* HTTP+JSON ▼ ┌───────────────────────┴──────────────────────────┐ │ server.py │ │ http.server + ThreadingMixIn (stdlib only) │ │ - intent router (local commands) │ │ - background loops (alerts, calendar, reminders)│ │ - voice TTS pipeline │ └─┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬───────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ vault gcal vision coder spotify whatsapp notes tasks cybertools workflows mail ytdl ▲ │ POST /api/wake|chat|stop │ ┌──────────┴──────────────┐ │ listener.py │ │ SpeechRecognition+PyAudio │ cycles mic, fuzzy match│ └─────────────────────────┘ launcher.py (silent boot, registers HKCU\...\Run) ``` **为什么服务器只使用标准库?** 不依赖 Flask、FastAPI 或 npm —— KALKI 完全依赖 `python -m http.server` 的线程模型和一个单独的 HTML 文件。更易于审计、启动更快,无需构建步骤即可永远运行。 ## 项目结构 ``` C:\Kalki\ ├── server.py ← HTTP API + intent router + background loops ├── listener.py ← Always-on wake word + follow-up listener ├── launcher.py ← Silent boot + Windows autostart ├── config.py ← All keys & settings (gitignored) ├── config.example.py ← Template — copy to config.py and fill in ├── index.html ← The Iron Man HUD (canvas + vanilla JS) ├── requirements.txt ← pip dependencies ├── INSTALL.bat ← One-click installer ├── START.bat ← Manual launch (with console for debugging) │ │ ── Modules ── ├── vault.py ← DPAPI password store ├── cybertools.py ← Hashes, codecs, network, CVE, recon, payloads ├── vision.py ← Screenshot / image analysis via Groq vision ├── coder.py ← Code generation + execution sandbox ├── tasks.py ← Tasks + reminders (with time parsing) ├── notes.py ← Notes + journal with full-text search ├── mail.py ← IMAP Gmail reader (alt to OAuth) ├── gcal.py ← Google Calendar + Gmail OAuth ├── spotify_mod.py ← Spotify Web API control ├── whatsapp_mod.py ← pywhatkit-based messaging ├── workflows.py ← Multi-step modes (study/gaming/ctf/...) ├── ytdl.py ← yt-dlp wrapper │ │ ── One-time setup scripts ── ├── setup_google.py ← Google OAuth authorize ├── setup_spotify.py ← Spotify OAuth authorize │ └── data/ ← Local state (gitignored) ├── memory.json ├── history.json ├── tasks.json ├── reminders.json ├── notes.json ├── vault.json (DPAPI-encrypted) ├── google_token.pickle (OAuth cache) ├── spotify_token.json ├── contacts.json └── scripts/ (generated by /api/code/generate) ``` ## 安装说明 ### 前置条件 - **Windows 10/11** - **Python 3.11** — 从 [python.org](https://www.python.org/downloads/release/python-3119/) 安装,并勾选 **"Add Python to PATH"** - 一个**麦克风** - 一个**免费的 Groq API 密钥**(这是唯一必须的东西 —— 只需 1 分钟即可获取) ### 第 1 步 — 获取免费的 Groq API 密钥 *(必须)* KALKI 的大脑运行在 [Groq](https://console.groq.com) 上(免费、极速的 LLaMA 推理服务)。 1. 访问 **** 并登录(支持 Google 登录)。 2. 在左侧菜单中打开 **API Keys**。 3. 点击 **Create API Key**,为其命名(例如 `kalki`),然后点击 **Create**。 4. **复制密钥** — 格式类似于 `gsk_xxxxxxxxxxxxxxxxxxxx`。此密钥只会显示一次,请务必现在复制。 ### 第 2 步 — 下载与配置 ``` git clone https://github.com/Maher-Bhatt/KALKI.git C:\Kalki cd C:\Kalki copy config.example.py config.py ``` 在任意编辑器中打开 **`config.py`** 并粘贴你的密钥: ``` GROQ_API_KEY = "gsk_your_key_here" # <- paste the key from Step 1 OWNER_NAME = "YourName" # how KALKI addresses you OWNER_CITY = "YourCity" # for the weather line ``` ### 第 3 步 — 安装与运行 ``` INSTALL.bat :: installs Python dependencies START.bat :: launches KALKI ``` 几秒钟内,你会听到一句问候语,Chrome 会自动打开 **`http://localhost:8888`**,随后出现 HUD 界面。对它说 **"Hey KALKI"** 即可开始对话。 **开机自启(可选):** ``` py -3.11 launcher.py ``` 这会将 KALKI 注册到 `HKCU\...\Run` 项下,并添加一个启动快捷方式,使其在每次登录时静默启动。若要移除,请删除 `KALKI_v5` 注册表值。 ### 第 4 步 — 可选集成 所有项均为可选 —— 没有它们,KALKI 也能完全正常工作。 | 集成项 | 配置方法 | |---|---| | **Google Calendar + Gmail** | 在 [console.cloud.google.com](https://console.cloud.google.com):创建一个项目 → 启用 **Calendar API** + **Gmail API** → **OAuth consent screen**(外部,添加你的邮箱作为测试用户) → **Credentials → OAuth client ID → Desktop app** → 下载 JSON 文件到 `data/google_credentials.json` → 运行 `py -3.11 setup_google.py` 并在浏览器中授权。 | | **Spotify** | 在 [developer.spotify.com/dashboard](https://developer.spotify.com/dashboard):创建一个应用,设置重定向 URI **`http://127.0.0.1:8889/callback`**,将 **Client ID + Secret** 复制到 `config.py` 中,然后运行 `py -3.11 setup_spotify.py`。 | | **离线大脑** | 安装 [Ollama](https://ollama.com) 并运行 `ollama pull qwen2.5:7b` —— KALKI 在离线时会自动回退到该模型。 | | **Tesseract OCR** (视觉文本后备) | 从 [UB-Mannheim 构建](https://github.com/UB-Mannheim/tesseract/wiki) 中安装。 | | **字典文件** (用于 Hash 破解) | 将字典文件放置于 `data/wordlist.txt`。 | ## 语音指令参考 ### 音乐与媒体 | 说出指令 | 执行操作 | |---|---| | "Play lo-fi" | Spotify 搜索 + 播放 | | "Play Believer" | 播放该歌曲 | | "Pause" / "Resume" | 暂停 / 恢复 Spotify 播放 | | "Next song" / "Previous song" | 下一首 / 上一首 | | "What's playing" | 播报当前曲目 | | "Spotify volume 50" | 设置 Spotify 音量 | | "Download this YouTube video " | 使用 yt-dlp 下载 | ### 生产力 | 说出指令 | 执行操作 | |---|---| | "What's on my calendar" | 查看今日日程(若今天无日程则顺延查看明日) | | "What's on my calendar tomorrow" | 查看明日日程 | | "Check my Gmail" | 仅查看“主要”标签下的重要未读邮件 | | "Add task X" / "Show my tasks" | 任务管理 | | "Remind me to X in 10 minutes" / "at 5 PM" | 定时提醒 | | "Take a note Y" / "Show my notes" / "Notes from yesterday" | 笔记功能 | | "Send a WhatsApp to Dev saying I'll be late" | 发送 WhatsApp Web 消息 | | "Add contact Dev +91XXXXXXXXXX" | 保存到联系人 | ### 网络安全 | 说出指令 | 执行操作 | |---|---| | "MD5 of admin123" | 对字符串进行 Hash 计算 | | "Identify hash " |长度推测 Hash 类型 | | "Crack hash " | 使用 `data/wordlist.txt` 进行字典攻击 | | "Lookup CVE-2024-3094" | 通过 NVD 查询,提供摘要 + 评分 | | "Recent critical CVEs" | 查看过去 30 天内的严重漏洞 | | "Find subdomains of paypal.com" | 通过 crt.sh + hackertarget 查询 | | "GitHub dorks for example.com" | 生成搜索链接列表 | | "Reverse shell python 10.10.14.5 4444" | 在可复制的代码块中生成 payload | | "Port scan 192.168.1.1" | 扫描排名前 42 的 TCP 端口 | | "DNS google.com" / "Headers for example.com" / "Ping 1.1.1.1" | 网络侦察 | | "Base64 encode " / "Decode base64 " | 编解码(支持 hex、URL、rot13、二进制、摩斯密码) | | "What's my IP" / "IP info" | 查看公网 IP + 地理位置 | | "List my WiFi" / "WiFi password for HomeNet" | `netsh` 密码恢复 | ### 系统 | 说出指令 | 执行操作 | |---|---| | "What time is it" / "What date" | 查看本地时间与日期 | | "Battery" / "System info" | 查看 psutil 统计数据 | | "Set volume 60" / "Mute" / "Unmute" | 音量控制 (pycaw) | | "Take a screenshot" | Pillow ImageGrab → 保存至桌面 | | "Lock my PC" / "Sleep" / "Restart" / "Shutdown" | 执行 Windows 系统命令 | | "Open Chrome" / "Open YouTube" / "Open Documents" | 启动应用 / 文件夹 | | "Close Spotify" | 使用 psutil 终止进程 | ### 保险库与视觉 | 说出指令 | 执行操作 | |---|---| | "Save my Gmail password as hunter2" | 使用 DPAPI 加密存储到保险库 | | "What is my Gmail password" | 语音播报并显示密码 | | "List my passwords" | 显示所有标签 | | "Generate a strong password" | 生成 20 字符的随机密码 | | "Look at my screen and solve it" | 截图 → 发送给 Groq vision 分析 | | (将图片拖入窗口) "solve this" | 上传的图片 → 发送给 Groq vision 分析 | ### 工作流模式 (模糊匹配) | 说出指令 | 运行内容 | |---|---| | "Study mode" | 打开 Code、播放 lo-fi 歌单、调低音量 | | "Gaming mode" | 打开 Steam + Discord、关闭 Chrome | | "CTF mode"(也支持 "city of mode" — 语音识别容错) | 打开 Code、终端、exploit-db、gtfobins | | "Focus mode" | 调低音量、关闭 Discord | | "Morning routine" | 打开 Gmail + 日历 | | "Shutdown routine" | 关闭应用、锁定电脑 | ### 元指令 | 说出指令 | 执行操作 | |---|---| | "Stop" / "Shut up" / "Quiet" | 立即切断当前语音播报 | | "Pause listener" / "Resume listener" | 为其他应用释放麦克风 | | "Remember " / "What do you remember" | 长期记忆 | | "Tell me my details" | 播报所有者资料 + 记忆条数 | ## 技术栈 | 层级 | 技术选型 | |---|---| | Server | Python 3.11 标准库 (`http.server` + `ThreadingMixIn`) — 不使用 Flask | | LLM | Groq API (llama-3.3-70b-versatile / llama-4-scout vision) | | TTS | Microsoft edge-tts + pygame mixer (非阻塞) | | STT | Python SpeechRecognition + 使用 Google STT 识别唤醒词 | | Calendar/Mail | google-api-python-client + google-auth-oauthlib | | Music | spotipy (Spotify Web API) | | Messaging | pywhatkit (WhatsApp Web 自动化) | | Vault | pywin32 / `win32crypt` (DPAPI) | | System | psutil, pycaw, pillow, comtypes | | Recon | crt.sh, NVD API, hackertarget.com, DuckDuckGo HTML | | Frontend | Vanilla JS + Canvas2D,单个 `index.html`,无需构建步骤 | ## 许可证 MIT — 详见 [LICENSE](LICENSE)。 ## 致谢 - 愿景与名字源自 Marvel 的 Tony Stark。电影中的 KALKI = 灵感来源。 - [Groq](https://groq.com) 提供了极速的 LLaMA 推理服务 - [edge-tts](https://github.com/rany2/edge-tts) 提供了逼真的神经 Ryan 语音 - [crt.sh](https://crt.sh) 和 [NVD](https://nvd.nist.gov) 提供了免费的安全数据 - 感谢 MCU 的编剧们,让 Tony Stark 听起来如此迷人
标签:AI风险缓解, LLM大语言模型, Web安全扫描, 个人效率工具, 人工智能助手, 桌面自动化, 语音助手, 逆向工具