🚀 W1x CLI
A fast, keyboard-first CLI terminal client for Ollama with Function Calling, Persistent Memory, and Interactive Python Sandbox.
W1x — это легковесный, отзывчивый терминальный ассистент для локальных нейросетей Ollama.
Он превращает обычные локальные модели (Qwen, Llama, Gemma, DeepSeek) в полноценного автономного помощника с доступом в интернет, точными вычислениями, памятью между сессиями и интерактивной песочницей кода.
✨ Ключевые возможности
- 📦 Интеллектуальный каталог и загрузчик моделей (
/pull,w1x pull):- Автоопределение железа (VRAM & RAM): светофор нагрузки (🟢 Легко в GPU / 🟠 Частично в RAM / 🔴 Не потянет).
- Фоновая загрузка и умная очередь: загрузка в реальном времени со скоростью и процентами без зависания интерфейса.
- Мастер первого запуска: если моделей ещё нет, W1x автоматически подберёт стартовую модель под вашу видеокарту.
- 🔍 Автономные инструменты (Function Calling):
- Поиск в интернете: живой поиск через DuckDuckGo без API-ключей.
- Точная дата и время: вычисление дней недели, смещений и таймзон.
- Калькулятор: точные математические формулы через безопасное синтаксическое дерево.
- Чтение файлов проекта: безопасный доступ к рабочей папке через
/workspace.
- 🐍 Интерактивная песочница кода (
/testpy):- Модель пишет код ➔ вы вводите
/testpy➔ открывается отдельная консоль ➔ вы тестируете ввод/вывод вживую ➔ полный лог тестирования автоматически возвращается в контекст нейросети.
- Модель пишет код ➔ вы вводите
- 🧠 Долговременная память (
/memory):- Запоминание фактов пользователя навсегда (
"Запомни: у меня есть кот Барсик"). - Автоматический стемминг падежей русского языка и умная подмешка в контекст.
- Запоминание фактов пользователя навсегда (
- ⚡ Мгновенный отклик и эргономика:
- Живой потоковый Markdown: цветная подсветка синтаксиса, жирный текст и таблицы прямо во время генерации.
- Фоновый прогрев моделей: окно ввода открывается мгновенно, не блокируя терминал.
- Мгновенный сброс VRAM (
Ctrl+Q): моментальная выгрузка всех моделей из видеопамяти в любую миллисекунду. - Удобные хоткеи:
Shift+Enter(многострочный ввод),Ctrl+S(отмена и возврат промпта),Ctrl+X(вырезать),Ctrl+A(выделить всё).
- 🔀 Эскалация задач (
/agy):- Быстрая локальная модель для повседневных задач + перенаправление сложных инженерных запросов старшей модели (Google Antigravity / Claude).
📦 Быстрая установка
Требования
- Установленный Ollama (модели можно выбрать прямо при первом запуске W1x).
- Python 3.10+
Установка (Windows)
Просто запустите install.bat или выполните в терминале:
git clone https://github.com/w1bbex/w1x-cli.git
cd w1x-cli
pip install -r requirements.txt
pip install -e .
После этого команда w1x станет доступна в любом окне терминала!
🎮 Использование
Запуск ассистента:
w1x
Скачивание моделей через очередь в терминале:
w1x pull qwen3.5:4b deepseek-r1:7b
Горячие клавиши (Hotkeys)
| Сочетание | Действие |
|---|---|
Enter |
Отправить сообщение |
Shift+Enter / Ctrl+Enter |
Новая строка (многострочный ввод) |
Ctrl+Q |
Мгновенный выход и выгрузка всех моделей из VRAM |
Ctrl+S |
Отменить последний вопрос, удалить из памяти и вернуть в строку ввода |
Ctrl+X |
Вырезать выделенный текст (или всю строку) в буфер обмена |
Ctrl+C |
Скопировать выделение / остановить текущую генерацию |
Ctrl+V |
Вставить текст из буфера обмена |
Ctrl+A |
Выделить весь текст в поле ввода |
Ctrl+Backspace / Ctrl+Delete |
Удалить слово слева / справа |
↑ / ↓ |
История введённых команд и сообщений |
💬 Команды чата (Slash Commands)
/pull— открыть интерактивный каталог моделей и умную очередь загрузки./config— интерактивная настройка контекста токенов, VRAM keep-alive и модели по умолчанию./model— сменить текущую языковую модель из установленных./models— показать список всех установленных в Ollama моделей./new,/clear— начать новый диалог (очистить контекст)./testpy— протестировать последний сгенерированный Python-код в отдельной интерактивной консоли./think— включить / выключить режим размышлений (/think low|medium|high)./workspace <путь>— подключить папку проекта для чтения файлов./memory— показать сохранённые в долговременной памяти факты./forget <текст>— удалить факт из долговременной памяти./copy— скопировать последний ответ модели в буфер обмена./save [имя]— сохранить диалог в Markdown-файл./stats— включить подробную статистику скорости (токены/сек, время)./cls— очистить экран./help— полная справка по командам.q,/exit— выгрузить модели и выйти.
📁 Структура проекта
w1x-cli/
├── w1x/
│ ├── app.py # Основной цикл REPL и слэш-команды
│ ├── config.py # Конфигурация, системные инструкции и пути (~/.w1x/)
│ ├── engine.py # Движок генерации ответов и Tool Loop
│ ├── memory.py # Память фактов и стемминг русского языка
│ ├── models.py # Управление Ollama и низкоуровневый перехватчик Ctrl+Q
│ ├── puller.py # Каталог моделей, автодетект VRAM и фоновая очередь
│ ├── terminal.py # Rich-рендеринг, prompt_toolkit и буфер обмена
│ ├── testpy.py # Интерактивный запуск и валидация Python (/testpy)
│ └── tools.py # Реализация инструментов (поиск, код, калькулятор)
├── main.py # Точка входа для запуска
├── pyproject.toml # Спецификация пакета и CLI-команда
├── requirements.txt # Зависимости
├── install.bat # Установщик в 1 клик для Windows
├── run.bat # Лаунчер в 1 клик
├── LICENSE # Лицензия MIT
├── CONTRIBUTING.md # Руководство для контрибьюторов и баг-репорты
└── README.md # Документация
🐛 Сообщить об ошибке и контакты
Нашли баг или хотите предложить улучшение?
- Создайте тикет в GitHub Issues.
- Подробности в файле CONTRIBUTING.md.
📄 Лицензия
Проект распространяется под открытой лицензией MIT.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file w1x_cli-3.5.0.tar.gz.
File metadata
- Download URL: w1x_cli-3.5.0.tar.gz
- Upload date:
- Size: 63.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c81782fe7460a27ff860a7db3c4904037e9918613f2532407f05e0b814f1ce08
|
|
| MD5 |
1a926824bef88e3788abf0641b122c7f
|
|
| BLAKE2b-256 |
26ffbe629978b529a9d7a9bc57995a8f130198149723978a841088263beee12b
|
File details
Details for the file w1x_cli-3.5.0-py3-none-any.whl.
File metadata
- Download URL: w1x_cli-3.5.0-py3-none-any.whl
- Upload date:
- Size: 66.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d6ab88e27dd73aab96b4b3bc642a377f61b76173c5b1d4027b12656f76011bef
|
|
| MD5 |
55e1d8d6d984b07508edaed3ae9e4b3b
|
|
| BLAKE2b-256 |
3fef18008c3c0003eefb3c34e9d1b5e9bf019f9470756c6ea805a263c2af0e59
|