Metadata-Version: 2.4
Name: widdx
Version: 1.36.0
Summary: Build anything from your terminal — autonomous AI, zero API costs.
Author-email: Muhammad Muslih <mem3071990@gmail.com>
Project-URL: Homepage, https://github.com/widdx1990/widdx-cli
Project-URL: Repository, https://github.com/widdx1990/widdx-cli
Project-URL: Issues, https://github.com/widdx1990/widdx-cli/issues
Project-URL: Changelog, https://github.com/widdx1990/widdx-cli/blob/main/CHANGELOG.md
Keywords: ai,deepseek,cli,orchestration,agent,autonomous,coding-agent,terminal,arabic
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Code Generators
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: openai<3.0,>=1.68.0
Requires-Dist: click<9.0,>=8.1.0
Requires-Dist: rich<16.0,>=13.9.0
Requires-Dist: pyyaml<7.0,>=6.0.2
Requires-Dist: arabic-reshaper<4.0,>=3.0.0
Requires-Dist: python-bidi<1.0,>=0.6.7
Requires-Dist: prompt-toolkit<4.0,>=3.0.0
Requires-Dist: croniter<3.0,>=2.0.0
Requires-Dist: tomli<3.0,>=2.0.0; python_version < "3.11"
Requires-Dist: sentence-transformers<4.0,>=3.0.0
Requires-Dist: textual<9.0,>=2.0.0
Provides-Extra: dev
Requires-Dist: pytest<10.0,>=9.0.3; extra == "dev"
Requires-Dist: pytest-cov<7.0,>=5.0.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Requires-Dist: tiktoken<1.0,>=0.7.0; extra == "dev"
Requires-Dist: ruff<1.0,>=0.4.0; extra == "dev"
Provides-Extra: telegram
Requires-Dist: python-telegram-bot<22.0,>=20.0; extra == "telegram"
Provides-Extra: web
Requires-Dist: fastapi<1.0,>=0.104.0; extra == "web"
Requires-Dist: uvicorn<1.0,>=0.24.0; extra == "web"
Dynamic: license-file

<div align="center">

# ⚡ WIDDX CLI

### Build anything from your terminal — autonomous AI, zero API costs.

**DeepSeek V4 + Google Gemini + Cerebras + Groq + Mistral + Ollama + Free Models**

[![PyPI](https://img.shields.io/pypi/v/widdx?style=flat-square&color=00e5a0)](https://pypi.org/project/widdx/)
[![Python](https://img.shields.io/badge/Python-3.10+-blue?style=flat-square)](https://www.python.org/)
[![Version](https://img.shields.io/badge/Version-1.33.0-brightgreen?style=flat-square)](CHANGELOG.md)
[![Platforms](https://img.shields.io/badge/Platform-Windows%20%7C%20macOS%20%7C%20Linux%20%7C%20Raspberry%20Pi-orange?style=flat-square)]()
[![Downloads](https://img.shields.io/pypi/dm/widdx?style=flat-square&color=blue)](https://pypi.org/project/widdx/)
[![License](https://img.shields.io/badge/License-Proprietary-red?style=flat-square)]()

```bash
pip install widdx && widdx
```

*One command. No config. No API key needed.*

</div>

---

## 📦 Installation — All Operating Systems

### Windows
```powershell
pip install widdx
widdx
```

### macOS
```bash
pip3 install widdx
widdx
```

### Linux (Ubuntu / Debian / Fedora / Arch)
```bash
pip install widdx
# or isolated:
pipx install widdx
widdx
```

### Raspberry Pi
```bash
pip install widdx
widdx
```

### Android (Termux)
```bash
pkg install python git rust binutils
pip install --no-deps widdx
pip install openai click rich pyyaml textual arabic-reshaper python-bidi prompt-toolkit croniter
widdx web    # Web UI works best on mobile
```

### Web UI (Browser-based IDE)
```bash
pip install "widdx[web]"   # installs fastapi + uvicorn
widdx web                  # opens http://localhost:8520
# or inside TUI:
/web
```

### Optional: Add API keys for premium models
```bash
# Inside TUI:
/key deepseek sk-...        # DeepSeek V4 Pro
/key google   AIza...       # Google Gemini
/key groq     gsk_...       # Groq (fastest, free tier)
/key cerebras csk-...       # Cerebras (~3000 tok/s)
/key mistral  your-key...   # Mistral / Devstral (free)
```

---

## 🖥️ Usage

```bash
widdx                      # Launch interactive TUI
widdx "build API"          # Run a task directly
widdx web                  # Open browser-based Web UI
widdx web --port 9000      # Custom port
widdx bot                  # Start Telegram bot
widdx bot -d ~/my-project  # Telegram bot for specific project
```

### All management inside TUI via `/commands`:

| Command | Description |
|---------|-------------|
| `/help` | Show all commands |
| `/config` | Full configuration and API keys |
| `/check` | 14-point system diagnostics |
| `/key <provider> <key>` | Set API key |
| `/providers` | Manage AI providers |
| `/model` | Model info and session cost |
| `/index` | Build semantic index for codebase |
| `/web` | Start Web UI on localhost:8520 |
| `/upgrade` | Upgrade to latest version |
| `/spec [name]` | Spec-driven development workflow |
| `/agents <task>` | Multi-agent team (up to 8 agents) |
| `/plan <desc>` | Phased project planning |
| `/bootstrap <tech>` | Generate skills for a technology |
| `/git` | Git status |
| `/search <query>` | Search codebase |
| `/undo` | Undo last file change or chat clear |
| `/clear` | Clear conversation (Ctrl+Z to undo) |
| `/compact` | Summarize history to save context |
| `/memory` | Show project context |
| `/learn` | Self-learning ledger |

---

## 🤖 Telegram Bot — Control WIDDX from Anywhere

```bash
widdx bot                              # Start with TELEGRAM_BOT_TOKEN env var
widdx bot --token "123:abc"            # Pass token directly
widdx bot -d ~/my-project              # Work in specific project
```

Setup: Create a bot via [@BotFather](https://t.me/BotFather), set `TELEGRAM_BOT_TOKEN`.

---

## 🌐 Web UI — Browser-Based AI IDE

WIDDX v1.31.0+ ships a full **AI-powered IDE** in your browser:

```
┌──────────────────────────────────────────────────────────────────┐
│  WIDDX  │  opencode ▾  │────── Ready · opencode ──────│  ⚙ ⊞ ⎇  │
├─────────┬──────────────┬──────────────────────┬─────────────────┤
│ ⊟ Files │  Explorer    │   Monaco Editor      │  🗲 Artifacts   │
│ 🔍 Search│  ├─ src/     │   (syntax highlight) │  ├─ index.html  │
│ 🤖 Agents│  │  └─ main  │   ─────────────────  │  └─ styles.css  │
│ ⎇ Git   │  └─ tests/   │   xterm.js Terminal  ├─────────────────┤
│         │              │   $ npm run dev...   │  ✓ Steps (12)   │
├─────────┴──────────────┴──────────────────────┤  ├─ ✓ Read      │
│  Chat with AI                                 │  ├─ ✓ Write     │
│  ┌─────────────────────────────────────┐      │  └─ ⏳ Bash     │
│  │ Ask WIDDX to build, fix, analyze...│ ↑    │                 │
│  └─────────────────────────────────────┘      │                 │
└──────────────────────────────────────────────────────────────────┘
```

**Features:**
- 🗂️ **File Explorer** — browse, create, rename, delete with right-click menu
- ✏️ **Monaco Editor** — VS Code's editor with syntax highlighting + diff viewer
- 💻 **xterm.js Terminal** — real terminal showing live tool output
- 💬 **AI Chat** — WebSocket streaming with SSE fallback
- ⚡ **Multi-Agent Pipeline** — up to 8 parallel agents for complex tasks
- 🧠 **Semantic Index** — local code understanding (80MB model, zero API cost)
- 🗲 **Artifacts** — HTML previews, code files, reports with fullscreen viewer
- 📋 **Steps Timeline** — real-time tool execution tracking
- 🔄 **Compact/Undo** — compact history (Ctrl+Shift+C), undo clear (Ctrl+Z)
- 🏥 **Provider Health** — real-time provider status in status bar
- 🌙 **Dark / Light theme** toggle
- 📱 **Fully responsive** — works on mobile, tablet, desktop
- 🔒 **Bearer token auth** via `WIDDX_WEB_KEY` env var

```bash
# Start with auth:
WIDDX_WEB_KEY=mypassword widdx web

# Custom port, no browser:
widdx web --port 9000 --no-open
```

---

## 🛠️ Universal Tool System — AI Installs What It Needs

```
You: "scan this network for open ports"
AI:  "I need nmap. Installing..." → winget install nmap → scans

You: "convert all MP4 files to GIF"
AI:  "I need ffmpeg. Installing..." → brew install ffmpeg → converts
```

Supports: winget, choco, apt, brew, dnf, pacman, snap, flatpak, pip, npm, cargo, go install.

---

## 🏗️ Architecture

```
widdx/
├── cli.py                 # Entry point (TUI + web + bot + task)
├── config.py              # Configuration + provider management
├── key_manager.py         # Centralized API key management (10+ providers)
├── router/                # Multi-provider AI routing + streaming
├── tool_loop/             # Agent execution loop (Claude Code pattern)
├── tools/                 # File ops, shell, search, web, auto-install
├── pipeline/              # Adaptive depth-gated execution pipeline
├── memory/                # SQLite memory + repair patterns + learning
├── agent_factory/         # Dynamic multi-agent team design & execution
├── agents/                # 12 specialized domain agents
├── skills/                # 17 built-in skill files (.md)
├── hooks/                 # Lifecycle event hooks (Pre/PostToolUse)
├── verifier/              # Auto-fix verification loop (syntax → test → fix)
├── mcp/                   # MCP protocol (stdio + HTTP servers)
├── scaffolder/            # Project scaffolding
├── project_planner/       # Phased project planning + execution
├── repl/                  # TUI command handlers
├── ui/textual_app/        # Textual TUI (primary interface)
├── web/                   # FastAPI Web IDE
│   ├── routes.py          # API endpoints (50+ routes)
│   ├── auth.py            # Bearer token + rate limiting
│   ├── terminal.py        # PTY WebSocket terminal
│   └── static/
│       ├── script.js      # Full SPA (~4200 lines)
│       └── style.css      # Responsive dark/light theme (~3400 lines)
├── telegram_bot.py        # Telegram bot integration
├── semantic_index.py      # Local RAG (sentence-transformers)
├── evolution.py           # Decision evaluation + weight tracking
├── self_learning.py       # Pattern discovery from task history
└── repair_memory.py       # Known fix pattern storage
```

---

## ⚙️ Configuration

`~/.widdx/config.yaml`:

```yaml
models:
  architect:
    model: deepseek-v4-pro
  executor:
    model: deepseek-v4-flash
    max_tokens: 32768

pipeline:
  complex_threshold: 3

memory:
  db_path: ~/.widdx/memory.db
```

---

## 🔒 Security

- No `shell=True` — all commands use parsed argument lists
- Config files restricted to owner read/write (chmod 600)
- Web UI: path traversal prevention, rate limiting, Bearer token auth
- Hooks security checker blocks dangerous commands
- Audit logging for traceability

---

## 📄 License

**Proprietary.** © 2026 Muhammad Muslih — Widdx.

Commercial licensing: mem3071990@gmail.com

---

<div align="center">
🛠️ Built by <a href="https://github.com/widdx1990">Muhammad Muslih</a>
</div>

---

<div dir="rtl" align="right">

## 🇸🇦 عربي

### 📦 التثبيت على جميع الأنظمة

**Windows**
```powershell
pip install widdx
widdx
```

**macOS / Linux**
```bash
pip3 install widdx
widdx
```

**Android (Termux)**
```bash
pkg install python git rust binutils
pip install --no-deps widdx
pip install openai click rich pyyaml textual arabic-reshaper python-bidi prompt-toolkit croniter
widdx web
```

**واجهة الويب**
```bash
pip install "widdx[web]"
widdx web
```

### 🖥️ الاستخدام

```bash
widdx                      # تشغيل TUI التفاعلي
widdx "ابنِ API"           # مهمة مباشرة
widdx web                  # فتح واجهة الويب
widdx bot                  # تشغيل بوت تلغرام
```

كل الإدارة بداخل TUI عبر `/commands`:

| الأمر | الوصف |
|---|---|
| `/help` | كل الأوامر |
| `/config` | الإعدادات والمفاتيح |
| `/check` | فحص النظام (14 نقطة) |
| `/index` | بناء الفهرس الدلالي للمشروع |
| `/key deepseek sk-...` | إضافة مفتاح DeepSeek |
| `/key groq gsk_...` | إضافة مفتاح Groq |
| `/web` | تشغيل واجهة المتصفح |
| `/upgrade` | تحديث widdx |
| `/git` | حالة Git |

### 🌐 واجهة الويب (v1.33.0)

واجهة IDE كاملة في المتصفح تشمل:
- مستكشف الملفات مع قائمة السياق
- محرر Monaco (VS Code) مع Diff Viewer
- طرفية xterm.js تعرض مخرجات الأدوات مباشرة
- نظام Multi-Agent حتى 8 وكلاء للمهام المعقدة
- فهرس دلالي محلي (80MB نموذج)
- ضغط المحادثة (Compact) واسترجاع الحذف (Undo)
- حالة المزوّدين مباشرة في شريط الحالة
- دعم كامل للشاشات الصغيرة (موبايل)

### 🛠️ التثبيت التلقائي للأدوات

widdx يثبت أي أداة يحتاجها تلقائيًا. تطلب "امسح الشبكة" — يثبت nmap ويستخدمه.

### 📄 الترخيص

**احتكاري.** © 2026 محمد مصلح — Widdx.

للاستخدام التجاري: mem3071990@gmail.com

</div>
