Skip to main content

urok

Консольный помощник для учёбы. Объясняет темы, проверяет домашку, помогает разобраться в том, что не понял.

Работает сразу после установки: бэкенд — OpenCode Zen, модель space-bunny-free, ключ public. Ничего настраивать не нужно, ключ не нужен.

Ноль зависимостей — только стандартная библиотека Python.

Установка

pip install .

После установки в любой папке работает команда urok.

Запуск под конкретный урок

urok --grade 9 --subject физика

Модель сразу настроится на девятый класс и физику. Можно менять на лету: /system.

Команды

Команда Что делает
/help список команд
/exit выйти, Ctrl+D тоже
/clear забыть текущий диалог
/model какая модель сейчас
/model имя переключить модель прямо сейчас
/models список моделей на сервере
/base адрес сервера
/base адрес сменить сервер
/system показать или сменить системный промпт
/wipe удалить всю сохранённую историю
/load продолжить прошлую сессию (нужен --keep-history)
/sessions список сохранённых сессий
/copy скопировать последний ответ в буфер (Windows)

Ctrl+C во время ответа прерывает только этот ответ — диалог остаётся.

История по умолчанию не пишется

Закрыл консоль — на диске ничего не осталось. Проверено: папка ~/.urok не создаётся вообще, даже mkdir не вызывается. При выходе печатается проверка:

на диск ничего не записано, следов нет

Если папка всё же есть от прошлых запусков с --keep-history — выход скажет об этом прямо и предложит /wipe.

Запомнить диалог между запусками:

urok --keep-history

Тогда история пишется в ~/.urok/session-ГГГГММДД-ЧЧММСС.json, продолжить — urok --keep-history --load 1.

Что остаётся на диске помимо истории

Честно, чтобы не было сюрпризов. Пакет убирает за собой только историю диалога. Это остаётся и находится вне его досягаемости:

След Где Как убрать
сам пакет site-packages/urok pip uninstall urok
байт-код site-packages/urok/__pycache__ pip uninstall urok
история команд PowerShell ConsoleHost_history.txt Clear-History и удаление файла
сетевой лог DNS/прокси школной сети вне твоего контроля

Запросы к opencode.ai видны сетевому логу в любом случае — это происходит независимо от того, что лежит на диске. Эфемерный режим чистит локальные следы, а не сетевые.

Другие бесплатные модели

На Zen их несколько, все с суффиксом -free:

space-bunny-free          по умолчанию
deepseek-v4-flash-free
muse-spark-1.3-contributor-free
muse-spark-1.2-contributor-free
mimo-v2.5-free
nemotron-3-ultra-free
longcat-2.5-preview-free

Полный список: /models. Переключить: /model muse-spark-1.3-contributor-free или флагом urok --model deepseek-v4-flash-free.

Другой провайдер

Через флаги:

urok --base https://api.groq.com/openai/v1 --key gsk_... --model llama-3.3-70b-versatile

Или через переменные окружения, чтобы не светить ключ в истории:

set UROK_BASE_URL=https://api.groq.com/openai/v1
set UROK_API_KEY=gsk_...
set UROK_MODEL=llama-3.3-70b-versatile
urok

Подходит любой OpenAI-совместимый адрес: Groq, OpenAI, LM Studio, Ollama, llama.cpp на http://127.0.0.1:8080/v1.

Где лежат данные

История по умолчанию не пишется. С флагом --keep-history диалог сохраняется в ~/.urok/session-ГГГГММДД-ЧЧММСС.json, по строке на сообщение. Сменить папку: переменная UROK_HOME.

Настройка своего промпта

urok --system "Объясняй как пятикласснику, только формулы и короткие примеры."

Тесты

python tests/smoke.py

Поднимает фейковый API в потоке и прогоняет через него весь диалог.

Metadata

Release files for urok 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for urok 0.1.0
File Size Uploaded Provenance
urok-0.1.0.tar.gz 12.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for urok 0.1.0
File Interpreter ABI Platform
urok-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 24.5 kB

Release files / urok-0.1.0.tar.gz

Download URL urok-0.1.0.tar.gz
Size 12.7 kB
Tags Source
SHA-256 checksum
How to use checksums
a7b1cfa0d450dec91543272367318fdafa1e5ea1f671378895101b9d69e81d76
BLAKE2b-256 checksum
How to use checksums
90e56d7b6ed9ba294817f1670cb96916b924ba8681882afbfbf96a9614ba060a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.0

Release files / urok-0.1.0-py3-none-any.whl

Download URL urok-0.1.0-py3-none-any.whl
Size 11.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2d2eb2338fe9eb9119acdd6b025474df2e8a2fbe695f3a36c0abe5191962e310
BLAKE2b-256 checksum
How to use checksums
e4eaa756cdae98b67b0c1bf62d441438bf49aaf7ab5db49d3757c58973727736
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.0

Security for urok 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page