w1x-cli 3.5.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
w1x_cli-3.5.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 W1bbex
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
w1x_cli-3.5.0/PKG-INFO ADDED
@@ -0,0 +1,178 @@
1
+ Metadata-Version: 2.4
2
+ Name: w1x-cli
3
+ Version: 3.5.0
4
+ Summary: A fast, keyboard-first CLI terminal assistant for Ollama with Function Calling, Persistent Memory, and Python Sandbox.
5
+ Author: W1bbex
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/w1bbex/w1x-cli
8
+ Project-URL: Issues, https://github.com/w1bbex/w1x-cli/issues
9
+ Keywords: ollama,cli,terminal,ai,llm,chat,tools,python-sandbox
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: Environment :: Console
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Topic :: Software Development :: User Interfaces
21
+ Requires-Python: >=3.10
22
+ Description-Content-Type: text/markdown
23
+ License-File: LICENSE
24
+ Requires-Dist: ollama>=0.4.0
25
+ Requires-Dist: rich>=13.7.0
26
+ Requires-Dist: prompt_toolkit>=3.0.43
27
+ Requires-Dist: requests>=2.31.0
28
+ Requires-Dist: duckduckgo_search>=7.0.0
29
+ Dynamic: license-file
30
+
31
+ # 🚀 W1x CLI
32
+
33
+ > **A fast, keyboard-first CLI terminal client for Ollama with Function Calling, Persistent Memory, and Interactive Python Sandbox.**
34
+
35
+ ![Python](https://img.shields.io/badge/Python-3.10%2B-blue?logo=python)
36
+ ![Ollama](https://img.shields.io/badge/Ollama-Compatible-black?logo=ollama)
37
+ ![License](https://img.shields.io/badge/License-MIT-green)
38
+ ![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20Linux%20%7C%20macOS-brightgreen)
39
+
40
+ W1x — это легковесный, отзывчивый терминальный ассистент для локальных нейросетей Ollama.
41
+ Он превращает обычные локальные модели (Qwen, Llama, Gemma, DeepSeek) в полноценного автономного помощника с доступом в интернет, точными вычислениями, памятью между сессиями и интерактивной песочницей кода.
42
+
43
+ ---
44
+
45
+ ## ✨ Ключевые возможности
46
+
47
+ * 📦 **Интеллектуальный каталог и загрузчик моделей (`/pull`, `w1x pull`):**
48
+ * **Автоопределение железа (VRAM & RAM):** светофор нагрузки (🟢 Легко в GPU / 🟠 Частично в RAM / 🔴 Не потянет).
49
+ * **Фоновая загрузка и умная очередь:** загрузка в реальном времени со скоростью и процентами без зависания интерфейса.
50
+ * **Мастер первого запуска:** если моделей ещё нет, W1x автоматически подберёт стартовую модель под вашу видеокарту.
51
+ * 🔍 **Автономные инструменты (Function Calling):**
52
+ * **Поиск в интернете:** живой поиск через DuckDuckGo без API-ключей.
53
+ * **Точная дата и время:** вычисление дней недели, смещений и таймзон.
54
+ * **Калькулятор:** точные математические формулы через безопасное синтаксическое дерево.
55
+ * **Чтение файлов проекта:** безопасный доступ к рабочей папке через `/workspace`.
56
+ * 🐍 **Интерактивная песочница кода (`/testpy`):**
57
+ * Модель пишет код ➔ вы вводите `/testpy` ➔ открывается отдельная консоль ➔ вы тестируете ввод/вывод вживую ➔ полный лог тестирования автоматически возвращается в контекст нейросети.
58
+ * 🧠 **Долговременная память (`/memory`):**
59
+ * Запоминание фактов пользователя навсегда (`"Запомни: у меня есть кот Барсик"`).
60
+ * Автоматический стемминг падежей русского языка и умная подмешка в контекст.
61
+ * ⚡ **Мгновенный отклик и эргономика:**
62
+ * **Живой потоковый Markdown:** цветная подсветка синтаксиса, жирный текст и таблицы прямо во время генерации.
63
+ * **Фоновый прогрев моделей:** окно ввода открывается мгновенно, не блокируя терминал.
64
+ * **Мгновенный сброс VRAM (`Ctrl+Q`):** моментальная выгрузка всех моделей из видеопамяти в любую миллисекунду.
65
+ * **Удобные хоткеи:** `Shift+Enter` (многострочный ввод), `Ctrl+S` (отмена и возврат промпта), `Ctrl+X` (вырезать), `Ctrl+A` (выделить всё).
66
+ * 🔀 **Эскалация задач (`/agy`):**
67
+ * Быстрая локальная модель для повседневных задач + перенаправление сложных инженерных запросов старшей модели (Google Antigravity / Claude).
68
+
69
+ ---
70
+
71
+ ## 📦 Быстрая установка
72
+
73
+ ### Требования
74
+ 1. Установленный **[Ollama](https://ollama.com/)** (модели можно выбрать прямо при первом запуске W1x).
75
+ 2. **Python 3.10+**
76
+
77
+ ### Установка (Windows)
78
+
79
+ Просто запустите **`install.bat`** или выполните в терминале:
80
+
81
+ ```bash
82
+ git clone https://github.com/w1bbex/w1x-cli.git
83
+ cd w1x-cli
84
+ pip install -r requirements.txt
85
+ pip install -e .
86
+ ```
87
+
88
+ После этого команда **`w1x`** станет доступна в любом окне терминала!
89
+
90
+ ---
91
+
92
+ ## 🎮 Использование
93
+
94
+ Запуск ассистента:
95
+ ```bash
96
+ w1x
97
+ ```
98
+
99
+ Скачивание моделей через очередь в терминале:
100
+ ```bash
101
+ w1x pull qwen3.5:4b deepseek-r1:7b
102
+ ```
103
+
104
+ ### Горячие клавиши (Hotkeys)
105
+
106
+ | Сочетание | Действие |
107
+ | :--- | :--- |
108
+ | **`Enter`** | Отправить сообщение |
109
+ | **`Shift+Enter`** / **`Ctrl+Enter`** | Новая строка (многострочный ввод) |
110
+ | **`Ctrl+Q`** | **Мгновенный выход** и выгрузка всех моделей из VRAM |
111
+ | **`Ctrl+S`** | Отменить последний вопрос, удалить из памяти и вернуть в строку ввода |
112
+ | **`Ctrl+X`** | Вырезать выделенный текст (или всю строку) в буфер обмена |
113
+ | **`Ctrl+C`** | Скопировать выделение / остановить текущую генерацию |
114
+ | **`Ctrl+V`** | Вставить текст из буфера обмена |
115
+ | **`Ctrl+A`** | Выделить весь текст в поле ввода |
116
+ | **`Ctrl+Backspace`** / **`Ctrl+Delete`** | Удалить слово слева / справа |
117
+ | **`↑` / `↓`** | История введённых команд и сообщений |
118
+
119
+ ---
120
+
121
+ ## 💬 Команды чата (Slash Commands)
122
+
123
+ * **`/pull`** — открыть интерактивный каталог моделей и умную очередь загрузки.
124
+ * **`/config`** — интерактивная настройка контекста токенов, VRAM keep-alive и модели по умолчанию.
125
+ * **`/model`** — сменить текущую языковую модель из установленных.
126
+ * **`/models`** — показать список всех установленных в Ollama моделей.
127
+ * **`/new`**, **`/clear`** — начать новый диалог (очистить контекст).
128
+ * **`/testpy`** — протестировать последний сгенерированный Python-код в отдельной интерактивной консоли.
129
+ * **`/think`** — включить / выключить режим размышлений (`/think low|medium|high`).
130
+ * **`/workspace <путь>`** — подключить папку проекта для чтения файлов.
131
+ * **`/memory`** — показать сохранённые в долговременной памяти факты.
132
+ * **`/forget <текст>`** — удалить факт из долговременной памяти.
133
+ * **`/copy`** — скопировать последний ответ модели в буфер обмена.
134
+ * **`/save [имя]`** — сохранить диалог в Markdown-файл.
135
+ * **`/stats`** — включить подробную статистику скорости (токены/сек, время).
136
+ * **`/cls`** — очистить экран.
137
+ * **`/help`** — полная справка по командам.
138
+ * **`q`**, **`/exit`** — выгрузить модели и выйти.
139
+
140
+ ---
141
+
142
+ ## 📁 Структура проекта
143
+
144
+ ```
145
+ w1x-cli/
146
+ ├── w1x/
147
+ │ ├── app.py # Основной цикл REPL и слэш-команды
148
+ │ ├── config.py # Конфигурация, системные инструкции и пути (~/.w1x/)
149
+ │ ├── engine.py # Движок генерации ответов и Tool Loop
150
+ │ ├── memory.py # Память фактов и стемминг русского языка
151
+ │ ├── models.py # Управление Ollama и низкоуровневый перехватчик Ctrl+Q
152
+ │ ├── puller.py # Каталог моделей, автодетект VRAM и фоновая очередь
153
+ │ ├── terminal.py # Rich-рендеринг, prompt_toolkit и буфер обмена
154
+ │ ├── testpy.py # Интерактивный запуск и валидация Python (/testpy)
155
+ │ └── tools.py # Реализация инструментов (поиск, код, калькулятор)
156
+ ├── main.py # Точка входа для запуска
157
+ ├── pyproject.toml # Спецификация пакета и CLI-команда
158
+ ├── requirements.txt # Зависимости
159
+ ├── install.bat # Установщик в 1 клик для Windows
160
+ ├── run.bat # Лаунчер в 1 клик
161
+ ├── LICENSE # Лицензия MIT
162
+ ├── CONTRIBUTING.md # Руководство для контрибьюторов и баг-репорты
163
+ └── README.md # Документация
164
+ ```
165
+
166
+ ---
167
+
168
+ ## 🐛 Сообщить об ошибке и контакты
169
+
170
+ Нашли баг или хотите предложить улучшение?
171
+ * Создайте тикет в **[GitHub Issues](https://github.com/w1bbex/w1x-cli/issues)**.
172
+ * Подробности в файле [CONTRIBUTING.md](CONTRIBUTING.md).
173
+
174
+ ---
175
+
176
+ ## 📄 Лицензия
177
+
178
+ Проект распространяется под открытой лицензией **[MIT](LICENSE)**.
@@ -0,0 +1,148 @@
1
+ # 🚀 W1x CLI
2
+
3
+ > **A fast, keyboard-first CLI terminal client for Ollama with Function Calling, Persistent Memory, and Interactive Python Sandbox.**
4
+
5
+ ![Python](https://img.shields.io/badge/Python-3.10%2B-blue?logo=python)
6
+ ![Ollama](https://img.shields.io/badge/Ollama-Compatible-black?logo=ollama)
7
+ ![License](https://img.shields.io/badge/License-MIT-green)
8
+ ![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20Linux%20%7C%20macOS-brightgreen)
9
+
10
+ W1x — это легковесный, отзывчивый терминальный ассистент для локальных нейросетей Ollama.
11
+ Он превращает обычные локальные модели (Qwen, Llama, Gemma, DeepSeek) в полноценного автономного помощника с доступом в интернет, точными вычислениями, памятью между сессиями и интерактивной песочницей кода.
12
+
13
+ ---
14
+
15
+ ## ✨ Ключевые возможности
16
+
17
+ * 📦 **Интеллектуальный каталог и загрузчик моделей (`/pull`, `w1x pull`):**
18
+ * **Автоопределение железа (VRAM & RAM):** светофор нагрузки (🟢 Легко в GPU / 🟠 Частично в RAM / 🔴 Не потянет).
19
+ * **Фоновая загрузка и умная очередь:** загрузка в реальном времени со скоростью и процентами без зависания интерфейса.
20
+ * **Мастер первого запуска:** если моделей ещё нет, W1x автоматически подберёт стартовую модель под вашу видеокарту.
21
+ * 🔍 **Автономные инструменты (Function Calling):**
22
+ * **Поиск в интернете:** живой поиск через DuckDuckGo без API-ключей.
23
+ * **Точная дата и время:** вычисление дней недели, смещений и таймзон.
24
+ * **Калькулятор:** точные математические формулы через безопасное синтаксическое дерево.
25
+ * **Чтение файлов проекта:** безопасный доступ к рабочей папке через `/workspace`.
26
+ * 🐍 **Интерактивная песочница кода (`/testpy`):**
27
+ * Модель пишет код ➔ вы вводите `/testpy` ➔ открывается отдельная консоль ➔ вы тестируете ввод/вывод вживую ➔ полный лог тестирования автоматически возвращается в контекст нейросети.
28
+ * 🧠 **Долговременная память (`/memory`):**
29
+ * Запоминание фактов пользователя навсегда (`"Запомни: у меня есть кот Барсик"`).
30
+ * Автоматический стемминг падежей русского языка и умная подмешка в контекст.
31
+ * ⚡ **Мгновенный отклик и эргономика:**
32
+ * **Живой потоковый Markdown:** цветная подсветка синтаксиса, жирный текст и таблицы прямо во время генерации.
33
+ * **Фоновый прогрев моделей:** окно ввода открывается мгновенно, не блокируя терминал.
34
+ * **Мгновенный сброс VRAM (`Ctrl+Q`):** моментальная выгрузка всех моделей из видеопамяти в любую миллисекунду.
35
+ * **Удобные хоткеи:** `Shift+Enter` (многострочный ввод), `Ctrl+S` (отмена и возврат промпта), `Ctrl+X` (вырезать), `Ctrl+A` (выделить всё).
36
+ * 🔀 **Эскалация задач (`/agy`):**
37
+ * Быстрая локальная модель для повседневных задач + перенаправление сложных инженерных запросов старшей модели (Google Antigravity / Claude).
38
+
39
+ ---
40
+
41
+ ## 📦 Быстрая установка
42
+
43
+ ### Требования
44
+ 1. Установленный **[Ollama](https://ollama.com/)** (модели можно выбрать прямо при первом запуске W1x).
45
+ 2. **Python 3.10+**
46
+
47
+ ### Установка (Windows)
48
+
49
+ Просто запустите **`install.bat`** или выполните в терминале:
50
+
51
+ ```bash
52
+ git clone https://github.com/w1bbex/w1x-cli.git
53
+ cd w1x-cli
54
+ pip install -r requirements.txt
55
+ pip install -e .
56
+ ```
57
+
58
+ После этого команда **`w1x`** станет доступна в любом окне терминала!
59
+
60
+ ---
61
+
62
+ ## 🎮 Использование
63
+
64
+ Запуск ассистента:
65
+ ```bash
66
+ w1x
67
+ ```
68
+
69
+ Скачивание моделей через очередь в терминале:
70
+ ```bash
71
+ w1x pull qwen3.5:4b deepseek-r1:7b
72
+ ```
73
+
74
+ ### Горячие клавиши (Hotkeys)
75
+
76
+ | Сочетание | Действие |
77
+ | :--- | :--- |
78
+ | **`Enter`** | Отправить сообщение |
79
+ | **`Shift+Enter`** / **`Ctrl+Enter`** | Новая строка (многострочный ввод) |
80
+ | **`Ctrl+Q`** | **Мгновенный выход** и выгрузка всех моделей из VRAM |
81
+ | **`Ctrl+S`** | Отменить последний вопрос, удалить из памяти и вернуть в строку ввода |
82
+ | **`Ctrl+X`** | Вырезать выделенный текст (или всю строку) в буфер обмена |
83
+ | **`Ctrl+C`** | Скопировать выделение / остановить текущую генерацию |
84
+ | **`Ctrl+V`** | Вставить текст из буфера обмена |
85
+ | **`Ctrl+A`** | Выделить весь текст в поле ввода |
86
+ | **`Ctrl+Backspace`** / **`Ctrl+Delete`** | Удалить слово слева / справа |
87
+ | **`↑` / `↓`** | История введённых команд и сообщений |
88
+
89
+ ---
90
+
91
+ ## 💬 Команды чата (Slash Commands)
92
+
93
+ * **`/pull`** — открыть интерактивный каталог моделей и умную очередь загрузки.
94
+ * **`/config`** — интерактивная настройка контекста токенов, VRAM keep-alive и модели по умолчанию.
95
+ * **`/model`** — сменить текущую языковую модель из установленных.
96
+ * **`/models`** — показать список всех установленных в Ollama моделей.
97
+ * **`/new`**, **`/clear`** — начать новый диалог (очистить контекст).
98
+ * **`/testpy`** — протестировать последний сгенерированный Python-код в отдельной интерактивной консоли.
99
+ * **`/think`** — включить / выключить режим размышлений (`/think low|medium|high`).
100
+ * **`/workspace <путь>`** — подключить папку проекта для чтения файлов.
101
+ * **`/memory`** — показать сохранённые в долговременной памяти факты.
102
+ * **`/forget <текст>`** — удалить факт из долговременной памяти.
103
+ * **`/copy`** — скопировать последний ответ модели в буфер обмена.
104
+ * **`/save [имя]`** — сохранить диалог в Markdown-файл.
105
+ * **`/stats`** — включить подробную статистику скорости (токены/сек, время).
106
+ * **`/cls`** — очистить экран.
107
+ * **`/help`** — полная справка по командам.
108
+ * **`q`**, **`/exit`** — выгрузить модели и выйти.
109
+
110
+ ---
111
+
112
+ ## 📁 Структура проекта
113
+
114
+ ```
115
+ w1x-cli/
116
+ ├── w1x/
117
+ │ ├── app.py # Основной цикл REPL и слэш-команды
118
+ │ ├── config.py # Конфигурация, системные инструкции и пути (~/.w1x/)
119
+ │ ├── engine.py # Движок генерации ответов и Tool Loop
120
+ │ ├── memory.py # Память фактов и стемминг русского языка
121
+ │ ├── models.py # Управление Ollama и низкоуровневый перехватчик Ctrl+Q
122
+ │ ├── puller.py # Каталог моделей, автодетект VRAM и фоновая очередь
123
+ │ ├── terminal.py # Rich-рендеринг, prompt_toolkit и буфер обмена
124
+ │ ├── testpy.py # Интерактивный запуск и валидация Python (/testpy)
125
+ │ └── tools.py # Реализация инструментов (поиск, код, калькулятор)
126
+ ├── main.py # Точка входа для запуска
127
+ ├── pyproject.toml # Спецификация пакета и CLI-команда
128
+ ├── requirements.txt # Зависимости
129
+ ├── install.bat # Установщик в 1 клик для Windows
130
+ ├── run.bat # Лаунчер в 1 клик
131
+ ├── LICENSE # Лицензия MIT
132
+ ├── CONTRIBUTING.md # Руководство для контрибьюторов и баг-репорты
133
+ └── README.md # Документация
134
+ ```
135
+
136
+ ---
137
+
138
+ ## 🐛 Сообщить об ошибке и контакты
139
+
140
+ Нашли баг или хотите предложить улучшение?
141
+ * Создайте тикет в **[GitHub Issues](https://github.com/w1bbex/w1x-cli/issues)**.
142
+ * Подробности в файле [CONTRIBUTING.md](CONTRIBUTING.md).
143
+
144
+ ---
145
+
146
+ ## 📄 Лицензия
147
+
148
+ Проект распространяется под открытой лицензией **[MIT](LICENSE)**.
@@ -0,0 +1,42 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "w1x-cli"
7
+ version = "3.5.0"
8
+ description = "A fast, keyboard-first CLI terminal assistant for Ollama with Function Calling, Persistent Memory, and Python Sandbox."
9
+ readme = "README.md"
10
+ requires-python = ">=3.10"
11
+ license = { text = "MIT" }
12
+ authors = [
13
+ { name = "W1bbex" }
14
+ ]
15
+ keywords = ["ollama", "cli", "terminal", "ai", "llm", "chat", "tools", "python-sandbox"]
16
+ classifiers = [
17
+ "Development Status :: 4 - Beta",
18
+ "Environment :: Console",
19
+ "Intended Audience :: Developers",
20
+ "License :: OSI Approved :: MIT License",
21
+ "Operating System :: OS Independent",
22
+ "Programming Language :: Python :: 3",
23
+ "Programming Language :: Python :: 3.10",
24
+ "Programming Language :: Python :: 3.11",
25
+ "Programming Language :: Python :: 3.12",
26
+ "Programming Language :: Python :: 3.13",
27
+ "Topic :: Software Development :: User Interfaces",
28
+ ]
29
+ dependencies = [
30
+ "ollama>=0.4.0",
31
+ "rich>=13.7.0",
32
+ "prompt_toolkit>=3.0.43",
33
+ "requests>=2.31.0",
34
+ "duckduckgo_search>=7.0.0",
35
+ ]
36
+
37
+ [project.scripts]
38
+ w1x = "w1x.app:main"
39
+
40
+ [project.urls]
41
+ Homepage = "https://github.com/w1bbex/w1x-cli"
42
+ Issues = "https://github.com/w1bbex/w1x-cli/issues"
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,5 @@
1
+ """W1x — Персональный локальный ИИ."""
2
+
3
+ from .app import main
4
+ __version__ = "3.5"
5
+ __all__ = ["main"]