Skip to main content

Консольный клиент к OpenRouter API для Termux и Linux

Project description

orgpt

Консольная утилита для общения с моделями через OpenRouter из Termux или обычного Linux (Ubuntu и т.п.).

Установка

Termux

pkg update
pkg install python
# (опционально, но рекомендуется) чтобы orgpt getkey сразу открывал браузер:
pkg install termux-api
pip install ./orgpt          # из скачанной папки с проектом
# либо для настоящего AES-шифрования конфига вместо запасного шифра:
pip install "./orgpt[strong-crypto]"

Также поставь приложение Termux:API (F-Droid / Play Store) — без него termux-open-url не откроет браузер.

Linux (Ubuntu/Debian и т.п.)

python3 -m venv .venv && source .venv/bin/activate   # опционально
pip install ./orgpt
# или с настоящим шифрованием:
pip install "./orgpt[strong-crypto]"

После установки в PATH появится команда orgpt.

Команды

Все команды понимают вызов как с дефисом, так и без (orgpt help == orgpt -help).

Команда Что делает
orgpt help Список команд с описанием
orgpt getkey Открывает страницу получения API-ключа OpenRouter в браузере
orgpt bindkey <key> (алиасы setkey, savekey) Сохраняет API-ключ (перезаписывает старый, если уже был)
orgpt choosemodel Показывает список бесплатных моделей OpenRouter, просит выбрать номер
orgpt setrole [текст] Задаёт системную роль/характер ассистента
orgpt getanswer Просит ввести запрос и печатает ответ модели
orgpt status Показывает текущую модель/роль и замаскированный ключ

Типичный сценарий использования

orgpt getkey            # получаешь ключ на сайте
orgpt bindkey sk-or-... # сохраняешь его
orgpt choosemodel        # выбираешь бесплатную модель
orgpt setrole "Ты — лаконичный технический ассистент"
orgpt getanswer          # задаёшь вопрос

Где и как хранится конфиг

Файл лежит в ~/.config/orgpt/config.enc с правами доступа 600 (читать может только владелец — это основная защита, как у большинства CLI с API-ключами). Дополнительно содержимое шифруется ключом, который завязан на пользователя и машину:

  • если установлен пакет cryptography — используется настоящий Fernet (AES128-CBC + HMAC);
  • если пакета нет — используется запасной потоковый шифр на основе HMAC-SHA256 из стандартной библиотеки, чтобы пакет ставился без лишних зависимостей на Termux.

В обоих случаях это не plaintext-JSON: скопировать файл на другую машину и просто прочитать его не выйдет.

Идея на будущее

  • orgpt setrole без аргумента — интерактивный ввод; с аргументом — сразу текст роли, удобно для алиасов/скриптов.
  • Можно добавить orgpt history (лог последних запросов/ответов) или orgpt chat (диалоговый режим с памятью в рамках сессии) — сейчас каждый getanswer независим (без истории переписки).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

orgpt-0.1.0.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

orgpt-0.1.0-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file orgpt-0.1.0.tar.gz.

File metadata

  • Download URL: orgpt-0.1.0.tar.gz
  • Upload date:
  • Size: 10.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for orgpt-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2f51d262a5af20b937c416eacdf1f1b3a41bf4d52d045f9d6eb0110375ec7024
MD5 1a7dcabd9773e1dd9670d72e53c2ce58
BLAKE2b-256 aeed5b6c20de43b3262c33fe0bb2f18d8bbe3b85b5aea673481540a261fcc600

See more details on using hashes here.

File details

Details for the file orgpt-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: orgpt-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for orgpt-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6339d8ae6fe1e19d5d64f441eb3a1245eb8d1c60fbfcb6ec455d00f063ae52c6
MD5 ce042592557f73637406267e8ff47911
BLAKE2b-256 f50216389719bffdbc8ae0633e31f80103d1c1e50407d9c866934a2c3c2d7457

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page