Redrock453/vika_ok
GitHub: Redrock453/vika_ok
Vika_Ok是一款多功能的AI代理,提供多LLM、RAG、OSINT分析等功能。
Stars: 2 | Forks: 0
# Vika_Ok 💙
### 战略情报AI代理
**RAG · OSINT · 多LLM后备 · 语音 · Telegram**
[](https://www.typescriptlang.org/)
[](https://www.python.org/)
[](https://react.dev/)
[](https://ai.google.dev/)
[](https://qdrant.tech/)
[](https://www.docker.com/)
[功能](#-features) · [架构](#-architecture) · [快速开始](#-quick-start) · [API参考](#-api-reference) · [部署](#-deployment) · [配置](#-configuration)
Vika_Ok — 多LLM提供商支持的AI助手,向量搜索(Qdrant + TF-IDF),OSINT分析,语音消息和Telegram集成。它作为Web仪表板(React + TypeScript)和Telegram机器人(Python + aiogram)运行。
## ✨ 功能
| 类别 | 功能 |
|-----------|-----------|
| **多LLM** | DO Agent → Groq → Gemini,具有指数退避和后备 |
| **RAG** | TF-IDF文档搜索(内置)+ Qdrant向量搜索(Telegram机器人) |
| **OSINT** | 通过Gemini grounding搜索Google,DuckDuckGo,SearXNG集成 |
| **语音** | 语音消息 → 转写(Whisper)→ 回复 |
| **任务** | 创建、执行和跟踪带优先级的任务 |
| **文档** | 上传、分块和语义搜索文档 |
| **SSH工具** | 检查服务器状态、Docker容器、读取文件 |
| **安全** | Bearer token认证、速率限制、Helmet中间件 |
## 🏗 架构
```
┌─────────────────────────────────────────────────┐
│ Frontend │
│ React + Vite + Tailwind CSS v4 │
│ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │
│ │ Chat │ │ OSINT│ │ RAG │ │Tasks │ │Config│ │
│ └──┬───┘ └──┬───┘ └──┬───┘ └──┬───┘ └──┬───┘ │
│ └────────┴─────────┴────────┴────────┘ │
│ │ │
│ useApi hook │
│ │ │
└───────────────────────┼──────────────────────────┘
│ REST API
┌───────────────────────┼──────────────────────────┐
│ Backend (server.ts) │
│ ┌──────────┐ ┌──────────┐ ┌─────────────────┐ │
│ │ Auth │ │ Routes │ │ TF-IDF RAG │ │
│ │Middleware│ │ /api/* │ │ Search Engine │ │
│ └──────────┘ └────┬─────┘ └─────────────────┘ │
│ │ │
│ ┌─────────────────┴──────────────────────┐ │
│ │ GoogleGenAI Client │ │
│ │ gemini-3.5-flash + Google Search │ │
│ └────────────────────────────────────────┘ │
│ │
│ JSON Persistence: documents.json, tasks.json │
└──────────────────────────────────────────────────┘
┌──────────────────────────────────────────────────┐
│ Telegram Bot (run.py) │
│ ┌───────┐ ┌────────┐ ┌──────┐ ┌──────────────┐ │
│ │Config │ │ Agent │ │ LLM │ │ Services │ │
│ │ .env │ │ v13.1 │ │Route │ │RAG│SSH│Search│ │
│ └───────┘ └────────┘ └──────┘ └──────────────┘ │
│ aiogram + Docker │
└──────────────────────────────────────────────────┘
```
### 项目结构
```
vika_ok/
├── server.ts # Express + Vite backend (web-dashboard)
├── run.py # Telegram bot entrypoint
├── src/
│ ├── App.tsx # Main React component (dashboard)
│ ├── main.tsx # React entry point
│ ├── types.ts # TypeScript типи
│ ├── index.css # Tailwind стилі
│ ├── components/ # React компоненти
│ │ ├── ChatTab.tsx # Чат з AI
│ │ ├── OSINTTab.tsx # OSINT аналітика
│ │ ├── RAGTab.tsx # Управління документами
│ │ ├── RAGVisualizer.tsx # Візуалізація чанків
│ │ ├── TasksTab.tsx # Завдання та нагадування
│ │ ├── SettingsTab.tsx # Налаштування та статус
│ │ ├── VoiceController.tsx # Голосовий ввід
│ │ └── TacticalLogs.tsx # Логи системи
│ ├── hooks/
│ │ └── useApi.ts # API client hook
│ ├── middleware/
│ │ └── auth.ts # Bearer token auth
│ ├── core/ # Python core (Telegram bot)
│ │ ├── config.py # Конфігурація (.env)
│ │ ├── agent.py # AI агент з function calling
│ │ ├── llm.py # LLM провайдери + retry/fallback
│ │ └── history.py # Історія чатів (JSON)
│ ├── handlers/
│ │ └── telegram.py # Telegram handlers
│ └── services/ # Python services
│ ├── rag.py # Qdrant векторний пошук
│ ├── search.py # DuckDuckGo / SearXNG
│ └── tools.py # SSH, OpenCode інструменти
├── docker-compose.yml # Docker orchestration
├── Dockerfile # Python bot container
├── .env.example # Environment template
└── requirements.txt # Python deps
```
### LLM后备链
```
DeepSeek (primary) ──→ Groq Llama3 ──→ Gemini 3.5 Flash ──→ Claude 3.5 Sonnet
│ │ │ │
3 retries 3 retries 3 retries 3 retries
exponential exponential exponential exponential
backoff backoff backoff backoff
```
每个提供商都通过环境变量自动检测。只有设置了API密钥的提供商才会被使用。
## 🚀 快速开始
### Docker(推荐)
```
# 1. Клонувати
git clone https://github.com/Redrock453/vika_ok.git
cd vika_ok
# 2. Створити .env
cp .env.example .env
# Заповнити ключі API
# 3. Запустити
docker compose up -d
```
### Web仪表板(TypeScript)
```
# 1. Встановити залежності
npm install
# 2. Створити .env.local
echo "GEMINI_API_KEY=your_key_here" > .env.local
# 3. Запустити dev server
npm run dev
```
打开 http://localhost:3000
### 生产构建
```
npm run build
npm run start
```
### Telegram机器人(Python)
```
python -m venv .venv
source .venv/bin/activate # Linux/Mac
# .venv\Scripts\activate # Windows
pip install -r requirements.txt
cp .env.example .env
python run.py
```
## 📡 API参考
### 聊天
```
POST /api/chat
Content-Type: application/json
Authorization: Bearer
由 [Redrock453](https://github.com/Redrock453) 用 ❤️ 制作
标签:AI API, AI技术, Docker, ESC4, OSINT, Python, Qdrant, RAG, React, Signal, Syscalls, Telegram, TypeScript, Web Dashboard, 人工智能, 任务管理, 信息分析, 向量搜索, 多代理编排, 多语言模型, 安全插件, 安全防御评估, 搜索引擎, 数据检索, 无后门, 智能助手, 用户模式Hook绕过, 自动化攻击, 语音交互, 语音合成, 语音识别, 请求拦截, 跨平台应用, 逆向工具, 集成开发