Консольный клиент к 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
Release history Release notifications | RSS feed
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f51d262a5af20b937c416eacdf1f1b3a41bf4d52d045f9d6eb0110375ec7024
|
|
| MD5 |
1a7dcabd9773e1dd9670d72e53c2ce58
|
|
| BLAKE2b-256 |
aeed5b6c20de43b3262c33fe0bb2f18d8bbe3b85b5aea673481540a261fcc600
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6339d8ae6fe1e19d5d64f441eb3a1245eb8d1c60fbfcb6ec455d00f063ae52c6
|
|
| MD5 |
ce042592557f73637406267e8ff47911
|
|
| BLAKE2b-256 |
f50216389719bffdbc8ae0633e31f80103d1c1e50407d9c866934a2c3c2d7457
|